• 沒有找到結果。

Under the standard model

在文檔中 金鑰演化密碼學之研究 (頁 40-52)

3.2 Ke-Enc against adaptive chosen ciphertext attack

3.2.3 Under the standard model

Now, we modify KeEncBasic to achieve the security against the adaptive chosen ciphertext attack under the standard model. The scheme is shown in Figure 3.4 and Figure 3.5. Comparison to KeEncROM, we assume that a hash function H is collision-resistant but not random. For such a function H, it is infeasible to find two distinct inputs v1 and v2 such that H(v1) = H(v2).

A hash function H is chosen from the collision-resistant hash family H.

At first, we choose five z-degree polynomial functions at random, fa0(x), fa1(x), fb1(x), fa2(x), fb2(x), where faj(x) = Pz

i=0aj,ixi for 0 ≤ j ≤ 2 and fbj(x) =Pz

i=0bj,ixi for 1 ≤ j ≤ 2. The decryptor saves the constant term of each of polynomial functions as the initial secret key SK0. The decryptor and TA compute the secret key SKj of time period j in a secure way. The public key consists of g, h, q, p, H and commitments of the coefficients of these polynomials.

To encrypt a message m at time period j, the encryptor computes the following value hj, α, β, s, δi, where α = gk, β = hk, s = m · gkfa0(j), δ = gkfa1(j)hkfb1(j)(gkfa2(j)hkfb2(j))υ and υ = H(j, α, β, s) for a random k ∈ Zq. The decryptor can decrypt as long as he has SKj = {fa0(j), fa1(j), fb1(j), fa2(j), fb2(j)}. The decryptor computes υ0 = H(j, α, β, s) and checks if αfa1(j)+fa2(j)υ0βfb1(j)+fb2(j)υ0 = δ. If so, he decrypts and obtains m.

Correctness. Let SKj = {fa0(j), fa1(j), fb1(j), fa2(j), fb2(j)} and a cipher-text of m is hj, α, β, s, δi. If υ = H(j, α, β, s), then αfa1(j)+fa2(j)υβfb1(j)+fb2(j)υ = gkfa1(j)gkfa2(j)·υhkfb1(j)hkfb2(j)·υ = gkfa1(j)hkfb1(j)(gkfa2(j)υhkfb2(j)υ) = δ. We can obtain the message m by computing s/αfa0(j)= m · gkfa0(j)fa0(j)= m.

Efficiency. After pre-computation, each encryption takes 5 modular expo-nentiations, 2 modular multiplications and 1 hash operations. Each decryption takes 3 modular exponentiations, 1 modular division, 2 modular multiplica-tions and 1 hash operamultiplica-tions. Computation time is independent of the time period j. Therefore, this scheme is as efficient as KeEncBasic.

Again, KeEncSTM’s public key consists of 3(z + 1) n-bit values and pri-vate key consists of only one 5n-bit value, which are both independent of the total number of time periods.

3.2.4 Security analysis

Assume the DDH assumption. We show that KeEncSTM is semantically se-cure against the adaptive chosen ciphertext attack. For time period j, the

decryption key SKj doesn’t be disclosed, an adversary cannot distinguish E(P K, m0, j) from E(P K, m1, j). Therefore, our scheme has forward and backward securities.

Theorem 7 Assume the DDH problem is hard. For KeEncSTM, given pub-lic key P K = hg, h, q, H, {wi, ci, di}0≤i≤zi and z private keys SKji, 1 ≤ i ≤ z, no probabilistic polynomial-time adversary with access to the decryption oracle is able to find m0 and m1 in Gq such that their ciphertexts at time period j, j 6= jl, 1 ≤ l ≤ z, are distinguishable.

Proof. Assume that the scheme does not have the desired properties. There is an adversary A that can distinguish the ciphertexts of the two messages m0 and m1 with a non-negligible probability even knowing z private keys and being able to query the decryption oracle (DO) adaptively. A has two probabilistic polynomial-time procedures A1 and A2. A1 takes as input the public key and z private keys, makes some chosen-ciphertext queries to (DO), and outputs two messages m0 and m1. A2 takes as input the public key PK, z private keys, m0, m1, and the ciphertext E(P K, mb, j), queries (DO) adaptively, and outputs b0, where b is a random bit. We say that A attacks the scheme successfully if Pr[b = b0] = 1/2 + (n) for some non-negligible function

