From a4a48c74e92f37a6768189ea5decfc42a536a205 Mon Sep 17 00:00:00 2001 From: Alon Haramati <91828241+alonh5@users.noreply.github.com> Date: Wed, 20 Mar 2024 10:23:33 +0200 Subject: [PATCH] Add OODS verification error. (#502) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit This change is [Reviewable](https://reviewable.io/reviews/starkware-libs/stwo/502) --- src/core/prover/mod.rs | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) diff --git a/src/core/prover/mod.rs b/src/core/prover/mod.rs index 914a693b3..633abc55d 100644 --- a/src/core/prover/mod.rs +++ b/src/core/prover/mod.rs @@ -181,10 +181,11 @@ pub fn verify( &proof.trace_oods_values, random_coeff, ); - assert_eq!( - composition_polynomial_oods_value, - combine_secure_value(proof.composition_polynomial_column_oods_values) - ); + if composition_polynomial_oods_value + != combine_secure_value(proof.composition_polynomial_column_oods_values) + { + return Err(VerificationError::OodsNotMatching); + } channel.mix_felts(&proof.trace_oods_values.flatten()); channel.mix_felts(&proof.composition_polynomial_column_oods_values); @@ -303,6 +304,11 @@ pub enum ProvingError { #[derive(Clone, Copy, Debug, Error)] pub enum VerificationError { + #[error( + "The composition polynomial OODS value does not match the trace OODS values + (DEEP-ALI failure)." + )] + OodsNotMatching, #[error(transparent)] Fri(#[from] FriVerificationError), }