• 沒有找到結果。

Proposed Scheme

Let k be a security parameter and n be the number of subscribers. Choose k-bit primes pi = 2qi+ 1, where qi are odd primes. For convenience, assume p1 < p2 < · · · < pn. The primes will be such that q1/21 is large enough. Let M = Qn

i=1

pi. Assume the contents (plaintext) are elements of Zp1. Let g be a common primitive root modulo each of the pi’s. By Lemma 4.3.1 such a g exists because any −a2 is a valid candidate when 1 < a < p1− 1. We now describe the four components of our scheme.

• Key generation: Each subscriber i chooses a private decryption key di ∈ Zpi

randomly and sends (βi, pi) to the distributor, where βi = gdi mod pi. Next, the distributor computes β = Pn

i=1

βiMiyi mod M, where Mi = M/pi and Miyi ≡ 1 (mod pi), for 1 ≤ i ≤ n. The triple (g, β, M ) is the public encryption key. Note that

β ≡ βi (mod pi).

• Encryption: Let the plaintext be x ∈ Zp1. The distributor picks a random element r from {0, 1, . . . , p1− 1} and computes

z1 = gr mod M, z2 = xβrmod M.

The ciphertext is C = (z1, z2). Note that the digital content is encrypted only once not n times.

• Decryption: Given a ciphertext C = (z1, z2), the decryption algorithm com-putes z2(z1di)−1 mod pi. This step correctly yields the plaintext x because

z2(z1di)−1 ≡ xβr(grdi)−1

≡ xβir(grdi)−1

≡ x(gdi)r(grdi)−1

≡ x (mod pi).

• Tracing: The tracing algorithm is described in Section 4.5.

The encryption and decryption algorithms are similar to those in the ElGamal cryptosystem. The content is encrypted once, and each subscriber can decrypt using his or her own decryption key. There is no need of a key generation center to generate the decryption keys. Instead, subscribers generate their own keys at random. The distributor creates the encryption key without knowing any decryption key. The decryption keys are therefore private to their respective owners. This is identical to the standard point-to-point public-key cryptosystem setup. Our scheme is hence fully public-key.

