Skip to content

Commit

Permalink
test: test failure of incorrect last ronud poly
Browse files Browse the repository at this point in the history
  • Loading branch information
jan-ferdinand committed Apr 23, 2024
1 parent f8a59c5 commit 0fc7b7f
Showing 1 changed file with 23 additions and 1 deletion.
24 changes: 23 additions & 1 deletion triton-vm/src/fri.rs
Original file line number Diff line number Diff line change
Expand Up @@ -1085,6 +1085,28 @@ mod tests {
}
}

#[proptest]
fn incorrect_last_round_polynomial_results_in_verification_failure(
#[strategy(arbitrary_fri())] fri: Fri<Tip5>,
#[strategy(arbitrary_polynomial())] polynomial: Polynomial<XFieldElement>,
#[strategy(arb())] incorrect_coefficients: Vec<XFieldElement>,
) {
let codeword = fri.domain.evaluate(&polynomial);
let mut proof_stream = ProofStream::new();
fri.prove(&codeword, &mut proof_stream).unwrap();

let mut proof_stream = prepare_proof_stream_for_verification(proof_stream);
proof_stream.items.iter_mut().for_each(|item| {
if let ProofItem::FriPolynomial(coefficients) = item {
*coefficients = incorrect_coefficients.clone();
}
});

let verdict = fri.verify(&mut proof_stream, &mut None);
let_assert!(Err(err) = verdict);
assert!(let LastRoundPolynomialEvaluationMismatch = err);
}

#[proptest]
fn verifying_arbitrary_proof_does_not_panic(
#[strategy(arbitrary_fri())] fri: Fri<Tip5>,
Expand All @@ -1094,7 +1116,7 @@ mod tests {
}

#[proptest]
fn test_barycentric_evaluation(
fn polynomial_evaluation_and_barycentric_evaluation_are_equivalent(
#[strategy(1usize..13)] _log_num_coefficients: usize,
#[strategy(1usize..6)] log_expansion_factor: usize,
#[strategy(vec(arb(), 1 << #_log_num_coefficients))] coefficients: Vec<XFieldElement>,
Expand Down

0 comments on commit 0fc7b7f

Please sign in to comment.