Commit Graph

396 Commits

Author SHA1 Message Date
Daira Hopwood c7a12ee178
Add documentation of perfect hash parameters. 2021-01-17 02:24:09 +00:00
Daira Hopwood adc3c9c2ea
Fix incorrect variable name in a comment.
Co-authored-by: str4d <thestr4d@gmail.com>
2021-01-17 01:52:49 +00:00
Daira Hopwood 288a21ef1e Replace the Tonelli-Shanks sqrt algorithm with the table-based one.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2021-01-14 02:34:43 +00:00
Daira Hopwood c5e48fdd06 Address @ebfull's review comments.
Co-authored-by: Sean Bowe <sean@electriccoin.co>
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2021-01-14 02:34:43 +00:00
Daira Hopwood af9834d68c Implement `sqrt_alt`, a more efficient way of doing `sqrt_ratio(num, one())`.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2021-01-14 02:34:43 +00:00
Daira Hopwood 806748fbc4 Use addition chains for powering by (T-1)/2.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2021-01-14 02:34:43 +00:00
Daira Hopwood 227025b7b3 Avoid exposing implementation details of the square root implementation.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2021-01-14 02:34:43 +00:00
Daira Hopwood e13ee2c8ff Add sqrt_ratio implementation.
Co-authored-by: Jack Grigg <jack@electriccoin.co>
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2021-01-14 02:34:43 +00:00
ebfull ccca639591
Merge pull request #111 from zcash/transcript-api-2
New Transcript API (and modified commitment scheme)
2021-01-13 16:50:47 -07:00
Sean Bowe 1f510016d8
Simplifications to some logic.
Co-authored-by: Jack Grigg <jack@electriccoin.co>
2021-01-13 15:51:48 -07:00
Sean Bowe 775151a67d
Change absorb_ to read_ in subprotocols. 2021-01-13 15:47:35 -07:00
Sean Bowe 9a26ef1acd
Refactor the Committed structure. 2021-01-13 15:44:37 -07:00
Sean Bowe cc6b0bb7f2
Rename blind to \xi for consistency. 2021-01-13 15:24:44 -07:00
Sean Bowe 47d021ceb3
Add reference to issue in TODO comment. 2021-01-13 08:41:14 -07:00
Daira Hopwood 5413049a10
Merge pull request #130 from daira/fix-w-numbering
[Book] Fix W numbering in SHA-256 table16 doc.
2021-01-13 12:15:28 +00:00
Daira Hopwood adf1c2f451
Merge pull request #113 from zcash/avoid-square-challenges
Avoid square challenges in inner product argument
2021-01-13 12:14:36 +00:00
Daira Hopwood 0caf66b261 [Book] Fix W numbering in SHA-256 table16 doc.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2021-01-12 21:50:24 +00:00
ebfull 1e4b449934
Merge pull request #125 from zcash/circuit-traits
Circuit component traits
2021-01-12 09:23:21 -07:00
Sean Bowe e1a772d6e1
Remove transcript forking API. 2021-01-12 07:40:31 -07:00
Sean Bowe f308eb969c
Remove deterministic square root calculation as it's no longer needed. 2021-01-12 07:40:26 -07:00
Sean Bowe 98c1d80c90
Avoid square challenges and forking in inner product argument
This modifies the scheme to be almost identical to the construction
outlined in Appenix A.2 of "Proof-Carrying Data from Accumulation
Schemes" (https://eprint.iacr.org/2020/499). The only remaining
difference is that we do not compute [v] U but instead subtract
[v] G_0 from the commitment before opening.
2021-01-12 07:40:20 -07:00
str4d 8ed9bb7bf3
Merge pull request #134 from zcash/book-design-sections
book: Reorganize design subsections
2021-01-12 10:32:34 +13:00
Jack Grigg afdb4a8981 book: Add design notes about implementation of proofs
Adapted from https://github.com/zcash/halo2/pull/111
2021-01-11 21:21:05 +00:00
Jack Grigg fb411b12e8 book: Reorganize design subsections 2021-01-11 21:07:45 +00:00
str4d 6d7e9afdb7
Merge pull request #133 from zcash/eli15
book: Add background material
2021-01-12 09:50:56 +13:00
Jack Grigg f8c5c2e28e book: Add background material
Co-authored-by: Sean Bowe <ewillbefull@gmail.com>
Co-authored-by: Daira Hopwood <daira@jacaranda.org>
Co-authored-by: ying tong <yingtong@z.cash>
2021-01-11 20:44:53 +00:00
ying tong 1b4b5a301b
Merge pull request #132 from zcash/book-patch-compression-2
[book] SHA-256: add compression digest gate
2021-01-11 23:57:07 +08:00
therealyingtong d23fcd1ccd [book] SHA-256: add compression digest gate 2021-01-11 23:56:23 +08:00
ying tong 42aebe01d8
Merge pull request #131 from zcash/book-patch-compression-1
[book] SHA-256 compression table patch
2021-01-11 01:30:25 +08:00
therealyingtong 34defb4577 Remove unnecessary spreads for a_new, e_new 2021-01-11 00:49:37 +08:00
therealyingtong c920bdf9a6 Split choice table into two tables 2021-01-11 00:22:07 +08:00
str4d 67c4790ce6
Merge pull request #129 from zcash/mdbook-update
Use mdbook 0.4.5
2021-01-09 15:44:16 +13:00
Jack Grigg 30b1c0c1ad Use mdbook 0.4.5
https://blog.rust-lang.org/2021/01/04/mdbook-security-advisory.html
2021-01-09 02:37:05 +00:00
ying tong c944268671
Merge pull request #128 from zcash/book-patch-compression
[book] sha256: Simplify compression region to reuse message schedule …
2021-01-09 01:30:28 +08:00
therealyingtong 42988ce1d0 [book] sha256: Simplify compression region to reuse message schedule gates 2021-01-09 01:29:16 +08:00
str4d 9612656fd6
Merge pull request #126 from zcash/mockprover-lint-fix
Remove unnecessary trailing semicolon
2021-01-08 15:27:46 +13:00
Jack Grigg d94e9b3daf Remove unnecessary trailing semicolon 2021-01-08 02:22:16 +00:00
Jack Grigg f24b60b5b0 Add a placeholder module for gadgets 2021-01-08 01:55:10 +00:00
Jack Grigg 7e2406cc77 Implement a simple single-chip layouter 2021-01-08 01:54:44 +00:00
Jack Grigg 17da891b25 General traits and structs for implementing circuits 2021-01-08 01:54:18 +00:00
str4d c968ea8091
Merge pull request #95 from zcash/mock-prover
Add MockProver for developing circuits
2021-01-08 11:40:18 +13:00
ying tong 2d81d762ad
Merge pull request #123 from zcash/book-patch-sha256-1
[book] sha-256: Remove superfluous fixed columns
2021-01-08 00:25:54 +08:00
therealyingtong 68166c27ac Remove superfluous selector columns 2021-01-08 00:24:21 +08:00
Jack Grigg 08da49353e Fix clippy lints in MockProver 2021-01-07 12:42:04 +00:00
Jack Grigg 8590211585 Remove unnecessary parts from MockProver per review comments 2021-01-06 21:52:56 +00:00
Jack Grigg 49f1598c0e Add example to MockProver documentation
Also fixes a bug in MockProver::verify (which was exposing an internal
implementation detail as an incorrect row numbering).
2021-01-06 21:52:56 +00:00
Jack Grigg 64b06735bf Expose MockProver in crate, and add documentation 2021-01-06 21:52:56 +00:00
therealyingtong fb939f17a9 Add permutation check to MockProver 2021-01-06 21:52:56 +00:00
Jack Grigg 6eebf3994b Add MockProver for developing circuits 2021-01-06 21:52:56 +00:00
Sean Bowe c8dedf2ec3
Fix challenge multiplications as per #119. 2021-01-06 10:47:06 -07:00