• 沒有找到結果。

Intractable Problems

2.2 Algebra and Number Theory

2.2.4 Intractable Problems

The Discrete Logarithm Assumption

Let G be a finite cyclic group and g be a generator of G. The discrete logarithm of some element x ∈ G, denoted logg(x), is the unique integer a, 0 ≤ a < |G|, such that

x = ga. The discrete logarithm (DL) problem is the following: Given G, g, and an element x ∈ G, find the integer a, 0 ≤ a < |G|, such that x = ga. It is unknown whether an efficient algorithm for the DL problem exits. All known algorithms have exponential or subexponential running time, and it is widely believed that the problem is intractable. We state the assumption more precisely as follows.

Definition 2.2.16. Let I = {(G, g)|G is a cyclic group, g ∈ G a generator } and Ik = {(G, g) ∈ I|ord(G) = k}. For every probabilistic polynomial-time algorithm A, every positive polynomial Q, and all sufficiently large k,

P r[y = logg(x) : (G, g)← Iu k, x← G, y ← A(G, g, x)] <u 1 Q(k). This is called the discrete logarithm assumption.

The Diffie-Hellman and Decision Diffie-Hellman Assumptions

The Diffie-Hellman (DH) problem is the following: Given a finite cyclic group G, a generator g of G, and the two elements ga and gb, find the element gab. It is believed that the DH problem is intractable. We make this precise in the following.

Definition 2.2.17. Let I = {(G, g)|G is a cyclic group, g ∈ G a generator } and Ik = {(G, g) ∈ I|ord(G) = k}. For every probabilistic polynomial-time algorithm A, every positive polynomial Q, and all sufficiently large k,

P r[y = gab : (G, g)← Iu k, a← Zu |G|, b ← Zu |G|, y ← A(G, g, ga, gb)] < 1 Q(k). This is called the Diffie-Hellman assumption.

Obviously, if the DL problem can be solved in polynomial time, then the DH problem can be solved in polynomial time. For some groups, the DH and the DL problems have been proved to be computationally equivalent. [18, 153, 154, 155].

The decision Diffie-Hellman (DDH) problem is the following: Given a finite cyclic group G, a generator g of G, and the three elements ga, gb, and gc, decide whether the elements gc and gab are equal. It is believed that the problem is intractable. This is made precise in the following.

Definition 2.2.18. Let I = {(G, g)|G is a cyclic group, g ∈ G a generator } and Ik = {(G, g) ∈ I|ord(G) = k}. For every probabilistic polynomial-time algorithm A, every positive polynomial Q, and all sufficiently large k,

P r[c0 = c : (G, g)← Iu k, a← Zu |G|, b← Zu |G|, z0 = ab mod |G|, z1 ← Zu |G|, c ← {0, 1},u c0 ← A(G, g, ga, gb, gzc)] < 1

2 + 1 Q(k).

This is called the decision Diffie-Hellman assumption.

Clearly, an efficient algorithm to solve the DH problem implies one for the DDH problem.

Shoup shows that any generic algorithm must perform Ω(p1/2) group operations for the two problems, where p stands for the largest prime divisor of the group order in the case of the DH problem, and for the smallest prime divisor of the group order in the case of the DDH problem [208]. A generic algorithm does not exploit any special properties of the encodings of group elements except that each group element is encoded as a unique bit string.

The Representation Assumption

The representation problem is a generalization of the DL problem. It is believed that the representation problem is intractable. We make this statement precise in the following.

Definition 2.2.19. Let I = {(G, g1, . . . , gr)|G is a cyclic group, g1, . . . , gr ∈ G generators}. Let Ik = {(G, g1, . . . , gr) ∈ I|ord(G) = k}. For every probabilistic

polynomial-time algorithm A, every positive polynomial Q, and all sufficiently large k,

Pr[ga11· · · grar = y : (G, g0, . . . , gr)← Iu k, y ← G,u (a1, . . . , ar) ← A(G, g1, . . . , gr, y)] < 1

Q(k). This is called the representation assumption.

If the generators g1, . . . , gr are all chosen randomly, finding two different repre-sentations of an element is as hard as the DL problem. Brands gives a thorough discussion on the representation problem in [26].

The Assumption of Equality of Discrete Logarithms

Let G be a group and g0, g1 ∈ G be distinct generators of G. The problem of equality of discrete logarithms is the following: Given G, g0, g1, and two elements y0, y1 ∈ G, decide whether logg0(y0) is equivalent to logg1(y1). It is believed that there is no efficient algorithm to solve this problem. We make this precise in the following.

Definition 2.2.20. Let I = {(G, g0, g1)|G is a cyclic group, g0, g1 ∈ G generators}

and Ik = {(G, g0, g1) ∈ I|ord(G) = k}. Let

EDLG,g0,g1 : G × G → {0, 1}, EDLG,g0,g1(x0, x1) =

