Commit graph

653 commits

Author SHA1 Message Date
Jack Grigg
c713e804fa Update book to remove Halo 2 content 2021-03-03 22:45:30 +00:00
Jack Grigg
d40ed36d50 Move Pasta implementations into root 2021-03-03 21:59:08 +00:00
Jack Grigg
b36356667f Rename crate to pasta_curves and remove halo2 code 2021-03-03 21:59:08 +00:00
ebfull
ec38a06fbf
Merge pull request #226 from zcash/fix-curve-random
Fix Group::random implementation for Pallas and Vesta
2021-03-02 15:17:26 -07:00
str4d
5e05845936
Remove unnecessary identity check from Group::random impl
Co-authored-by: ebfull <ewillbefull@gmail.com>
2021-03-03 11:11:13 +13:00
Jack Grigg
62e50ae6bd Fix Group::random implementation for Pallas and Vesta
Also removes the broken CurveAffine::from_bytes_wide and unused
CurveAffine::to_bytes_wide methods.
2021-03-02 21:29:59 +00:00
ebfull
8122ef3d5d
Merge pull request #223 from zcash/cofactor-group
impl group::cofactor::CofactorGroup for Pallas and Vesta
2021-03-02 08:32:28 -07:00
Jack Grigg
0a4db20d82 impl group::cofactor::CofactorGroup for Pallas and Vesta
Prime-order groups can be treated as a group with a cofactor of 1,
allowing them to be used in cofactor-aware protocols like RedDSA.
2021-03-01 20:27:34 +00:00
str4d
63083e418c
Merge pull request #218 from zcash/minor-cleanups
Minor cleanups
2021-02-27 07:00:59 +13:00
Sean Bowe
504203654d
Disable clippy::{many_single_char_names,op_ref} lint in integration test. 2021-02-26 10:42:43 -07:00
Sean Bowe
cb59a40ff8
Move PLONK integration tests into the tests subdirectory. 2021-02-26 08:22:19 -07:00
Sean Bowe
ef86a936ff
Remove print statements from tests. 2021-02-26 08:22:13 -07:00
Sean Bowe
d92b1c4fb9
Relocate computation of the degree of the constraint system to the ConstraintSystem struct. 2021-02-26 08:22:05 -07:00
ebfull
4e7d4a0f64
Merge pull request #214 from zcash/sha-256
Example SHA-256 chip
2021-02-25 14:05:18 -07:00
Jack Grigg
a688c8b03d sha256: Fix / silence lints 2021-02-25 20:34:07 +00:00
Jack Grigg
2f21135e68 book: Note that none of the documented gadgets have been reviewed 2021-02-25 20:05:19 +00:00
Jack Grigg
e41fd7ca12 Move SHA-256 gadget and chip into examples 2021-02-25 20:01:44 +00:00
Jack Grigg
c64346467b Add Table16 circuit layout example 2021-02-25 20:01:44 +00:00
Jack Grigg
3fa36d7a60 Add test for circuit_dot_graph using SHA-256 2021-02-25 20:01:44 +00:00
therealyingtong
5f4a08898e SHA-256 benchmarks 2021-02-25 20:01:44 +00:00
therealyingtong
a5ac5b3ed3 Add Compression test 2021-02-25 20:01:44 +00:00
therealyingtong
46b5ddcc68 Compression subregion_digest assignments 2021-02-25 20:01:44 +00:00
therealyingtong
b47b2e436b Compression subregion_main assignments 2021-02-25 20:01:44 +00:00
therealyingtong
05c6ebd42d Compression subregion_initial assignments 2021-02-25 20:01:44 +00:00
therealyingtong
4d7c717107 Add utils for Compression assignments 2021-02-25 20:01:44 +00:00
therealyingtong
3778266eeb Add Compression gates 2021-02-25 20:01:44 +00:00
therealyingtong
5951ae6516 Add Compression 2021-02-25 20:01:44 +00:00
therealyingtong
f6af03c953 Add MessageSchedule test 2021-02-25 20:01:44 +00:00
therealyingtong
6f703d5cc3 MessageSchedule subregion3 assignments 2021-02-25 20:01:44 +00:00
therealyingtong
931d55a5bb MessageSchedule subregion2 assignments 2021-02-25 20:01:44 +00:00
therealyingtong
65f7707a28 MessageSchedule subregion1 assignments 2021-02-25 20:01:44 +00:00
therealyingtong
88379fa62f Add MessageSchedule gates and assign fixed column cells 2021-02-25 20:01:44 +00:00
therealyingtong
fc4f3576a0 Add utils for common MessageSchedule assignments 2021-02-25 20:01:44 +00:00
therealyingtong
feedffa2b2 Add MessageSchedule 2021-02-25 20:01:44 +00:00
therealyingtong
570f90e4ee SHA-256 chip that uses a 2^16 lookup table
Co-authored-by: Jack Grigg <jack@electriccoin.co>
2021-02-25 20:01:44 +00:00
str4d
e33fe2cb36
Merge pull request #213 from zcash/remove-ecc-gadget
Remove ECC gadgets and instructions
2021-02-26 07:30:19 +13:00
Jack Grigg
b4feff8272 Remove ECC gadgets and instructions
Migrated to the orchard crate:
https://github.com/zcash/orchard/pull/22
2021-02-25 18:17:50 +00:00
str4d
ecfd1dea91
Merge pull request #208 from zcash/selector-type
Add a Selector type
2021-02-26 05:01:32 +13:00
Jack Grigg
ed26c8924c Use Selector in simple-example 2021-02-25 15:40:49 +00:00
Jack Grigg
bd17c726ac Add a Selector type
This currently just wraps a `Column<Fixed>`, but enables us to start
writing circuits that can later have their selector usage optimised.
2021-02-25 15:28:29 +00:00
str4d
9467a03ae2
Merge pull request #209 from zcash/ecc-gadget-fixedpoints
Store `Loaded` chip state in chip
2021-02-26 04:24:28 +13:00
str4d
87362e22d4
Merge pull request #199 from zcash/upstream-perm-struct
Upstream Permutation struct into plonk::circuit
2021-02-26 04:24:00 +13:00
therealyingtong
4f17322c2d Allow Chip::load to return state that the Layouter will hold
This enables chips that e.g. want to load multiple lookup tables into
the same columns to store state about where each table was layed out.

Co-authored-by: Jack Grigg <jack@electriccoin.co>
2021-02-24 23:28:18 +08:00
therealyingtong
6cbf32c2cd Add FixedPoints type and trait to ECC gadget 2021-02-24 23:24:53 +08:00
ebfull
84c63e5e84
Merge pull request #205 from daira/document-msrv
Add documentation of Minimum Supported Rust Version.
2021-02-23 11:58:03 -07:00
therealyingtong
4ae21a905d Update tests 2021-02-24 00:21:12 +08:00
therealyingtong
5a341b0f8f Modify Assignment::copy() to take Column<Any> instead of usize 2021-02-24 00:18:22 +08:00
therealyingtong
d82a0c85b1 Modify Assignment::copy() to take Permutation instead of usize 2021-02-24 00:17:29 +08:00
therealyingtong
340fb2b6df Move Permutation struct from crate::circuit -> plonk::circuit 2021-02-24 00:17:29 +08:00
ebfull
20bd44f854
Merge pull request #191 from zcash/sha-256-gadget-namespacing
Alter the SHA-256 gadget to require namespacing
2021-02-23 08:49:03 -07:00