(n), where the probability is taken over b and the internal coin tosses of A1, A2, KG and z private keys. We show that we can use A to construct a probabilistic polynomial-time algorithm B for solving the DDH problem with a non-negligible probability.

Let the input of DDH be hg1, g2, u1, u2i. We construct a simulator S that simulates A0s view in its attack on the algorithm. The simulator S contains an encryption oracle E O and a decryption oracle DO. We will show that the simulation of A’s view will be nearly perfect if the quadruple is from D and A’s advantage is negligible if the quadruple is from R. We construct the simulator S as follows.

1. Key setup. The public key is constructed as follows.

(a) Randomly select aj1, · · · , ajz bj1, · · · , bjz over Zq. we can compute w0i for 0 ≤ i ≤ z by Lagrange interpolation. Thus fa00(x) = Pz

(c) Then we set the public key as follows.

P K = hg, h, q, H, {wi0, c0i, d0i}0≤i≤zi,

where H is a family of collision-resistant hash functions, g = g1 and h = g2.

The key generation is a bit different from the actual cryptosystem; how-ever, the effect is the same.

2. Challenge. Feed the public key P K and the z private keys SKj0 = {bji−1, ebji−1, r1,i, r2,i, r3,i, r4,i}, 2 ≤ i ≤ z + 1, to A1 and get two messages m0 and m1 in Gq.

3. Encryption. Randomly select a bit b ∈R{0, 1} and compute α0 = u1, β0 = u2, s0 = mb· uf

δ0 = uf

4. Decryption. Given the ciphertext c, DO checks if c is valid by verifying uf

If it is not valid, the oracle rejects it. Otherwise, DO returns m = s0/uf

This completes the description of S. The adversary B takes as input (g1, g2, u1, u2) and outputs 1 if b = A2(s0). To complete the proof, we show:

1. If (g1, g2, u1, u2) is from D, the joint distribution of the adversary’s view and the hidden bit b is statically indistinguishable from that in the actual attack.

2. If (g1, g2, u1, u2) comes from R, the distribution of the hidden bit b is independent of the adversary’s view.

The theorem follows immediately from the following two lemmas.

Lemma 8 If the S’s input (g1, g2, u1, u2) is from D, the joint distribution of the adversary’s view and the hidden bit b is statically indistinguishable from that in the actual attack.

We need argue two things. One is that the output of DO and E O has the right distribution. The other is that DO rejects all invalid ciphertexts except with a negligible probability. Since the input comes from D, we have that u1

= g1r and u2 = gr2 for some r. Thus, α0 = u1, β0 = u2, s0 = mb· uf

the encryption oracle E O has the right distribution. In addition, the

Moreover, we will show that DO rejects all invalid ciphertexts, except with a negligible probability. Consider that the invalid ciphertext hj, α0, β0, s0, δ0i.

From the output of the E O, we obtain another equation:

log δ0 = r · fa01(j) + ra · fb01(j) + υ0r · fa02(j) + υ0ra · fb02(j). (3.3) independent, the hyperplane H intersects P at a line.

The first time the DO rejects an invalid ciphertext, except with probability 1/q. However, the ith query will be rejected, except with the probability at least 1/(q − i + 1). Following the result above, DO will rejects all invalid ciphertext, except with negligible probability.

Lemma 9 If the S’s input (g1, g2, u1, u2) is from R, the distribution of the hidden bit b is independent of the adversary’s view.

We should show that if DO rejects all invalid ciphertexts, the distribution of the hidden bit b is independent of the adversary’s view. Let r1 = logu1

and r2 = logg2u2. Assume that r1 6= r2. The public key wj = gfa000(j)hfb000(j) determines the equation:

log wj = fa000(j) + afb000(j). (3.5)

Moreover, if the DO only decrypts valid ciphertexts (hj, α0, β0, s0, δ0i), then the adversary obtains only linearly dependent relation r0log wj = r0fa000(j) + r0afb000(j), where r0 = logu1. Thus, no further information about (fa000(j), fb000(j))

