[Resource Topic] 2021/645: Legendre PRF (Multiple) Key Attacks and the Power of Preprocessing

Welcome to the resource topic for 2021/645

Title:
Legendre PRF (Multiple) Key Attacks and the Power of Preprocessing

Authors: Alexander May, Floyd Zweydinger

Abstract:

Due to its amazing speed and multiplicative properties the Legendre PRF recently finds widespread applications e.g. in Ethereum 2.0, multiparty computation and in the quantum-secure signature proposal LegRoast. However, its security is not yet extensively studied. The Legendre PRF computes for a key k on input x the Legendre symbol L_k(x) = \left( \frac {x+k} {p} \right) in some finite field \F_p. As standard notion, PRF security is analysed by giving an attacker oracle access to L_k(\cdot). Khovratovich’s collision-based algorithm recovers k using L_k(\cdot) in time \sqrt{p} with constant memory. It is a major open problem whether this birthday-bound complexity can be beaten. We show a somewhat surprising wide-ranging analogy between the discrete logarithm problem and Legendre symbol computations. This analogy allows us to adapt various algorithmic ideas from the discrete logarithm setting. More precisely, we present a small memory multiple-key attack on m Legendre keys k_1, \ldots, k_m in time \sqrt{mp}, i.e. with amortized cost \sqrt{p/m} per key. This multiple-key attack might be of interest in the Ethereum context, since recovering many keys simultaneously maximizes an attacker’s profit. Moreover, we show that the Legendre PRF admits precomputation attacks, where the precomputation depends on the public p only – and not on a key k. Namely, an attacker may compute e.g. in precomputation time p^{\frac 2 3} a hint of size p^{\frac 1 3}. On receiving access to L_k(\cdot) in an online phase, the attacker then uses the hint to recover the desired key k in time only p^{\frac 1 3}. Thus, the attacker’s online complexity again beats the birthday-bound. In addition, our precomputation attack can also be combined with our multiple-key attack. We explicitly give various tradeoffs between precomputation and online phase. E.g. for attacking m keys one may spend time mp^{\frac 2 3} in the precomputation phase for constructing a hint of size m^2 p^{\frac 1 3}. In an online phase, one then finds {\em all m keys in total time} only p^{\frac 1 3}. Precomputation attacks might again be interesting in the Ethereum 2.0 context, where keys are frequently changed such that a heavy key-independent precomputation pays off.

ePrint: https://eprint.iacr.org/2021/645

See all topics related to this paper.

Feel free to post resources that are related to this paper below.

Example resources include: implementations, explanation materials, talks, slides, links to previous discussions on other websites.

For more information, see the rules for Resource Topics .