Summary
This release adds an abundance of features and comlex operations over a secret shared field. Notably these include:
- Shared polynomials and arithmetic on them: addition, subtraction, multiplication, division with remainder
- (i)FFTs on sequences of shared values
- Inversion and division with remainder of shared values
What's Changed
- algebra: Add sub-modular structure to
algebra
by @joeykraut in #23 - algebra: poly: Add
DensePolynomialResult
type and arithmetic by @joeykraut in #24 - algebra: poly: authenticated-poly: Add
AuthenticatedDensePoly
impl by @joeykraut in #25 - algebra: authenticated-poly: Implement shared polynomial floor division by @joeykraut in #27
- algebra: authenticated-scalar: Implement FFT and IFFT on shared values by @joeykraut in #28
- algebra: authenticated-scalar: Implement
pow
method by @joeykraut in #29 - gadgets: Add
prefix-product
implementation by @joeykraut in #30 - algebra: authenticated-scalar: Implement division and batch division by @joeykraut in #31
- algebra: authenticated-poly: Add
random
method for random shared polys by @joeykraut in #32 - algebra: scalar: Add interface to specify domain in FFT computation by @joeykraut in #33
- algebra: scalar: Implement
pow
onScalarResult
by @joeykraut in #34 - algebra: scalar: authenticated-scalar: Fix FFTs on values with public modifier by @joeykraut in #36
- algebra: scalar: Fix FFT over larger domain than input sequence by @joeykraut in #37
- fabric: executor: Remove recursion to avoid stack overflows by @joeykraut in #38
Full Changelog: v0.1.0...v0.1.2