Commit graph

663 commits

Author SHA1 Message Date
ebfull
5ef94023a3
Merge pull request #8 from daira/daira-update-hashtocurve
Update hash_to_field to correct a discrepancy with the Hashing to Elliptic Curves Internet Draft
2021-04-01 16:19:50 -06:00
Daira Hopwood
a1194672c5 Update hash_to_field to correct a discrepancy with the Hashing to Elliptic Curves Internet Draft
pointed out in the NCC audit.

Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2021-03-27 14:39:39 +00:00
str4d
0a6b2f6eb5
Merge pull request #2 from zcash/clippy-fixes
Clippy fixes
2021-03-05 11:44:01 +13:00
str4d
5b325c0b5e
Merge pull request #3 from zcash/pasta_curves-crate
Extract pasta_curves crate from halo2 crate
2021-03-05 11:40:40 +13:00
Jack Grigg
311b087ff1 book: Fix broken links 2021-03-04 14:02:12 +00:00
Jack Grigg
a46c4d8a0a CI: Remove unnecessary --all flag
We aren't in a workspace here.
2021-03-03 22:49:52 +00:00
Jack Grigg
c713e804fa Update book to remove Halo 2 content 2021-03-03 22:45:30 +00:00
Jack Grigg
901ef2381e clippy: Allow binary operators in Mul impls for curves
We use binary operators specifically to implement constant-time scalar
multiplication.
2021-03-03 22:00:22 +00:00
Jack Grigg
a3921fd38c clippy: Allow too-many-arguments on F*::montgomery_reduce
We need to reduce from eight limbs to four, so we need eight arguments.
2021-03-03 22:00:22 +00:00
Jack Grigg
c13fc16ead clippy: Allow single-character names where necessary 2021-03-03 22:00:22 +00:00
Jack Grigg
b06937103d clippy: Use *Assign to implement arithmetic::Group trait 2021-03-03 22:00:22 +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