Commit graph

630 commits

Author SHA1 Message Date
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
ebfull
98896560fd
Merge pull request #203 from zcash/newtype-region-idx
Add circuit::RegionIndex and circuit::RegionStart newtypes
2021-02-23 08:20:19 -07:00
ebfull
20e336390e
Merge pull request #206 from zcash/book-sarkar
book: Move Sarkar explanation to implementation section
2021-02-23 08:19:18 -07:00
Jack Grigg
668bd8e89a book: Tidy up Sarkar explanation and make adjustments for clarity 2021-02-23 14:01:47 +00:00
Jack Grigg
b2d91140e7 book: Move Sarkar explanation into implementation section 2021-02-23 14:01:47 +00:00
Daira Hopwood
6f4c2dc0d7 Add documentation of Minimum Supported Rust Version.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2021-02-23 13:29:07 +00:00
ebfull
c5c0dbe190
Merge pull request #204 from zcash/parameter-gen
Generate parameters using hash to curve
2021-02-22 16:40:02 -07:00
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