Equations 3.5 and 3.6 are linearly independent. We can view τ as a one-time pad. As a result the bit b is independent of the adversary’s view.

Next, we prove that DO will reject all invalid ciphertexts, except with a negligible probability. Based on the adversary’s view, we examine the distri-bution of P = (fa01(j), fa02(j), fb01(j), fb02(j)) ∈ Z4q. From the output of E O, we From the adversary’s view, P is a random point on the line L formed by intersecting the hyperplane of Equations 3.1, 3.2 and 3.7. Let r01 = logu01 and r20 = logg2u02. If the submitted ciphertext (hj, α0, β0, s0, δ0i) is invalid, there are three cases to consider:

1. Case I. (α0, β0, s0) = (α, β, s). Since δ0 6= δ, the decryption oracle still rejects.

2. Case II. (α0, β0, s0) 6= (α, β, s) but the hash value is the same. This im-mediately violates the collision-resistance of our hash function. There-fore, this cannot occur with non-negligible probability.

3. Case III. (α0, β0, s0) 6= (α, β, s) and the hash value is not the same.

Unless the point P satisfies the hyperplane logδ0. Otherwise, DO will reject. Moreover, Equations 3.1, 3.2, 3.4 and 3.7 are linearly indepen-dent when α0 6= α, r1 6= r01 and r2 6= r20. It follows that the decryption oracle rejects, except with a negligible probability.

Now, we consider the case that

when t 6= j, the tuple (fa01(j), fa02(j), fb01(j), fb02(j), fa01(t), fa02(t), fb01(t), fb02(t)) is uniformly distributed subject to several constraints. At first, we have Equa-tions 3.1, 3.2 and 3.7. Next, we have the two equaEqua-tions from the public key:

From the public key ct and dt, we obtain two equations:

log ct= fa01(t) + afb01(t), (3.8) log dt = fa0

2(t) + afb0

2(t). (3.9)

Since the adversary could have z secret keys other than j and t, he can knows z values of each of fa01(·), fb01(·), fa02(·) and fb02(·). Therefore, the following relations hold:

fa01(j) + λfa01(t) = s1 (3.10) fa02(j) + λfa02(t) = s2 (3.11) fb01(j) + λfb01(t) = s3 (3.12) fb02(j) + λfb02(t) = s4 (3.13) where λ is the Lagrange coefficient λ = (j − j1)(j − j2) · · · (j − jz)/(t − j1)(t − j2) · · · (t − jz). Now we have more equations than unknowns. However, it is easy to see that Equation 3.12 is linearly dependent on Equations 3.1, 3.2 and 3.10 while Equation 3.13 is linearly dependent on Equations 3.8, 3.9 and 3.11.

Thus, there are 7 linearly independent equations and 8 unknowns. Consider that the ciphertext (ht, α00, β00, s00, δ00i) submitted by the adversary is invalid.

DO will rejects unless

log δ00 = r1· fa01(t) + r2a · fb01(t) + υ00r1· fa02(t) + υ00r2a · fb02(t), (3.14)

Looking at all 8 Equations 3.1, 3.2, 3.7- 3.11 and 3.14, we see that they are linearly independent when the following three conditions hold:

1. logu1 6= logg2u2. This is true since (g1, g2, u1, u2) is a random tuple.

2. logα00 6= logg2β00. This is true since the ciphertext (ht, α00, β00, s00, δ00i) is invalid.

3. H(j, α0, β0, s0) 6= H(t, α00, β00, s00). This is true since j 6= t and H is chosen from a family of collision resistant functions. The collision resistance of H is necessary since the adversary’s choice of j, t is not known in advance.

Therefore, the ciphertxet is rejected except with negligible probability at most 1/q. The ith query except with probability at most 1/(q−i+1). This completes

the proof. 2

1. Algorithm KG(1n, z):

(a) Randomly select an n-bit prime p = 2q + 1, where q is also a prime.

Let Gqbe the subgroup of order q in Zp and g be a generator of Gq. (b) Randomly select a degree-z polynomial f (x) =Pz

i=0aixi mod q.

(c) H1, H2, H3 are random oracle hash functions.

(d) Set the public key and base private key as

P K = hga0, ga1, . . . , gaz, p, H1, H2, H3i and SK0 = hf (0)i.

