The Legendre PRF
The Legendre pseudo-random function is a PRF that is extremely well suited for secure multi-party computation (MPC) and zero-knowledge proofs (ZKP) over arithmetic circuits.
The Legendre pseudo-random function is a one-bit PRF defined using the Legendre symbol:
There are also variants of Legendre PRF with a higher degree, which replaces above with a univariate polynomial of degree two or more, where represents its coefficients.
Suitability for MPC
Thanks to a result by Grassi et al. (2016), we know that this PRF can be evaluated very efficiently in arithmetic circuit multi-party computations (MPCs). Due to the multiplicative property of the Legendre symbol, a multiplication by a random square does not change the result of an evaluation. By additionally blinding with a random bit, the Legendre symbol can be evaluated using only three multiplications, two of which can be done offline (before the input is known).
To compute the Legendre symbol for an input (square brackets indicate a shared value):
Choose a quadratic non-residue
Pre-compute a random square and a random bit
Open the value
Compute on the open value
The result of the computation is
Suitability for ZKP
Similarly, the evaluation of this PRF can be proved efficiently in ZKP over . Let be any quadratic nonresidue in . To validate for :
Prove in ZKP that
For , compute ; for , compute
Allocate as a witness to the ZKP protocol
Prove in ZKP that
Because of its suitability for MPCs, the Legendre PRF is used in a construction for the Ethereum 2.0 protocol. In order to encourage research in this PRF, we announced some bounties at Crypto'19. See bounties.
- On using the Legendre PRF as a proof of custody: Ethresearch post
- Concrete proof of custody construction (TBA)
- Damgård, Ivan Bjerre: On The Randomness of Legendre and Jacobi Sequences (1988)
- Lorenzo Grassi, Christian Rechberger, Dragos Rotaru, Peter Scholl, Nigel P. Smart: MPC-Friendly Symmetric Key Primitives (2016)
- Alexander Russell, Igor Shparlinski: Classical and Quantum Polynomial Reconstruction via Legendre Symbol Evaluation (2002)
- Dmitry Khovratovich: Key recovery attacks on the Legendre PRFs within the birthday bound (2019)
- Ward Beullens, Tim Beyne, Aleksei Udovenko, Giuseppe Vitto: Cryptanalysis of the Legendre PRF and generalizations (2019)
- Novak Kaluđerović, Thorsten Kleinjung and Dušan Kostić: Cryptanalysis of the generalised Legendre pseudorandom function (2020)