( 1 if logg0y0 = logg1y1, 0 otherwise,

be a function. For every probabilistic polynomial-time algorithm A, every positive polynomial Q, and all sufficiently large k,

Pr[b = EDLG,g0,g1(y0, y1) : (G, g0, g1)← Iu k, y0 ← G, yu 1 ← G,u b ← A(G, g0, g1, y0, y1)] < 1

2 + 1 Q(k).

This is called the assumption of equality of discrete logarithms (EDL).

The Factoring Assumption

The integer factorization problem is the following: Given a positive integer n, find its prime factorization, i.e., find pairwise distinct primes pi and positive integer ei such

that n = pe11pe22· · · pekk. All known factoring algorithms have an exponential running time. Therefore, it is widely believed that the factors of n cannot be computed effi-ciently. The following assumption make this statement more precise. For simplicity, assume n = pq.

Definition 2.2.21. Let I = {n|n = pq, p and q are distinct primes, |p| = |q|} and Ik = {n ∈ I|n = pq, |p| = |q| = k}. For every probabilistic polynomial-time algorithm A, every positive polynomial Q, and all sufficiently large k,

P r[A(n) = p : n ← Iu k] < 1 Q(k). This is called the factoring assumption.

Furthermore, it is known that factoring n = pq is equivalent to computing square roots in Zn [189].

The RSA Assumption

Let I = {(n, e) ∈ I|n = pq, p 6= q primes, 0 < e < φ(n), e prime to φ(n)}. The family RSA = (RSAn,e : Zn → Zn, x 7→ xe)(n,e)∈I

is called the RSA family.

Consider an (n, e) ∈ I, and let d ∈ Zφ(n) be the inverse of e mod φ(n). We have xed ≡ 1 mod n. This shows that RSAn,e is a bijection and that the inverse function is also an RSA function, namely RSAn,d : Zn→ Zn, y 7→ yd.

RSAn,e can be computed by an efficient modular exponentiation algorithm. The inverse d of e can be easily computed by the extended Euclidean algorithm if φ(n) = (p−1)(q −1) is known. No algorithm to compute RSA−1n,ein polynomial time is known if p, q and d are kept secret (d or p, q are called the trapdoor information for the RSA function).

To date, factoring n is the only known method to totally break RSA. All known factoring algorithms have an exponential running time. Therefore, it is widely be-lieved that RSA cannot be efficiently inverted. The following assumption makes this more precise.

Definition 2.2.22. Let Ik = {(n, e) ∈ I|n = pq, |p| = |q| = k}. For every proba-bilistic polynomial-time algorithm A, every positive polynomial Q, and all sufficiently large k,

It is believed that there is no efficient algorithm which, without knowing the factors of n, is able to decide whether x ∈ Jn+1 is a quadratic residue. The following assumption make this precise.

Definition 2.2.23. Let Ik = {n : n = pq, |p| = |q| = k}. For every probabilistic polynomial-time algorithm A, every positive polynomial Q, and all sufficiently large k,

P r[y = P QRn(x) : n← Iu k, x← Ju n+1, y ← A(n, x)] < 1 2 + 1

Q(k). This is called the quadratic residuosity assumption.

Note that the factoring assumption follows from the RSA assumptions and also from the quadratic residuosity assumption. Hence, each of these two assumptions is stronger than the factoring assumption.

Discussions

For all assumptions described above, we do not consider a single fixed key i ∈ Ik: The success probability of adversary A is also taken over the random choice of the

key. Hence, the meaning of the probability statement is: Choosing both the key i with security parameter k and an instance randomly, the probability that adversary A correctly computes is small. The statement is not related to a particular key i.

In practice, however, a public key i is chosen and then fixed for a long time, and it is known to the adversary. Thus, we are interested in the conditional probability of success, assuming a fixed public key i. Even if the security parameter k is very large, there may be public keys such that adversary A correctly breaks the system with a significant probability. However, as we will see in the following lemma, the number of such keys is negligibly small compared to the number of all keys with security parameter k. Hence, choosing i at random and uniformly from Ik, the probability of obtaining one for which adversary A has a significant chance of success is negligibly small.

Lemma 2.2.1. Let I = (Ik)k∈N be a key set with security parameter k. Let Aj be randomized algorithms with input xj and output yj, 1 ≤ j ≤ n. Let B be a boolean function. Assume that An is the adversary A. Then the following statements are equivalent:

1. For every positive polynomial P and all sufficiently large k Pr[B(yn) = 1 : i ← Ik, {yj ← Aj(xj)}1≤j≤n] < 1

P (k). 2. For all positive polynomials Q and R, and all sufficiently large k

Pr

be the conditional probability of success of A assuming a fixed i. We first prove that statement 2 implies statement 1. Let P be a positive polynomial. By statement 2, for sufficiently large k,

Hence

Conversely, assume that statement 1 holds. Let Q an R be positive polynomials.

Then for sufficiently large k

Hash functions can be used to control the integrity of a message. In signature schemes, hash functions are also applied to reduce messages of arbitrary lengths to message digests that can be signed in place of the original messages. Furthermore, hash func-tions can be employed as a substitution for the honest verifier in proofs of knowledge and thus turn them into signature schemes [90].

Definition 2.3.1. A hash function is a function mapping a binary string of arbitrary