(e) Let TA hold f (xj), xj ∈ Zq, 1 ≤ j ≤ z.

2. Algorithm UPD(P K, SKj−1): the decryptor Bob and TA together com-pute SKj = hf (j)i from their shares in a secure distributed way.

3. Algorithm EH1,H2,H3(P K, m, j): randomly select k ∈ Zq and r ∈ Gq, compute

α = gk, β1 = r · (

z

Y

i=0

(gai)ji)k = r · gf (j)·k,

β2 = k ⊕ H1(j, r), s = m ⊕ H2(j, r, k), h = H3(j, r, k, m), and return the ciphertext hj, α, β1, β2, s, hi.

4. Algorithm DH1,H2,H3(SKj, hj, α, β1, β2, s, hi):

(a) Compute r = β1f (j), k = β2⊕ H1(j, r) and m = s ⊕ H2(j, r, k).

(b) Check whether α = gk and h = H3(j, r, k, m). If it is so, return m;

otherwise, return ’ ?’.

Figure 3.3: KeEncROM – discrete logarithm based key-evolving encryption scheme with z-resilience and semantic security against the adaptive chosen ciphertext attack under the random oracle model.

1. Algorithm KG(1n, z): let H be a collision-resistant hash function selected from a family of collision-resistant hash functions.

(a) Randomly select an n-bit prime p = 2q + 1, where q is also a prime.

All operations work over Zp except being stated otherwise. Let Gq be the subgroup of order q in Zp and g be a generator of Gq. (b) Randomly select five degree-z polynomial functions faj(x) =

Pz

i=0aj,ixi for 0 ≤ j ≤ 2 and fbj(x) = Pz

i=0bj,ixi for 1 ≤ j ≤ 2.

(c) Set wi = ga0,i, ci = ga1,ihb1,i and di = ga2,ihb2,i for 0 ≤ i ≤ z.

(d) Set the public key and base private key as

P K = hg, h, q, H, {wi, ci, di}0≤i≤zi and

SK0 = {fa0(0), fa1(0), fb1(0), fa2(0), fb2(0)}.

(e) Let TA hold {fa0(xj), fa1(xj), fb1(xj), fa2(xj), fb2(xj)}, xj ∈ Zq, 1 ≤ j ≤ z.

Figure 3.4: KeEncSTM (part 1)– discrete logarithm based key-evolving scheme with z-resilience and semantic security against the adaptive chosen ciphertext attack under the standard model.

1. Algorithm UPD(P K, SKj−1): the decryptor Bob and TA together com-pute SKj = hfa0(j), fa1(j), fb1(j), fa2(j), fb2(j)i from their shares in a secure distributed way.

2. Algorithm E(P K, m, j): randomly select k ∈ Zq, compute

α = gk, β = hk, s = m ·

z

Y

i=0

(wi)kji = m · gkfa0(j), and

δ =

z

Y

i=0

(ci)kji · (

z

Y

i=0

(di)kji)υ = gkfa1(j)hkfb1(j)(gkfa2(j)hkfb2(j))υ,

where υ def= H(j, α, β, s). Then, the encryptor returns the ciphertext C

= hj, α, β, s, δi.

3. Algorithm D(SKj, hj, α, β, s, δi).

(a) Compute υ = H(j, α, β, s).

(b) Check if αfa1(j)+fa2(j)υβfb1(j)+fb2(j)υ = δ.

(c) If so, compute and return m = s/αfa0(j).

Figure 3.5: KeEncSTM (part 2) – discrete logarithm based key-evolving encryption scheme with z-resilience and semantic security against the adaptive chosen ciphertext attack under the standard model.

Chapter 4

Distributed and Proactive Key-Evolving Encryption

In this chapter, we describe the procedure for a key evolving with TA. Then, we use the proactive mechanism to protect the TAs. Furthermore, we propose a key-evolving encryption in a distributed way. Multiple decryptors decrypts encrypted messages via distributed computing. Finally, we present how the proactive mechanism protects the secret of the decryptors. We assume that involved n parties are connected by a broadcast channel and any two parties are connected by a private channel such that a third party cannot get messages sent over the private channel.

在文檔中 金鑰演化密碼學之研究 (頁 40-52)

相關文件