-
Notifications
You must be signed in to change notification settings - Fork 37
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Sinsemilla chip with HashDomain #67
Commits on Jun 19, 2021
-
ecc::chip.rs: Add Point::from_coordinates_unchecked() API
Co-authored-by: Jack Grigg <jack@electriccoin.co>
Configuration menu - View commit details
-
Copy full SHA for 83eddd8 - Browse repository at this point
Copy the full SHA 83eddd8View commit details -
gadget::sinsemilla.rs: Add Sinsemilla instructions.
SinsemillaInstructions has two const generic parameters: K, which is the number of bits in each word of the hash, and MAX_WORDS, which is the maximum number of words the hash can process. For Orchard, K = 10, MAX_WORDS = 253.
Configuration menu - View commit details
-
Copy full SHA for af2ac76 - Browse repository at this point
Copy the full SHA af2ac76View commit details -
sinsemilla::message.rs: Add message module.
This defines a Sinsemilla message in terms of pieces and subpieces. This is useful when decomposing field elements and packing them into K-bit messages.
Configuration menu - View commit details
-
Copy full SHA for e2859df - Browse repository at this point
Copy the full SHA e2859dfView commit details -
sinsemilla::chip.rs: Add Sinsemilla chip.
The chip that will implement SinsemillaInstructions.
Configuration menu - View commit details
-
Copy full SHA for ebb7dae - Browse repository at this point
Copy the full SHA ebb7daeView commit details -
chip::generator_table.rs: Load Sinsemilla generator lookup table.
The 2^K table of generators used in the Sinsemilla hash. These are loaded into a lookup table.
Configuration menu - View commit details
-
Copy full SHA for 74e617b - Browse repository at this point
Copy the full SHA 74e617bView commit details -
sinsemilla::chip.rs: Implement witness_message_* APIs.
witness_message() witnesses a full message given a bitstring. The other two APIs, witness_message_piece_bitstring() and witness_message_piece_field(), both witness a message piece, i.e. part of a message that fits within a single base field element. witness_message_piece_bitstring() takes in a bitstring, while witness_message_piece_field() takes in a field element. In the latter case, the number of words encoded must be specified.
Configuration menu - View commit details
-
Copy full SHA for 7cddc9b - Browse repository at this point
Copy the full SHA 7cddc9bView commit details -
Configuration menu - View commit details
-
Copy full SHA for f122e48 - Browse repository at this point
Copy the full SHA f122e48View commit details -
Configuration menu - View commit details
-
Copy full SHA for eba2172 - Browse repository at this point
Copy the full SHA eba2172View commit details -
Configuration menu - View commit details
-
Copy full SHA for 158ab86 - Browse repository at this point
Copy the full SHA 158ab86View commit details -
Configuration menu - View commit details
-
Copy full SHA for 2f6ca9e - Browse repository at this point
Copy the full SHA 2f6ca9eView commit details
Commits on Jun 20, 2021
-
generator_table.rs: Fix bug in y_p lookup expression.
Also, GeneratorTable::configure() was not being called in the main SinsemillaChip::configure(), which meant the lookup argument had not been activated. This has now been fixed. Co-authored-by: Jack Grigg <jack@electriccoin.co>
Configuration menu - View commit details
-
Copy full SHA for 9072ed4 - Browse repository at this point
Copy the full SHA 9072ed4View commit details -
SinsemillaChip::configure(): Introduce closures for Y_A and x_r
These expressions are derived multiple times in the gates. Co-authored-by: Jack Grigg <jack@electriccoin.co>
Configuration menu - View commit details
-
Copy full SHA for 031bb0b - Browse repository at this point
Copy the full SHA 031bb0bView commit details -
hash_to_point(): Introduce final_piece boolean flag
This toggles the assignment of q_s2 on the last row of each piece. We assign q_s2 = 2 on the last row of the final piece, and q_s2 = 0 on the last row of other pieces. This allows us to process the final_piece in the main loop together with the other pieces. Co-authored-by: Jack Grigg <jack@electriccoin.co>
Configuration menu - View commit details
-
Copy full SHA for 9ce29d9 - Browse repository at this point
Copy the full SHA 9ce29d9View commit details -
hash_piece(): Remove (correct) duplicate assignment of x_a.
hash_piece() is an internal API, which means its caller hash_message() is working in the same region. We rely on the caller to have already assigned each piece's initial x_a at the correct offset before making the call to hash_piece(). Co-authored-by: Jack Grigg <jack@electriccoin.co>
Configuration menu - View commit details
-
Copy full SHA for eccd72f - Browse repository at this point
Copy the full SHA eccd72fView commit details -
SinsemillaChip::configure(): Combine and label gates.
The gates "Secant line" and "Sinsemilla gate" were using the same selectors and could be combined. Co-authored-by: Jack Grigg <jack@electriccoin.co>
Configuration menu - View commit details
-
Copy full SHA for 744f3d1 - Browse repository at this point
Copy the full SHA 744f3d1View commit details -
Co-authored-by: Daira Hopwood <daira@jacaranda.org> Co-authored-by: Jack Grigg <jack@electriccoin.co>
Configuration menu - View commit details
-
Copy full SHA for 002596f - Browse repository at this point
Copy the full SHA 002596fView commit details -
Configuration menu - View commit details
-
Copy full SHA for 5f5238f - Browse repository at this point
Copy the full SHA 5f5238fView commit details -
Configuration menu - View commit details
-
Copy full SHA for a01c2ee - Browse repository at this point
Copy the full SHA a01c2eeView commit details -
SinsemillaChip::configure(): Merge "Initial y_q" gate with main gate
This allows the MockProver to see the fixed_y_q query as semantically connected to q_sinsemilla1. Co-authored-by: Jack Grigg <jack@electriccoin.co>
Configuration menu - View commit details
-
Copy full SHA for bd08808 - Browse repository at this point
Copy the full SHA bd08808View commit details
Commits on Jun 21, 2021
-
Rename "Sinsemilla gate" constraint to "y check".
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
Configuration menu - View commit details
-
Copy full SHA for 8af8447 - Browse repository at this point
Copy the full SHA 8af8447View commit details