Naor–Reingold pseudorandom function
In 1997, Moni Naor and Omer Reingold described efficient constructions for various cryptographic primitives in private key as well as public-key cryptography. Their result is the construction of an efficient pseudorandom function. Let p and l be prime numbers with Template:Nowrap, and select an element of multiplicative order l. Then for each (n+1)-dimensional vector they define the functionwhere Template:Nowrap is the bit representation of the integer x, Template:Nowrap, with some extra leading zeros if necessary.[1]
Example
Let Template:Nowrap and Template:Nowrap; then Template:Nowrap. Select of multiplicative order 3 (since Template:Nowrap). For Template:Nowrap, Template:Nowrap and Template:Nowrap (the bit representation of 5 is 101), we can compute Template:Nowrap as follows:
Efficiency
The evaluation of function Template:Nowrap in the Naor–Reingold construction can be done very efficiently: at any given point, it is comparable with one modular exponentiation and n modular multiplications. This function can be computed in parallel by threshold circuits of bounded depth and polynomial size.
The Naor–Reingold function can be used as the basis of many cryptographic schemes including symmetric encryption, authentication, and digital signatures.
Security of the function
Assume that an attacker sees several outputs of the function, such as and wants to compute . Assume for simplicity that ; then the attacker needs to solve the computational Diffie–Hellman (CDH) problem between and to get . In general, moving from to changes the bit pattern, and unless is a power of 2, one can split the exponent in so that the computation corresponds to computing the Diffie–Hellman key between two of the earlier results. This attacker wants to predict the next sequence element. Such an attack would be very bad—but it is also possible to fight it off by working in groups with a hard Diffie–Hellman problem (DHP).
Example
An attacker sees several outputs of the function, such as , as in the previous example, and . Then, the attacker wants to predict the next sequence element of this function, . However, the attacker cannot predict the outcome of from knowing and .
Other attacks could also be very bad for a pseudorandom number generator: the user expects to get random numbers from the output, so of course the stream should not be predictable, but even more, it should be indistinguishable from a random string. Let denote the algorithm with access to an oracle for evaluating the function . Suppose that the decisional Diffie–Hellman assumption holds for ; then Naor and Reingold show that for every probabilistic polynomial time algorithm and sufficiently large n,is negligible.
The first probability is taken over the choice of the seed , and the second probability is taken over the random distribution induced on by , instance generator, and the random choice of the function among the set of all functions.[2]
Linear complexity
One natural measure of how useful a sequence may be for cryptographic purposes is the size of its linear complexity. The linear complexity of an n-element sequence over a ring with is the length of the shortest linear recurrence relation where with , which is satisfied by this sequence.
For some and , for any and sufficiently large l, the linear complexity of the sequence , denoted by satisfiesfor all except possibly at most vectors .[3] The bound of this work has disadvantages; namely, it does not apply to the very interesting case
Uniformity of distribution
The statistical distribution of is exponentially close to uniform for almost all vectors .
Let be the discrepancy of the set . Thus, if is the bit length of , then for all vectors , the bound holds, whereandAlthough this property does not seem to have any immediate cryptographic implications, the inverse fact, namely non-uniform distribution, if true would have disastrous consequences for applications of this function.[4]
Sequences in elliptic curves
The elliptic-curve version of this function is also of interest. In particular, it may help to improve the cryptographic security of the corresponding system. Let be prime and let be an elliptic curve; then each vector defines a finite sequence in the subgroup aswhere is the bit representation of integer . The Naor–Reingold elliptic curve sequence is defined as[5]where is the abscissa of .
If the decisional Diffie–Hellman assumption holds, then index is not enough to compute in polynomial time, even if an attacker performs polynomially-many queries to a random oracle.
See also
- Decisional Diffie–Hellman assumption
- Finite field
- Inversive congruential generator
- Generalized inversive congruential pseudorandom numbers
Notes
- ↑ Naor, M., Reingold, O. "Number-theoretic constructions of efficient pseudo-random functions," Proc 38th IEEE Symp. on Foundations of Comp. Sci, (1997), 458–467.
- ↑ Boneh, Dan. "The Decision Diffie–Hellman Problem,"ANTS-III: Proceedings of the Third International Symposium on Algorithmic Number Theory,1998,48–63.
- ↑ Shparlinski, Igor E. "Linear Complexity of the Naor–Reingold pseudo-random function," Inform. Process Lett, 76 (2000), 95–99.
- ↑ Shparlinski, Igor E. "On the uniformity of distribution of the Naor–Reingold pseudo-random function," Finite Fields and Their Applications, 7 (2001), 318–326
- ↑ Cruz, M., Gomez, D., Sadornil, D. "On the linear complexity of the Naor–Reingold sequence with elliptic curves," Finite Fields and Their Applications, 16 (2010), 329–333