Name Description Size
dummy.rs Implementation of a dummy VDAF which conforms to the specification in [draft-irtf-cfrg-vdaf-06] but does nothing. Useful for testing. [draft-irtf-cfrg-vdaf-06]: https://datatracker.ietf.org/doc/draft-irtf-cfrg-vdaf/06/ 11384
poplar1.rs Implementation of Poplar1 as specified in [[draft-irtf-cfrg-vdaf-08]]. [draft-irtf-cfrg-vdaf-08]: https://datatracker.ietf.org/doc/draft-irtf-cfrg-vdaf/08/ 86654
prio2
prio2.rs Backwards-compatible port of the ENPA Prio system to a VDAF. 18916
prio3.rs Implementation of the Prio3 VDAF [[draft-irtf-cfrg-vdaf-08]]. **WARNING:** This code has not undergone significant security analysis. Use at your own risk. Prio3 is based on the Prio system desigend by Dan Boneh and Henry Corrigan-Gibbs and presented at NSDI 2017 [[CGB17]]. However, it incorporates a few techniques from Boneh et al., CRYPTO 2019 [[BBCG+19]], that lead to substantial improvements in terms of run time and communication cost. The security of the construction was analyzed in [[DPRS23]]. Prio3 is a transformation of a Fully Linear Proof (FLP) system [[draft-irtf-cfrg-vdaf-08]] into a VDAF. The base type, [`Prio3`], supports a wide variety of aggregation functions, some of which are instantiated here: - [`Prio3Count`] for aggregating a counter (*) - [`Prio3Sum`] for copmputing the sum of integers (*) - [`Prio3SumVec`] for aggregating a vector of integers - [`Prio3Histogram`] for estimating a distribution via a histogram (*) Additional types can be constructed from [`Prio3`] as needed. (*) denotes that the type is specified in [[draft-irtf-cfrg-vdaf-08]]. [BBCG+19]: https://ia.cr/2019/188 [CGB17]: https://crypto.stanford.edu/prio/ [DPRS23]: https://ia.cr/2023/130 [draft-irtf-cfrg-vdaf-08]: https://datatracker.ietf.org/doc/draft-irtf-cfrg-vdaf/08/ 81988
prio3_test.rs Tools for evaluating Prio3 test vectors. 9791
test_vec
xof.rs Implementations of XOFs specified in [[draft-irtf-cfrg-vdaf-08]]. [draft-irtf-cfrg-vdaf-08]: https://datatracker.ietf.org/doc/draft-irtf-cfrg-vdaf/08/ 21467