Naor–Reingold Pseudorandom Function
   HOME

TheInfoList



OR:

In 1997,
Moni Naor Moni Naor ( he, מוני נאור) is an Israeli Israeli may refer to: * Something of, from, or related to the State of Israel * Israelis, citizens or permanent residents of the State of Israel * Modern Hebrew, a language * ''Israeli'' (news ...
and
Omer Reingold Omer Reingold ( he, עומר ריינגולד) is an Israeli computer scientist. He is the Rajeev Motwani professor of Computer Science in the Computer Science Department at Stanford University and the director of thSimons Collaboration on the Th ...
described efficient constructions for various
cryptographic primitive Cryptographic primitives are well-established, low-level cryptographic algorithms that are frequently used to build cryptographic protocols for computer security systems. These routines include, but are not limited to, one-way hash functions and ...
s in private key as well as
public-key cryptography Public-key cryptography, or asymmetric cryptography, is the field of cryptographic systems that use pairs of related keys. Each key pair consists of a public key and a corresponding private key. Key pairs are generated with cryptographic alg ...
. Their result is the construction of an efficient
pseudorandom function In cryptography, a pseudorandom function family, abbreviated PRF, is a collection of efficiently-computable functions which emulate a random oracle in the following way: no efficient algorithm can distinguish (with significant advantage) betwee ...
. Let ''p'' and ''l'' be
prime number A prime number (or a prime) is a natural number greater than 1 that is not a product of two smaller natural numbers. A natural number greater than 1 that is not prime is called a composite number. For example, 5 is prime because the only ways ...
s with ''l'' , ''p''−1. Select an element ''g'' ∈ ^* of
multiplicative order In number theory, given a positive integer ''n'' and an integer ''a'' coprime to ''n'', the multiplicative order of ''a'' modulo ''n'' is the smallest positive integer ''k'' such that a^k\ \equiv\ 1 \pmod n. In other words, the multiplicative order ...
''l''. Then for each ''(n+1)''-dimensional
vector Vector most often refers to: *Euclidean vector, a quantity with a magnitude and a direction *Vector (epidemiology), an agent that carries and transmits an infectious pathogen into another living organism Vector may also refer to: Mathematic ...
''a'' = (''a''''0'''',a''''1'', ..., ''a''''n'')∈ (\mathbb F_)^ they define the function :f_(x) = g^ \in \mathbb F_p where ''x'' = ''x''''1'' ... ''x''''n'' is the bit representation of integer ''x'', 0 ≤ ''x'' ≤ 2''n''−1, with some extra leading zeros if necessary.


Example

Let ''p'' = 7 and ''l'' = 3; so ''l'' , ''p''−1. Select ''g'' = 4 ∈ ^* of multiplicative order 3 (since 43 = 64 ≡ 1 mod 7). For ''n'' = 3, ''a'' = (1, 1, 2, 1) and ''x'' = 5 (the bit representation of 5 is 101), we can compute f_(5) as follows: :f_(x) = g^ \in \mathbb F_p :f_(5) = 4^ = 4^ = 4 \in \mathbb F_7


Efficiency

The evaluation of function f_(x) in the Naor–Reingold construction can be done very efficiently. Computing the value of the function f_(x) at any given point is comparable with one
modular exponentiation Modular exponentiation is exponentiation performed over a modulus. It is useful in computer science, especially in the field of public-key cryptography, where it is used in both Diffie-Hellman Key Exchange and RSA public/private keys. Modular ...
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 Cryptography, or cryptology (from grc, , translit=kryptós "hidden, secret"; and ''graphein'', "to write", or '' -logia'', "study", respectively), is the practice and study of techniques for secure communication in the presence of adve ...
schemes including
symmetric encryption Symmetric-key algorithms are algorithms for cryptography that use the same cryptographic keys for both the encryption of plaintext and the decryption of ciphertext. The keys may be identical, or there may be a simple transformation to go between th ...
,
authentication Authentication (from ''authentikos'', "real, genuine", from αὐθέντης ''authentes'', "author") is the act of proving an assertion, such as the identity of a computer system user. In contrast with identification, the act of indicati ...
and
digital signatures A digital signature is a mathematical scheme for verifying the authenticity of digital messages or documents. A valid digital signature, where the prerequisites are satisfied, gives a recipient very high confidence that the message was created b ...
.


Security of the function

Assume that an attacker sees several outputs of the function, e.g. f_(1) = g^, f_(2) = g^, f_(3) = g^, ... f_(k) = g^ and wants to compute f_(k + 1). Assume for simplicity that ''x''1 = 0, then the attacker needs to solve the computational Diffie–Hellman (CDH) between f_a (1)= g^ and f_(k) = g^ to get f_(k+1) = g^. In general, moving from ''k'' to ''k'' + 1 changes the bit pattern and unless ''k'' + 1 is a power of 2 one can split the exponent in f_(k + 1) 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 In mathematics, a sequence is an enumerated collection of objects in which repetitions are allowed and order matters. Like a set, it contains members (also called ''elements'', or ''terms''). The number of elements (possibly infinite) is calle ...
element. Such an attack would be very bad—but it's also possible to fight it off by working in
groups A group is a number of persons or things that are located, gathered, or classed together. Groups of people * Cultural group, a group whose members share the same cultural identity * Ethnic group, a group whose members share the same ethnic iden ...
with a hard
Diffie–Hellman problem The Diffie–Hellman problem (DHP) is a mathematical problem first proposed by Whitfield Diffie and Martin Hellman in the context of cryptography. The motivation for this problem is that many security systems use one-way functions: mathematical o ...
(DHP). Example: An attacker sees several outputs of the function e.g. f_(5) = 4^ = 4^ = 4 , as in the previous example, and f_(1) = 4^ = 4^ = 4 . Then, the attacker wants to predict the next sequence element of this function, f_(6). However, the attacker cannot predict the outcome of f_(6) from knowing f_(1) and f_(5). There are other attacks that would be very bad for a
pseudorandom number generator A pseudorandom number generator (PRNG), also known as a deterministic random bit generator (DRBG), is an algorithm for generating a sequence of numbers whose properties approximate the properties of sequences of random numbers. The PRNG-generate ...
: 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 \mathcal^f denote the algorithm \mathcal with access to an oracle for evaluating the function f_(x) . Suppose the
decisional Diffie–Hellman assumption The decisional Diffie–Hellman (DDH) assumption is a computational hardness assumption about a certain problem involving discrete logarithms in cyclic groups. It is used as the basis to prove the security of many cryptographic protocols, most notab ...
holds for \mathbb F_p , Naor and Reingold show that for every probabilistic polynomial time algorithm \mathcal and sufficiently large ''n'' : \text mathcal^(p,g) \to 1- \text mathcal^ (p,g)\to 1 is negligible. The first probability is taken over the choice of the seed s = (p, g, a) and the second probability is taken over the random distribution induced on p, g by \mathcal\mathcal (n) , instance generator, and the random choice of the function R_(x) among the set of all \^ \to \mathbb F_p functions.


Linear complexity

One natural measure of how useful a sequence may be for
cryptographic Cryptography, or cryptology (from grc, , translit=kryptós "hidden, secret"; and ''graphein'', "to write", or '' -logia'', "study", respectively), is the practice and study of techniques for secure communication in the presence of adve ...
purposes is the size of its linear complexity. The linear complexity of an ''n''-element sequence W(''x''), ''x'' = 0,1,2,...,''n'' – 1, over a ring \mathcal is the length ''l'' of the shortest linear
recurrence relation In mathematics, a recurrence relation is an equation according to which the nth term of a sequence of numbers is equal to some combination of the previous terms. Often, only k previous terms of the sequence appear in the equation, for a parameter ...
W(''x'' + ''l'') = A''l''−1 W(''x'' +''l''−1) + ... + A0 W(''x''), ''x'' = 0,1,2,..., ''n'' – ''l'' −1 with A0, ..., A''l''−1 \mathcal, which is satisfied by this sequence. For some \gamma > 0,''n'' ≥ (1+ \gamma) \log l, for any \delta > 0 , sufficiently large ''l'', the linear complexity of the sequence f_(x),0 ≤ x ≤ 2n-1, denoted by L_a satisfies :L_ \geqslant \begin l^ &\text \gamma\,\! \geqslant 2\\ l^ &\text \gamma\,\! < 2 \end for all except possibly at most 3(l - 1)^ vectors a ∈ (\mathbb F_)^ . The bound of this work has disadvantages, namely it does not apply to the very interesting case \log p \approx \log n \approx


Uniformity of distribution

The statistical distribution of f_(x) is exponentially close to uniform distribution for almost all vectors ''a'' ∈ (\mathbb F_)^ . Let _a be the discrepancy of the set \. Thus, if n = \log p is the bit length of ''p'' then for all vectors a ∈ (\mathbb F_)^ the bound _a\leq \Delta (l,p) holds, where :\Delta (l,p) = \begin p^l^\log^p &\text l \geqslant p^\\ p^l^\log^p &\text p^ > l \geqslant p^ \\ p^l^\log^p &\text p^ > l \geqslant p^ \\ p^l^\log^p &\text p^ > l \geqslant p^ \\ \end and :\gamma = 2.5 - \log 3 = 0.9150\cdots Although 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.


Sequences in elliptic curve

The
elliptic curve In mathematics, an elliptic curve is a smooth, projective, algebraic curve of genus one, on which there is a specified point . An elliptic curve is defined over a field and describes points in , the Cartesian product of with itself. If ...
version of this function is of interest as well. In particular, it may help to improve the cryptographic security of the corresponding system. Let ''p'' > 3 be prime and let E be an elliptic curve over \mathbb F_p , then each vector a defines a
finite sequence In mathematics, a sequence is an enumerated collection of mathematical object, objects in which repetitions are allowed and order theory, order matters. Like a Set (mathematics), set, it contains Element (mathematics), members (also called ''eleme ...
in the
subgroup In group theory, a branch of mathematics, given a group ''G'' under a binary operation ∗, a subset ''H'' of ''G'' is called a subgroup of ''G'' if ''H'' also forms a group under the operation ∗. More precisely, ''H'' is a subgroup ...
\langle G\rangle as: :F_(x) = (a_^ a_^\dots a_^)G where x = x_1 \dots x_n is the bit representation of integer x, 0 \leq x \leq 2^. The Naor–Reingold elliptic curve sequence is defined as : u_ = X (f_(k))\; \mbox X (P) \mbox\; P \in E. If the
decisional Diffie–Hellman assumption The decisional Diffie–Hellman (DDH) assumption is a computational hardness assumption about a certain problem involving discrete logarithms in cyclic groups. It is used as the basis to prove the security of many cryptographic protocols, most notab ...
holds, the index ''k'' is not enough to compute u_k in polynomial time, even if an attacker performs polynomially many queries to a random oracle.https://en.wikipedia.org/wiki/Elliptic_curve


See also

*
Decisional Diffie–Hellman assumption The decisional Diffie–Hellman (DDH) assumption is a computational hardness assumption about a certain problem involving discrete logarithms in cyclic groups. It is used as the basis to prove the security of many cryptographic protocols, most notab ...
*
Finite field In mathematics, a finite field or Galois field (so-named in honor of Évariste Galois) is a field that contains a finite number of elements. As with any field, a finite field is a set on which the operations of multiplication, addition, subtr ...
*
Inversive congruential generator Inversive congruential generators are a type of nonlinear congruential pseudorandom number generator, which use the modular multiplicative inverse (if it exists) to generate the next number in a sequence. The standard formula for an inversive congru ...
* Generalized inversive congruential pseudorandom numbers


Notes


References

*. * * {{DEFAULTSORT:Naor-Reingold pseudorandom function Pseudorandom number generators Cryptography