The Naor–Reingold pseudorandom function from Decisional Diffie–Hellman #
Over a PrimeOrderGroupFamily F, the Naor–Reingold pseudorandom function
([BS23], Section 10.11, Exercise 10.4, p. 424; [NR04], Section 4.1,
Construction 4.1 & Theorem 4.1) with key (α₀, α₁, …, αₙ) ∈ (ZMod q)ⁿ⁺¹ maps an n-bit input
x ∈ {0, 1}ⁿ to the group element
$$F_{\mathrm{NR}}((\alpha_0, \alpha_1, \dots, \alpha_n), (x_1, \dots, x_n)) := \left(\alpha_0 \cdot \prod_{i=1}^n \alpha_i^{x_i}\right) \bullet g.$$
Following Boneh–Shoup Exercises 10.4, 10.8, 10.11, and 4.18, we formalize:
- Algebraic and augmented-tree characterization (
naorReingoldEval,naorReingoldTreeEval):- The closed-form exponent product
naorReingoldExpand group evaluationnaorReingoldEval. - The single-step generator
naorReingoldPRG($G_{\mathrm{NR}}(\alpha, u) = (u, \alpha \bullet u)$) and augmented-tree foldnaorReingoldTreeEval, together withnaorReingoldTreeEval_eq_naorReingoldEval([BS23], Exercise 10.4(a), p. 424, and Exercise 4.18, p. 172). - The word-level evaluator
naorReingoldWordEval, its correctness theoremnaorReingoldWordEval_eq_encode, and its plain polynomial-time certificatecomputableInPolyTime_naorReingoldWordEval.
- The closed-form exponent product
- Fixed-$u$ DDH random self-reduction and Multi-DDH (I) (
ddhFixedURerandomize,multiDDHRerandomizeLaw):- Fixed-$u$ rerandomization $(u, v, w) \mapsto (u, \sigma \bullet g + \tau \bullet v, \sigma \bullet u + \tau \bullet w)$ ([BS23], Exercise 10.8, p. 425), its word-level
counterpart
ddhFixedUWordRerandomize, and the exact distributional lawsddhFixedURerandomizeLaw_real(Exercise 10.8(a)) andddhFixedURerandomizeLaw_ideal(Exercise 10.8(b)). - The $n = 1$ (single shared secret $\alpha$, $|\iota|$ pairs) Multi-DDH (I) reduction
multiDDHRerandomizeLaw([BS23], Exercise 10.11, p. 426), whose wrapper samples $|\iota|$ rerandomized pairs, provingmultiDDHRerandomizeLaw_real,multiDDHRerandomizeLaw_ideal, and the quantitative boundadvantage_multiDDH_le($\le \mathrm{DDHadv}[B] + 1 / q$).
- Fixed-$u$ rerandomization $(u, v, w) \mapsto (u, \sigma \bullet g + \tau \bullet v, \sigma \bullet u + \tau \bullet w)$ ([BS23], Exercise 10.8, p. 425), its word-level
counterpart
- Naor–Reingold PRF prefix hybrids and distributional security bound (
naorReingoldRealGame,naorReingoldIdealGame,naorReingoldHybridGame):- The adaptive oracle experiments
naorReingoldRealGame,naorReingoldIdealGame, and the depth-$k$ prefix hybridsnaorReingoldHybridGame($0 \le k \le n$), with exact endpoint identitiesnaorReingoldHybridGame_zeroandnaorReingoldHybridGame_self. - The distributional single-level DDH distinguisher
naorReingoldLevelDDHDistinguisher(which samples the $2^k$-entry prefix tableBitString k) and adjacent-hop boundadvantage_naorReingoldHybridGame_succ_le, the $n$-hybrid sum boundadvantage_naorReingold_le_sum, and the common-bound corollaryadvantage_naorReingold_le_mul($\le n \cdot (\varepsilon + 1 / q)$). The efficient lazy-samplingIsOraclePPTreduction andPseudorandomFunctionbridge are proved inNaorReingold.SecurityandNaorReingold.PRF.
- The adaptive oracle experiments
Main definitions #
Cslib.Crypto.PrimeOrderGroupFamily.naorReingoldExp,Cslib.Crypto.PrimeOrderGroupFamily.naorReingoldEval: the Naor–Reingold exponent product and PRF evaluation.Cslib.Crypto.PrimeOrderGroupFamily.naorReingoldPRG,Cslib.Crypto.PrimeOrderGroupFamily.naorReingoldStep,Cslib.Crypto.PrimeOrderGroupFamily.naorReingoldTreeEval: the single-step generator $G_{\mathrm{NR}}$ and augmented-tree evaluation.Cslib.Crypto.PrimeOrderGroupFamily.naorReingoldWordEval: polynomial-time evaluation on encoded group elements.Cslib.Crypto.PrimeOrderGroupFamily.ddhFixedURerandomize,Cslib.Crypto.PrimeOrderGroupFamily.ddhFixedURerandomizeLaw: fixed-$u$ DDH rerandomization (Boneh–Shoup Exercise 10.8).Cslib.Crypto.PrimeOrderGroupFamily.multiDDHRealTupleLaw,Cslib.Crypto.PrimeOrderGroupFamily.multiDDHIdealTupleLaw,Cslib.Crypto.PrimeOrderGroupFamily.multiDDHRerandomizeLaw: $n = 1$ Multi-DDH (I) distributions and rerandomization (Boneh–Shoup Exercise 10.11).Cslib.Crypto.PrimeOrderGroupFamily.naorReingoldRealGame,Cslib.Crypto.PrimeOrderGroupFamily.naorReingoldIdealGame,Cslib.Crypto.PrimeOrderGroupFamily.naorReingoldHybridGame: real, ideal, and prefix-hybrid adaptive PRF experiments.
Main results #
Cslib.Crypto.PrimeOrderGroupFamily.naorReingoldTreeEval_eq_naorReingoldEval: augmented-tree characterization of the Naor–Reingold PRF (Boneh–Shoup Exercise 10.4(a)).Cslib.Crypto.PrimeOrderGroupFamily.computableInPolyTime_naorReingoldWordEval: plain polynomial-time certificate for word-level Naor–Reingold evaluation.Cslib.Crypto.PrimeOrderGroupFamily.ddhFixedURerandomizeLaw_real,Cslib.Crypto.PrimeOrderGroupFamily.ddhFixedURerandomizeLaw_ideal: fixed-$u$ DDH random self-reduction (Boneh–Shoup Exercise 10.8).Cslib.Crypto.PrimeOrderGroupFamily.advantage_multiDDH_le: $n = 1$ Multi-DDH (I) reduction to DDH, sampling $|\iota|$ rerandomized pairs (Boneh–Shoup Exercise 10.11).Cslib.Crypto.PrimeOrderGroupFamily.advantage_naorReingoldHybridGame_succ_le,Cslib.Crypto.PrimeOrderGroupFamily.advantage_naorReingold_le_sum,Cslib.Crypto.PrimeOrderGroupFamily.advantage_naorReingold_le_mul: distributional prefix-hybrid security bounds for the Naor–Reingold PRF against the explicit $2^k$-pair PMF distinguishernaorReingoldLevelDDHDistinguisher(Boneh–Shoup Exercise 10.4(b); Naor–Reingold Theorem 4.1); seeNaorReingold.SecurityandNaorReingold.PRFfor the lazy-samplingIsOraclePPTreduction andPseudorandomFunctionbridge.
References #
- D. Boneh, V. Shoup, A Graduate Course in Applied Cryptography, Version 0.6, Section 4.11 (Exercise 4.18, p. 172) and Section 10.11 (Exercises 10.4, 10.8, 10.11, pp. 424–426).
- M. Naor, O. Reingold, Number-Theoretic Constructions of Efficient Pseudo-Random Functions, Section 4.1 (Construction 4.1 & Theorem 4.1).
Naor–Reingold PRF and augmented-tree characterization (Exercise 10.4(a) & Exercise 4.18) #
The Naor–Reingold exponent product α₀ * ∏ i : Fin n, if x i then α i else 1 in
ZMod (F.order d) ([BS23], Section 10.11, Exercise 10.4, p. 424;
[NR04], Section 4.1, Construction 4.1).
Instances For
The Naor–Reingold pseudorandom function
F_NR((α₀, α₁, …, αₙ), (x₁, …, xₙ)) = (α₀ * ∏ i, αᵢ^{xᵢ}) • g
([BS23], Section 10.11, Exercise 10.4, p. 424;
[NR04], Section 4.1, Construction 4.1).
Instances For
One step of the augmented tree construction ([BS23], Section 4.11, Exercise 4.18,
p. 172, and Section 10.11, Exercise 10.4(a), p. 424): select the false (u) or true (α • u)
child of naorReingoldPRG d α u.
Instances For
Augmented-tree evaluation of naorReingoldStep along a list of (key, bit) pairs starting
from an initial group element u.
Instances For
Augmented-tree evaluation of the Naor–Reingold PRF from root α₀ • g along (α i, x i) for
i : Fin n ([BS23], Exercise 10.4(a), p. 424, and Exercise 4.18, p. 172).
Instances For
Folding naorReingoldStep starting from β • u multiplies the scalar β by the product of
selected step exponents.
Boneh–Shoup Exercise 10.4(a): the augmented-tree construction naorReingoldTreeEval built
from naorReingoldPRG ($G_{\mathrm{NR}}(\alpha, u) = (u, \alpha \bullet u)$) coincides with
naorReingoldEval.
Word-level polynomial-time evaluation #
Casting naorReingoldProdNat to ZMod q equals acc times the product of selected step
exponents in ZMod q.
On an encoded group element F.encode d u, naorReingoldWordSuffix computes the encoding of
naorReingoldTreeFold.
Correctness of naorReingoldWordEval on an n-element exponent list αs and n-bit query
xs.
naorReingoldProdNat is computable in polynomial time.
naorReingoldWordSuffix is computable in polynomial time.
naorReingoldWordEval is computable in polynomial time.
Naor–Reingold PRF prefix hybrids and security reduction (Exercise 10.4(b)) #
Splitting naorReingoldSuffixExp at depth k < n into the k-th bit factor and the depth
k + 1 suffix.
Updating α at ⟨k, hk⟩ does not affect naorReingoldSuffixExp at depth k + 1.
Hybrid function at depth k: look up the k-bit prefix in B : BitString k → ZMod (F.order d)
and multiply by the remaining suffix exponent product from k to n.
Instances For
Run an adaptive oracle distinguisher adv against a deterministic function
fn : BitString n → F.Carrier d.
Instances For
The real Naor–Reingold PRF experiment at group d and input length n
([BS23], Section 10.11, Exercise 10.4, p. 424).
Instances For
The ideal random-function experiment at group d and input length n: a uniformly random
function BitString n → F.Carrier d represented via
B ← PMF.uniformOfFintype (BitString n → ZMod (F.order d)) and the bijection β ↦ β • g.
Instances For
The depth-k Naor–Reingold prefix-hybrid experiment ($0 \le k \le n$): queries share a
uniform random function B : BitString k → ZMod (F.order d) on k-bit prefixes and evaluate the
remaining suffix bits with α : Fin n → ZMod (F.order d)
([BS23], Exercise 10.4 & Exercise 4.18).
Instances For
At depth 0, naorReingoldHybridGame is the real Naor–Reingold PRF experiment.
At depth n, naorReingoldHybridGame is the ideal random-function experiment.
Evaluating the level-k child table T : BitString k → F.Carrier d × F.Carrier d followed by
the depth-(k + 1) suffix exponent product.
Instances For
Level-k Multi-DDH test induced by a Naor–Reingold PRF adversary adv: draw suffix exponents
α ← PMF.uniformOfFintype (Fin n → ZMod (F.order d)) and run adv against
naorReingoldTableEval.
Instances For
Single-level DDH distinguisher at depth k < n: given a candidate DDH triple (u, v, w),
rerandomize it into a BitString k-indexed family via multiDDHRerandomizeLaw and run
naorReingoldLevelTest.
Instances For
Under multiDDHRealTupleLaw, naorReingoldLevelTest reproduces naorReingoldHybridGame at
depth k.
Under multiDDHIdealTupleLaw, naorReingoldLevelTest reproduces naorReingoldHybridGame at
depth k + 1.
Single-level Naor–Reingold prefix-hybrid bound: for every k < n, the advantage between
naorReingoldHybridGame at depth k and depth k + 1 is at most the DDH distinguishing advantage
of naorReingoldLevelDDHDistinguisher d k hk adv plus (F.order d)⁻¹.
Total- parameterized level DDH distinguisher (returning PMF.pure false when k ≥ n).
Instances For
Naor–Reingold PRF distributional prefix-hybrid bound (∑ k < n bound,
[BS23], Exercise 10.4; [NR04], Theorem 4.1): the distinguishing advantage
between naorReingoldRealGame and naorReingoldIdealGame is bounded by the sum over
k ∈ Finset.range n of the DDH distinguishing advantages of the explicit 2^k-pair PMF
distinguisher naorReingoldLevelDDHDistinguisher (naorReingoldHopDDHDistinguisher) plus
n * (F.order d)⁻¹.
Common-bound Naor–Reingold PRF distributional prefix-hybrid bound
([BS23], Exercise 10.4; [NR04], Theorem 4.1): if for every k < n the
explicit 2^k-pair PMF distinguisher naorReingoldHopDDHDistinguisher d n k adv has DDH advantage
at most ε, then the Naor–Reingold PRF advantage is at most n * (ε + (F.order d)⁻¹).