Consider this straightforward approach to secure broadcasting in a full public-key setting [56]: Before broadcasting, the plaintext is encrypted n times with all sub-scribers’ public keys, and then the Chinese remainder algorithm is applied. If the straightforward approach uses the ElGamal probabilistic encryption, the number of modular multiplications and squarings in performing encryptions is n-times ours be-cause we encrypt the plaintext only once. The fast modular multiplication algorithm devised in [32] requires t + 7 clock pulses, where t is the length of the modulus. As-sume our encryption needs a total of ` modular multiplications and squarings. For each plaintext, our encryption needs time `(nk +7), but the straightforward approach needs time `n(k + 7) plus OB(M(nk) log(n)) + OB(nM (k) log(k)) for performing the Chinese remainder algorithm. Hence, our scheme is more efficient.

4.4.1 Security Analysis

We will show that our scheme is plaintext-secure against a passive generic adversary if q1/21 is large enough. We now explain the terms. A passive generic adversary is a generic algorithm and can only eavesdrop the network. 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 [208]. An encryption system is plaintext-secure if the full plaintext about a content cannot be derived from its encryption form.

Let M0 be a product of t primes pi, say,

M0 = pi1pi2· · · pit.

Let β0 = β mod M0. As before, g is a common primitive root modulo pi, i =

1, 2, . . . , n. The Diffie-Hellman problem (DH) in a group with generator g is to com-pute gr1r2 from gr1 and gr2. Shoup shows that any generic algorithm must perform Ω(q1/2max) group operations for the problem, where qmax is the largest prime dividing the order of the group [208]. Because g is a common primitive root modulo each of the pis, the largest possible order of g modulo M0 is λ(M0) = 2qi1qi2· · · qit by equa-tion (2.1). So the subgroup H of ZM 0 generated by g has order λ(M0). The order of H surely contains a prime factor which is not smaller than q1. As we choose a large q1/21 , the DH problem in H is intractable for a generic adversary. Based on this intractability, we next prove that our encryption scheme is plaintext-secure against a passive generic adversary. But first we need the following lemma.

Lemma 4.4.1. If the ElGamal cryptosystem in ZM 0 can be broken, then the Diffie-Hellman problem in the subgroup H of ZM 0 generated by g can be solved efficiently.

Proof. Suppose that there is an algorithm A that breaks the ElGamal cryptosystem in ZM 0. Given g, M0, β0, z1 and z2, algorithm A computes the plaintext

x = z20loggz1)−1 mod M0.

Assume that β0, γ ∈ H. When given inputs g, M0, β0 and γ for the Diffie-Hellman problem, A can be invoked to solve this DH problem by

A(g, M0, β0, γ, 1)−1 = ((β0loggγ)−1)−1 mod M0

= gloggβ0loggγ mod M0.

Theorem 4.4.1. Our encryption scheme is plaintext-secure against a passive generic adversary.

Proof. A passive adversary can only eavesdrop to get C = (z1, z2). For such an ad-versary, to derive plaintext is equivalent to breaking the ElGamal encryption scheme in ZM 0. Nevertheless, by Lemma 4.4.1, breaking the ElGamal scheme in ZM 0 implies solving the DH problem in the subgroup H of ZM 0 generated by g. For a generic algorithm, solving the DH problem for the subgroup H needs at least Ω(q1/21 ) time.

Because q11/2 is chosen to be large, the theorem is proved.

4.4.2 Semantic Security

The security of our scheme is based on the ElGamal encryption scheme in ZM 0. To enhance the security, we show how to choose the generator of subgroups and limit the message so that our scheme is semantically secure.

Because g is the common generator of the Zpi’s, g2 has order qi and generates all the qi quadratic residues in Zpi for each i = 1, 2, . . . , n. Similarly, g2 has order λ(M0)/2 = qi1qi2· · · qik and generates all the quadratic residues in ZM 0. So the cyclic subgroup of ZM 0 generated by g2 has order qi1qi2· · · qik, each of whose prime factors is at least q1. The decision Diffie-Hellman problem (DDH) in group G generated by h with a large order is to efficiently distinguish the two distributions: (hr1, hr2, hz) where r1, r2, z are random and (hr1, hr2, hr1r2) where r1, r2 are random. Any generic algorithm must perform Ω(q1/2min) group operations for the DDH problem, where qmin is the smallest prime dividing the order of the group [208]. Modify the parameters in our scheme: Let the common generator be g2 and assume the plaintext (contents) in Zp1 must be a common quadratic residue of all the pi’s. Because q11/2 is chosen to be large, the DDH problem for the subgroup generated by g2 is intractable for a generic adversary. Based on this intractability, our scheme can be shown to be semantically secure by using a similar result in [216] after replacing the modulus p there with our M0.

The parameters were modified so that each plaintext x ∈ Zp1 is a common quadratic residue of all the pi’s. That is very inconvenient. Here is an alterna-tive. Encrypt x2 instead of x. After decryption, subscriber i obtains x0 = x2 mod pi. As pi ≡ 3 (mod 4), the solutions to x2 ≡ x0 (mod pi) are x ≡ ±x0(pi+1)/4 (mod pi).

Note that one of the solutions is odd and the other even. If we always pad one bit in the least significant bit of x to make it, say, odd, the plaintext can be uniquely decided. So we have the following theorem.

Theorem 4.4.2. Our scheme modified as described above is semantically secure against a passive generic adversity.

4.4.3 Forgery of Decryption Keys

Recall that β, M, βi, pi, g, and di, for i = 1, 2, . . . , n, are all the keys in the system, among which only di are not public. The ciphertext (z1, z2) is also public. Because our encryption scheme is plaintext-secure, it is impossible to fake subscribers’ keys or create new decryption keys from the public information. This implies that combining di’s is the only way to create decryption keys. Suppose t of the di’s are used to create a new decryption key dH, say d1, d2, . . . , dt. Because d1, d2, . . . , dt are involved in creating dH, we solve dH from

gdH ≡ gdi (mod pi) (4.1)

for i = 1, . . . , t. Let MH0 = p1p2· · · pt. The following lemma proves that this dH works.

Lemma 4.4.2. Suppose that d1, d2, . . . , dt are used to create a new decryption key dH. Then dH exists and equals Pt

i=1

diMHiyi mod MH if and only if gcd(pi− 1, pj− 1) divides di− dj, where MH = lcm(p1− 1, p2− 1, . . . , pt− 1), MHi = MH/(pi− 1), and MHiyi ≡ 1 (mod pi− 1) for i = 1, 2, . . . , t.

Proof. By equation (4.1), dH satisfies gdH ≡ β (mod MH0 ). Hence dH and MH0 can be used to decrypt the ciphertext. By Fact 2.2.16, gdH ≡ gdi (mod pi) implies dH ≡ di (mod pi− 1). The rest of the lemma follows from Fact 2.2.12.

The next theorem is immediate.

Theorem 4.4.3. For a passive generic adversary, the only way to create a new decryption key dH in our scheme is to combine the di’s in the way mentioned in Lemma 4.4.2.