Commit 21df690
authored
VDAF-18 test vecs and Rhizomes math (#1400)
* use draft-irtf-cfrg-vdaf-18 test vectors
- update test vectors paths from "/15/" to "/18"
- change various variable names, field names from "prep", "prepare" to
"verifier", "verify"
We still have lots and lots of things throughout the crate called
"prepare" that should be "verify". This commit deliberately only deals
with the test vector code to keep the diff smaller.
* `flp`: Maintain polynomials in Lagrange basis
Update the implementation of fully linear proofs to do polynomial
multiplications and evaluations in the Lagrange basis, using algorithms
from Faz25 ([1]), as specified in draft-irtf-cfrg-vdaf-18 ([2]).
The most important changes are in:
- `flp::Flp::{prove, query, decide}`
- `flp::ProveShimGadget`
- `flp::QueryShimGadget`
- `flp::gadgets::Mul`
- `flp::gadgets::PolyEval`
Since we no longer need to precompute a multiplicative inverse,
`flp::Gadgets::Mul` is no longer generic over `FieldElement`, and
removing that generic parameter is reflected in a number of places in
the codebase.
Finally, in order to avoid an unnecessary copy, we make minor changes to
the interfaces in `mod polynomial`:
- `poly_mul_lagrange` now writes output to a provided output buffer
instead of allocating and returning `Vec<F>`
- `double_evaluations` (which returns its output as `Vec<F>`) is renamed
`get_double_evaluations` (matching the convention set in `mod ntt`)
and we add `double_evaluations` which writes output to a provided
buffer.
[1]: https://eprint.iacr.org/2025/1727.pdf
[2]: https://datatracker.ietf.org/doc/html/draft-irtf-cfrg-vdaf-18#name-polynomial-evaluation
Closes #13941 parent 02ce5db commit 21df690
File tree
73 files changed
+4480
-4518
lines changed- benches
- src
- flp
- types
- vdaf
- mastic
- prio3
- test_vec
- 15
- 18
- l1boundsum
Some content is hidden
Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.
73 files changed
+4480
-4518
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
20 | 20 | | |
21 | 21 | | |
22 | 22 | | |
23 | | - | |
24 | 23 | | |
25 | | - | |
26 | 24 | | |
27 | 25 | | |
28 | 26 | | |
| |||
81 | 79 | | |
82 | 80 | | |
83 | 81 | | |
84 | | - | |
85 | | - | |
86 | | - | |
87 | | - | |
88 | | - | |
89 | | - | |
90 | | - | |
91 | | - | |
92 | | - | |
93 | | - | |
94 | | - | |
95 | | - | |
96 | | - | |
97 | | - | |
98 | | - | |
99 | | - | |
100 | | - | |
101 | | - | |
102 | | - | |
103 | | - | |
104 | | - | |
105 | | - | |
106 | | - | |
107 | | - | |
108 | | - | |
109 | | - | |
110 | | - | |
111 | | - | |
112 | | - | |
113 | | - | |
114 | | - | |
115 | | - | |
116 | | - | |
117 | | - | |
118 | | - | |
119 | | - | |
120 | | - | |
121 | | - | |
122 | 82 | | |
123 | 83 | | |
124 | 84 | | |
| |||
1022 | 982 | | |
1023 | 983 | | |
1024 | 984 | | |
1025 | | - | |
| 985 | + | |
1026 | 986 | | |
1027 | | - | |
| 987 | + | |
1028 | 988 | | |
1029 | 989 | | |
This file was deleted.
0 commit comments