Commit graph

772 commits

Author SHA1 Message Date
ebfull
0bd744356a
Merge pull request #11 from zcash/remove-large-stack-allocations
Remove large temporary stack allocations from SqrtTables::new
2021-04-28 16:12:00 -06:00
Jack Grigg
ccbfaf6a20 Remove large temprary stack allocations from SqrtTables::new 2021-04-28 14:21:45 +12:00
Steven
376ba4eeca
Merge pull request #9 from steven-ecc/change-tgppl-to-bosl
Adding BOSL and changing TGPPL references to BOSL
2021-04-26 16:43:21 -07:00
Steven
e6a7d68a3e
Update Cargo.toml
Co-authored-by: ebfull <ewillbefull@gmail.com>
2021-04-26 16:43:07 -07:00
str4d
03fe608296
Merge pull request #5 from dignifiedquire/benches-fp-fq
bench: add baseline benches for Fp and Fq
2021-04-24 01:20:50 +01:00
str4d
b55a6960df
Merge pull request #10 from zcash/curveaffine-coordinates
Replace `(x, y)` tuple with `Coordinates` struct
2021-04-19 22:27:22 +01:00
Jack Grigg
b016b972f8 Replace (x, y) tuple with Coordinates struct
The previous `CurveAffine::get_xy` method returned the coordinates as
`CtOption<(C::Base, C::Base)>`. However, `ConditionallySelectable` is
not implemented for any tuple or array types, making it impossible to
use any of the useful `CtOption` methods like `and_then`. We replace it
with `CurveAffine::coordinates -> CtOption<Coordinates<Self>>` and
`impl ConditionallySelectable for Coordinates` to enable operating over
coordinates in constant time.
2021-04-18 09:21:18 +12:00
Steven Smith
82ddc0ebee Changing TGPPL references to BOSL 2021-04-16 09:50:44 -07:00
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
dignifiedquire
9e65e3a67d bench: add baseline benches for Fp and Fq 2021-03-10 14:46:28 +01: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