-
Notifications
You must be signed in to change notification settings - Fork 192
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
fix: make range check protocol sound by moving word value evaluation …
…into sumcheck (#440) # Rationale for this change Currently, the prover in the range check protocol establishes a column of values from 0 to the max value that a word can be represented by, in the case of bytes, 256. This is unsound because the prover could send commitments to any values and the protocol would successfully verify, when it is crucial that the word values be the sequentially represented values that fit inside of the word (in the case of bytes, this is a column containing all values from 0..256). This PR moves this step of word value calculation into the actual sumcheck machinery, ensuring that the correct values are produced during protocol execution. # What changes are included in this PR? - [x] Add a new ```rho_256_evaluation``` field to the ```SumcheckMleEvaluations``` struct - [x] Alter ```SumcheckMleEvaluations``` constructor to produce the ```rho_256_evaluation``` evaluations - [x] Alter the range check verifier to consume the ```rho_256_evaluation```, assuming that the ```FirstRoundBuilder``` correctly executes the ```produce_one_evaluation_length``` function in a gadget or test expression. # Are these changes tested? Yes, by existing tests
- Loading branch information
Showing
4 changed files
with
32 additions
and
4 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters