Commit Graph

797 Commits

Author SHA1 Message Date
ebfull 2e8af8f0ca
Merge pull request #198 from zcash/book-sarkar
[book] Add Sarkar sqrt explanation to Fields section
2021-02-22 16:39:23 -07:00
Sean Bowe 12230a49e0
Move CURVE_ID to CurveExt. 2021-02-22 16:30:05 -07:00
Sean Bowe 75bb8121fb
Switch to domain prefix based on what is suggested in #182 by @daira. 2021-02-22 16:13:11 -07:00
Sean Bowe 1078f854e3
Remove BLAKE2B_PERSONALIZATION constant. 2021-02-22 15:53:22 -07:00
Sean Bowe 5503517ac1
Produce URS using `hashtocurve` logic. 2021-02-22 15:50:01 -07:00
Sean Bowe df8dcce042
Add CurveExt and AffineExt associated types to project Group trait implementations.
Co-authored-by: Jack Grigg <jack@electriccoin.co>
2021-02-22 15:47:57 -07:00
ebfull a7b9ca44f8
Merge pull request #202 from zcash/group-traits
Migrate to group traits
2021-02-22 13:37:02 -07:00
Jack Grigg b4ed5295fe Migrate to group traits
The `Curve` trait is now `CurveExt: group::prime::PrimeCurve`, and
`CurveAffine` is now `CurveAffine: group::prime::PrimeCurveAffine`.

There is no `CurveAffine` trait in `group`, and it's a widely-used
trait in this crate, so we don't rename it to `CurveAffineExt`.
2021-02-22 20:20:23 +00:00
Jack Grigg 55fb581f17 Define hash-to-curve over Curve, not CurveAffine
This removes an unnecessary layer of indirection from the type system,
and ensures that these APIs depend on the halo2-specific trait with the
extensions we require.
2021-02-22 20:12:10 +00:00
Jack Grigg 082d66d6e7 pasta: Reorganize the curve macro
This will make the migration to group easier to review.
2021-02-22 20:05:12 +00:00
Jack Grigg 7037d55320 Rename Curve and CurveAffine properties to match group traits 2021-02-22 20:05:08 +00:00
Jack Grigg 81a7936d99 pasta: Split halo2-specific curve-specific logic into a separate macro 2021-02-22 18:53:27 +00:00
ebfull 627d729836
Merge pull request #136 from daira/hash-to-curve
Hash to curve
2021-02-22 10:24:36 -07:00
Sean Bowe e93de2c285
Avoid heap allocations within hash_to_curve. 2021-02-22 10:15:30 -07:00
Daira Hopwood 16e5f96f3f Fix a clippy lint.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2021-02-22 16:02:38 +00:00
Daira Hopwood e408a351d5 Remove a redundant bool::from.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2021-02-21 21:43:11 +00:00
Daira Hopwood 7dc21f4727 Repair test vectors and add tests for map_to_curve_simple_swu.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2021-02-21 21:01:19 +00:00
Daira Hopwood 24def7ce02 Fix case where the input to map_to_curve_simple_swu is 0, and remove unneeded B_OVER_ZA constants.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2021-02-21 21:00:50 +00:00
Daira Hopwood 704a6c3637 Remove unneeded sha3 dependency.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2021-02-21 00:45:33 +00:00
Daira Hopwood 642aad68a3
Revert comment changes that are no longer relevant, now that we don't expose the isogenous curves in the API 2021-02-20 21:54:50 +00:00
Daira Hopwood a14eccc13d Remove unused hash support for Pasta Fp and Fq.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2021-02-20 21:51:32 +00:00
therealyingtong 84f732acb4 Add circuit::RegionIndex and circuit::RegionStart newtypes 2021-02-20 21:26:42 +08:00
Daira Hopwood 8b8dbbe2bb Refine type of buf in hash_to_field as suggested by @ebfull.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2021-02-19 15:52:11 +00:00
Daira Hopwood 6d8c899e16 Rename map_to_curve to map_to_curve_simple_swu.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2021-02-19 15:52:11 +00:00
Daira Hopwood 785ad5375c Switch from XOF:SHAKE128 to XMD:BLAKE2b.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2021-02-19 15:52:11 +00:00
Daira Hopwood 25ea5d07f7 Fix error in doc comment.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2021-02-19 15:52:11 +00:00
Daira Hopwood 9aa3327a0a Fix clippy lints.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2021-02-19 15:52:11 +00:00
Sean Bowe c17cd408f1 Fix point doubling on isogenous curve and add test for isogeny of identity. 2021-02-19 15:52:11 +00:00
Sean Bowe a757bc4e43 Update hashtocurve benchmark 2021-02-19 15:52:11 +00:00
Sean Bowe d14d2314a1 Remove isogenous curve from public API. 2021-02-19 15:52:11 +00:00
Sean Bowe b488355e13 Add example to hash_to_curve doc comment. 2021-02-19 15:52:11 +00:00
Sean Bowe dc069dff31 Rename hasher to hash_to_curve. 2021-02-19 15:52:11 +00:00
Sean Bowe f6f008f905 Remove `MINUS_B_OVER_A` constant. 2021-02-19 15:52:11 +00:00
Sean Bowe c48229ce0f Remove dependency on byteorder crate 2021-02-19 15:52:11 +00:00
Sean Bowe 783e602e85 Remove `SimplifiedSWUWithDegree3Isogeny` structure because state is no longer necessary. 2021-02-19 15:52:11 +00:00
Sean Bowe 83e2656c3e Introduce Curve::hasher abstraction. 2021-02-19 15:52:11 +00:00
Sean Bowe 68a7a19d3b Move hashtocurve module into pasta module. 2021-02-19 15:52:11 +00:00
Sean Bowe b134a73ef5 Hardcode isogeny constants and constants for hash to curve. 2021-02-19 15:52:11 +00:00
Sean Bowe 5b33ff9cab Consolidate the hashtocurve module traits into a single structure. 2021-02-19 15:52:11 +00:00
Sean Bowe e4e8aef5b6 Simplify HashToCurve trait. 2021-02-19 15:52:11 +00:00
Daira Hopwood db11c47045 Apply suggestions from code review
Co-authored-by: ying tong <yingtong@z.cash>
2021-02-19 15:52:11 +00:00
Daira Hopwood fa3afc29bb Add an implementation of simplified SWU hash-to-curve.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2021-02-19 15:52:11 +00:00
str4d c9b606212e
Merge pull request #196 from daira/book-improvements
Book improvements
2021-02-20 04:19:40 +13:00
str4d e7562a471a
Merge pull request #200 from zcash/fix-bench-plonk
Update bench::plonk to work with multi-proof prover
2021-02-19 23:18:09 +13:00
therealyingtong e98dba8521 Update bench::plonk to work with multi-proof prover 2021-02-19 15:46:32 +08:00
Jack Grigg 6717594c46 book: Render gtab and invtab as matrices 2021-02-19 01:13:16 +00:00
therealyingtong b148c34c10 [book] Add Sarkar sqrt explanation to Fields section 2021-02-19 00:21:05 +00:00
Daira Hopwood 4d61ad8ff5 Need a borrow here.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2021-02-18 23:50:19 +00:00
ebfull fb6111df5b
Merge pull request #176 from zcash/general-lookup
Generalise lookup argument to work over expressions
2021-02-18 16:32:48 -07:00
Daira Hopwood e2f20770bb Edits from pairing with @str4d. This fixes an error in Z_P for the equality constraint argument,
and also errors in the circuit commitments section.

Co-authored-by: Jack Grigg <jack@electriccoin.co>
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2021-02-18 23:27:42 +00:00