• No results found

The verification query above is made after the the encryption query corresponding to the eval entry Since there are at most

E Proof of Theorem

Case 2: The verification query above is made after the the encryption query corresponding to the eval entry Since there are at most

most𝐿triples in the tables, given𝑇, there are still at least 2π‘›βˆ’2πΏβˆ’π‘β‰₯2π‘›βˆ’1 equally likely choices of π‘Œ. Hence if𝑖=𝑗 then 𝐾=𝐾out, and the chance that π‘Œ =𝑇 is at most 2/2𝑛. On the other hand, sinceKeyGen is 𝛽-pairwise AU, if 𝑖̸=𝑗 then the chance that𝐾=𝐾out andπ‘Œ =𝑇 is at most 2𝛽/2π‘˜+𝑛.

Thus in both cases, the chance that𝐾=𝐾outandπ‘Œ =𝑇 is at most 2𝛽/2π‘˜+𝑛 if 𝑖̸=𝑗, and at most 2/2𝑛 if𝑖=𝑗. Summing this over at mostπ‘ž eval entries and at most𝐿decentries, and note that there are at most𝐡 evalentries per user,

Pr[𝒳1∈ ℬ4]≀ 2𝐿𝐡 2𝑛 + 2π›½πΏπ‘ž 2π‘˜+𝑛 ≀ 2𝐿𝐡 2𝑛 + 2𝛽𝐿2 2π‘˜+𝑛 .

For the fifth constraint of badness, consider an entry (vf, 𝑖, 𝑁, 𝐢, 𝐴,false) in𝒳1, and let𝑇 be the IV of𝐢 and𝑀 be the associated decrypted message. Note that if 𝒳1 ∈ ℬ5 then R1(𝒳1) isGMAC+-good and R2(𝒳1) isCTR-good. Fix 𝑗 ≀ π‘ž. There is at most one entry (eval, 𝑗, 𝑁′, 𝑀′, 𝐴′, 𝑇) in R

1(𝜏); otherwise R1(𝒳1) is not good, and thus 𝒳1 ̸∈ ℬ5. Let 𝐾𝑖 = 𝐾in ‖𝐾out and 𝐾𝑗 = 𝐾inβ€² ‖𝐾outβ€² . If 𝑗 ΜΈ= 𝑖 then the probability that 𝐾outβ€² = 𝐾out and xor(𝐻(𝐾in, 𝑀, 𝐴), 𝑁) =

xor(𝐻(𝐾inβ€², 𝑀′, 𝐴′), 𝑁′) is at most 2𝑐𝛽·E[|𝑀|2𝑛+π‘˜π‘›+|𝐴|𝑛], because 𝐻 is𝑐-regular, xor is 2-regular, andKeyGenis𝛽-pairwise AU. If𝑖=𝑗then𝐾in‖𝐾out=𝐾inβ€² ‖𝐾outβ€² , and we consider three following cases.

Case 1:(𝑀, 𝑁, 𝐴) = (𝑀′, 𝑁′, 𝐴′). Let𝐢′be the answer ofEnc(𝑗, 𝑁′, 𝑀′, 𝐴′) as indicated in𝒳1. For the blockcipher ˜𝐸above, since𝐢′=CTR[𝐸].E(𝐾out, 𝑀′;𝑇), we also have 𝐢′ = CTR[ ˜𝐸].E(𝐾

out, 𝑀′;𝑇), due to the consistency between 𝐸 and ˜𝐸. On the other hand, recall that𝑀 is generated by runningSE.D𝐸˜(𝐾out, 𝐢). Since 𝑀 =𝑀′ and 𝐢 and𝐢′ share the same IV, we must have 𝐢 =𝐢′. This means that the adversary queries Vf(𝑖, 𝑁, 𝐢, 𝐴) first, and then later queries Enc(𝑖, 𝑁′, 𝑀′, 𝐴′) and accidentally gets the same answer𝐢. This case happens with probability at most 2βˆ’|𝐢|≀2βˆ’π‘›.

Case 2:(𝑀, 𝐴) = (𝑀′, 𝐴′), but𝑁̸=𝑁′. Due to the injectivity ofxor, this case cannot happen.

Case 3: (𝑀, 𝐴)ΜΈ= (𝑀′, 𝐴′). Since KeyGen is 𝛽-pairwise AU, 𝐻 is 𝑐-AXU and

xoris 2-regular and linear and injective,

Pr[xor(𝐻(𝐾in, 𝑀, 𝐴), 𝑁) =xor(𝐻(𝐾in, 𝑀′, 𝐴′), 𝑁′)]

≀2𝑐𝛽·E [οΈ€ |𝑀|𝑛+|𝐴|𝑛+|𝑀′|𝑛+|𝐴′|𝑛 ]οΈ€ 2𝑛 ≀ 2𝑐𝛽·(οΈ€ 𝐡+E[οΈ€ |𝑀|𝑛+|𝐴|𝑛 ]οΈ€)οΈ€ 2𝑛 .

As the three cases above are mutually exclusive, if 𝑖=𝑗 then the chance that

xor(𝐻(𝐾in, 𝑀, 𝐴), 𝑁) =xor(𝐻(𝐾in, 𝑀′, 𝐴′), 𝑁′) is at most

2𝑐𝛽·(︀𝐡+E[οΈ€|𝑀|𝑛+|𝐴|𝑛 ]οΈ€)οΈ€

2𝑛 .

Sum over all 𝑗 ≀ π‘ž, and then over all π‘ž vf entries, and note that 𝐡 β‰₯ 2 and π‘ž ≀𝐿/2 (as each encryption/verification query consists of at least two blocks, one due to the associated data, and another due to the message/ciphertext),

Pr[𝒳1∈ ℬ5]≀ 2π‘π›½π‘žπΏ 2𝑛+π‘˜ + 2𝑐𝛽(𝐿+π‘žπ΅) 2𝑛 ≀ 𝑐𝛽𝐿2 2𝑛+π‘˜ + 2𝑐𝛽𝐿𝐡 2𝑛 .

Finally, for the last constraint, consider an entry (vf, 𝑖, 𝑁, 𝐢, 𝐴,false) and let𝑀 be the decrypted message associated with this entry. Let 𝐾in‖𝐾out be the key of user𝑖, and let 𝑇 be the IV of𝐢. Consider one entry (prim, 𝐾, 𝑋, 𝑇,Β·). Since

KeyGen is 𝛽-pairwise AU, 𝐻 is 𝑐-regular, andxor is 2-regular, the chance that 𝐾 =𝐾out and𝑋 =xor(𝐻(𝐾in, 𝑀, 𝐴), 𝑁) is at most 2𝛽𝑐·E[|𝑀|2𝑛+π‘˜π‘›+|𝐴|𝑛]. Sum that over allvf entries and𝑝primentries,

Pr[𝒳1∈ ℬ6]≀ 2𝑐𝛽𝐿𝑝 2𝑛+π‘˜ . Summing up, Pr[𝒳1 is bad]≀ 6 βˆ‘οΈ 𝑗=1 Pr[𝒳1∈ ℬ𝑗] β‰€πœ–1+πœ–2+ (2𝑐𝛽+ 0.5𝛽+ 2)𝐿𝐡 2𝑛 + 𝛽(𝑐+ 3)𝐿2+ 2𝑐𝛽𝐿𝑝 2𝑛+π‘˜ ≀ 1 2𝑛/2 + π›½π‘Žπ‘ 2π‘˜ + (3𝑐𝛽+ 7𝛽)𝐿2+ 4𝛽𝑐𝐿𝑝 2𝑛+π‘˜ + (4𝑐𝛽+ 0.5𝛽+ 6)𝐿𝐡 2𝑛 .

Bounding transcript ratio. Fix a good transcript 𝜏 such thatpS1(𝜏)>0. In particular, this means that there is novf of answertrue. Create the multisets 𝑆1, . . . , 𝑆5 as follows.

– For each entry (prim, 𝐾, 𝑋, π‘Œ,Β·) in𝜏, add a triple (𝐾, 𝑋, π‘Œ) to𝑆1.

– For each triple (𝐾, 𝑋, π‘Œ) in tables of𝜏, add it to 𝑆2.

– For each entry (dec, 𝐾, 𝑋, π‘Œ), if (𝐾, 𝑋, π‘Œ)ΜΈβˆˆπ‘†3 then add (𝐾, 𝑋, π‘Œ) to𝑆3.

– For each entry (eval, 𝑖, 𝑁, 𝑀, 𝐴, 𝑇) in R1(𝜏), add (𝐾out, 𝑋, 𝑇) to𝑆4, where 𝐾in‖𝐾out is the key of user 𝑖in𝜏, and 𝑋=xor(𝐻(𝐾in, 𝑀, 𝐴), 𝑁).

– For each entry (vf, 𝑖, 𝑁, 𝐢, 𝐴,false) in 𝜏, if (𝐾out, 𝑋, 𝑇) ∈/ 𝑆5 then add this triple to 𝑆5, where 𝑇 is the IV of 𝐢, 𝐾in‖𝐾out is the key of user𝑖 in 𝜏, 𝑀 is the decrypted message associated with this entry indicated by𝜏, and 𝑋=xor(𝐻(𝐾in, 𝑀, 𝐴), 𝑁).

Due to (1) the goodness of 𝜏, (2) the fact that add can only produce outputs starting with 1 but xor produces output starting with 0, and (3) the way we generatedecentries,

– For each𝑗 ≀5, the multiset𝑆𝑗 contains no item twice, meaning that it is actually a set.

– The sets𝑆1,Β· Β· Β·, 𝑆5 are pairwise disjoint.

– There are no triples (𝐾, 𝑋, π‘Œ) and (𝐾, 𝑋′, π‘Œβ€²) in𝑆1βˆͺ𝑆2βˆͺ𝑆3βˆͺ𝑆4such that 𝑋=𝑋′ orπ‘Œ =π‘Œβ€².

Now, the probabilitypS0(𝜏) is the chance that all the following events happen:

– Samp: If we queryNew using the queries as indicated in 𝜏, the generated keys will be the values indicated by𝜏.

– Real𝑗, for 1≀𝑗≀4: For each (𝐾, 𝑋, π‘Œ)βˆˆπ‘†π‘—, querying𝐸𝐾(𝑋) returns π‘Œ.

– Real5: For each (𝐾, 𝑋, π‘Œ)βˆˆπ‘†5, querying𝐸𝐾(𝑋) doesnot returnπ‘Œ. On the other hand, the probabilitypS1(𝜏) is the chanceSampandReal1and the following events happen:

– Ideal1: For the padding version of CTR, let 𝐢1, . . . , πΆπ‘ž be the ciphertexts indicated by𝜏. For the padding-free version ofCTR, let𝐢1, . . . , πΆπ‘žbe thepre- truncatedciphertexts indicated by𝜏.8Then, if we sampleπ‘žrandom strings of length|𝐢1|,Β· Β· Β·,|πΆπ‘ž| respectively, then we get𝐢1, . . . , πΆπ‘ž respectively. Note that|𝐢1|+Β· Β· Β·+|πΆπ‘ž|=𝑛(|𝑆2|+|𝑆4|).

– Ideal2: Create a blockcipher ˜𝐸 : {0,1}π‘˜Γ— {0,1}𝑛 β†’ {0,1}𝑛 as follows: for every 𝐾 ∈ {0,1}π‘˜, sample ˜𝐸(𝐾,Β·)←$Perm(𝑛), subject to the constraint that for every (𝐾, 𝑋, π‘Œ) ∈ 𝑆1 βˆͺ𝑆2, we have ˜𝐸(𝐾) = π‘Œ. Now, for every (𝐾′, 𝑋′, π‘Œβ€²)βˆˆπ‘†3, if we query 𝐸(𝐾′, 𝑋′) then we getπ‘Œβ€².

For each 2≀𝑗≀5, let𝑃𝑗 denote Pr[Real𝑗|Real1∩ Β· Β· Β·Realπ‘—βˆ’1]. AsKeyGendoes not use 𝐸, eventSampis independent of other events, and thus

pS0(𝜏)

pS1(𝜏)

= Pr[Real5∩ · · · ∩Real1] Pr[Ideal1∩Ideal2∩Real1]

= 𝑃2·𝑃3·𝑃4·𝑃5 Pr[Ideal1∩Ideal2|Real1]

. In the last ratio, since Ideal1 is independent of other events, the denominator can be factored to Pr[Ideal1]Β·Pr[Ideal2| Real1]. Moreover, note that Pr[Ideal2 |

Real1] = Pr[Real3|Real1∩Real2] =𝑃3. Hence

pS0(𝜏)

pS1(𝜏)

= 𝑃2·𝑃4·𝑃5 Pr[Ideal1]

. For each 𝐾 ∈ {0,1}π‘˜, let 𝑍

1(𝐾), 𝑍2(𝐾), 𝑍3(𝐾), 𝑍4(𝐾) denote the number of triples (𝐾, 𝑋, π‘Œ) in𝑆1, 𝑆2, 𝑆1βˆͺ𝑆2βˆͺ𝑆3, 𝑆4respectively. Then

𝑃2·𝑃4= ∏︁ 𝐾∈{0,1}π‘˜ 𝑍1(𝐾)+𝑍2(𝐾)βˆ’1 ∏︁ 𝑖=𝑍1(𝐾) 1 2π‘›βˆ’π‘– 𝑗=𝑍3(𝐾)+𝑍4(𝐾)βˆ’1 ∏︁ 𝑗=𝑍3(𝐾) 1 2π‘›βˆ’π‘— β‰₯ ∏︁ 𝐾∈{0,1}π‘˜ 2βˆ’π‘›Β·(𝑍2(𝐾)+𝑍4(𝐾))= 2βˆ’π‘›(|𝑆2|+|𝑆4|)= Pr[Ideal 1] . 8

Given a table 𝒯 and a message 𝑀, the pre-truncated ciphertext can be obtained as follows. Suppose that 𝒯 contains (𝐾, 𝑋1, π‘Œ1), . . . ,(𝐾, π‘‹π‘š, π‘Œπ‘š). Then the pre-

truncated ciphertext is (π‘Œ1β€– Β· Β· Β· β€–π‘Œπ‘š)βŠ•π‘€β€², where𝑀′ is obtained by padding 0’s

Thus

pS0(𝜏)

pS1(𝜏)

β‰₯𝑃5 .

We now give a lower bound for 𝑃5. Note that |𝑆1βˆͺ Β· Β· Β· βˆͺ𝑆4| ≀ 𝑝+𝐿+π‘ž ≀ 2π‘›βˆ’1, because (i) there are𝑝ideal-cipher queries in 𝜏, contributing𝑝triples in 𝑆1, (ii) each encryption query (𝑖, 𝑁, 𝑀, 𝐴) contributes one triple in 𝑆4, and at most (|𝑀|𝑛 +|𝐴|𝑛) triples in 𝑆2, and (iii) each verification query (𝑖, 𝑁, 𝐢, 𝐴) contributes at most (|𝐢|𝑛+|𝐴|𝑛) triples in 𝑆3. Now, for each (𝐾, 𝑋, π‘Œ)∈ 𝑆5, there are only two cases.

Case 1:There is a triple (𝐾, 𝑋′, π‘Œβ€²)βˆˆπ‘†1βˆͺ Β· Β· Β· βˆͺ𝑆4such that either (i)𝑋′ =𝑋 butπ‘Œβ€² ΜΈ=π‘Œ, or (ii)π‘Œβ€²=π‘Œ but𝑋′ ΜΈ=𝑋. In this case, given that𝐸is consistent 𝑆1βˆͺ Β· Β· Β· βˆͺ𝑆4, if we query𝐸𝐾(𝑋) then the answer will not beπ‘Œ.

Case 2:There is no triple (𝐾, 𝑋′, π‘Œβ€²)βˆˆπ‘†1βˆͺ Β· Β· Β· βˆͺ𝑆4 such that either𝑋 =𝑋′ or π‘Œ =π‘Œβ€². Hence, conditioning that 𝐸 is consistent with 𝑆1βˆͺ Β· Β· Β· βˆͺ𝑆4, since there are at least 2π‘›βˆ’ |𝑆1βˆͺ Β· Β· Β· βˆͺ𝑆4| β‰₯2π‘›βˆ’1 equally likely choices for 𝐸𝐾(𝑋), the conditional probability that𝐸(𝐾, 𝑋) =π‘Œ is at most 2/2𝑛.

Hence in both case, conditioning that 𝐸 is consistent with𝑆1βˆͺ Β· Β· Β· βˆͺ𝑆4, if we query𝐸𝐾(𝑋) then the conditional probability that we get π‘Œ is at most 2/2𝑛. By union bound,𝑃5β‰₯1βˆ’ |𝑆5| Β·2/2𝑛β‰₯1βˆ’2π‘ž/2𝑛. Hence

pS0(𝜏) pS1(𝜏) β‰₯1βˆ’ 2π‘ž 2𝑛 β‰₯1βˆ’ 0.5𝐿𝐡 2𝑛 . F.1 Proof of Theorem 5

We now discuss how to adapt the proof of Theorem 4 to deal with a weakly regular hash 𝐻. The definition of bad transcripts is exactly the same, and so is the bound on the transcript ratio; the changes are the probabilities that bad transcripts occur, specifically for eventsℬ1,ℬ5,andℬ6. Note that we assume an upper bound 𝑑on the number of users re-using a particular nonce𝑁, and this is going to be used below. Let 𝒳1 is the random variable for the transcript in the ideal system.

Analysis ofℬ1.Letπœ–1be the value that theGMAC+proof uses to upper-bound the probability of bad transcripts, for any adversary π’œ that makes at most π‘ž evaluation queries whose total block length is at most𝐿, at most𝐡-block queries per user, and 𝑝ideal-cipher queries, and for any𝛽-pairwise AU key-generation algorithm, assuming that each nonce is reused across at most𝑑users. As in the proof of Theorem4,

Pr[𝒳1∈ ℬ1]β‰€πœ–1 .

The only change here is that now we need to use Theorem 3 (instead of Theo- rem2) to obtainπœ–1. In particular, applying Theorem3withπœ†= 2 and note that π‘žβ‰€πΏ/2, πœ–1≀ (1 + 2𝛽𝑐)𝐿𝐡 2𝑛 + 2𝛽𝑐𝐿𝑝+ (2𝛽𝑐+𝛽)𝐿2 2𝑛+π‘˜ + 𝑑(𝑝+𝐿) 2π‘˜ .

Analysis of ℬ5.First, consider the case that𝒳1falls intoℬ5 due to some en- tries (vf, 𝑖, 𝑁, 𝐢, 𝐴,false) and (eval, 𝑗, 𝑁′, 𝑀′, 𝐴′, 𝑇) such that either (1) (𝑀, 𝐴)ΜΈ= (πœ€, πœ€) or (2) (𝑀′, 𝐴′) ΜΈ= (πœ€, πœ€) or (3) (𝑀, 𝐴) = (𝑀′, 𝐴′) and𝑖 =𝑗, where 𝑀 is the decrypted message of the verification entry. As in the proof of Theorem4, this case happens with probability at most 𝑐𝛽𝐿2𝑛+π‘˜2 +

2𝑐𝛽𝐿𝐡 2𝑛 .

Next consider an entry (vf, 𝑖, 𝑁, 𝐢, 𝐴,false) such that both decrypted message 𝑀 and associated data 𝐴 are empty. Consider an entry (eval, 𝑗, 𝑁′, 𝑀′, 𝐴′, 𝑇) such that (𝑀′, 𝐴′) = (πœ€, πœ€), 𝑗 ΜΈ= 𝑖, and 𝑇 is the IV of 𝐢. Let 𝐾in ‖𝐾out and 𝐾inβ€² ‖𝐾outβ€² be the keys of users𝑖 and𝑗 respectively. Since𝐻 is weakly regular, 𝐻(𝐾in, 𝑀, 𝐴) =𝐻(𝐾inβ€², 𝑀′, 𝐴′) = 0𝑛. For these pair of entries to cause𝒳1to fall into ℬ5, we must have xor(0𝑛, 𝑁) =xor(0𝑛, 𝑁′), meaning that𝑁 =𝑁′, due to the injectivity ofxor. Since the nonce𝑁 is used across at most𝑑users, there are at most𝑑choices for the index𝑗. On the other hand, the chance that𝐾out=𝐾outβ€² is at most 2βˆ’π‘˜. Summing this over𝑑choices of𝑗, and overπ‘žverification queries, we obtain a boundπ‘žπ‘‘/2π‘˜ ≀𝐿𝑑/2π‘˜. Hence

Pr[𝒳1∈ ℬ5]≀ 𝑐𝛽𝐿2 2𝑛+π‘˜ + 2𝑐𝛽𝐿𝐡 2𝑛 + 𝐿𝑑 2π‘˜ .

Analysis of ℬ6.First consider the case that some verification entry, in which either the decrypted message or the associated data is non-empty, causes𝒳1 to fall intoℬ6. As in the proof of Theorem 4, one can bound the chance that this case happens by 22𝑐𝛽𝐿𝑝𝑛+π‘˜ . Next, consider an entry (vf, 𝑖, 𝑁, 𝐢, 𝐴,false), in which both the decrypted message𝑀 and the associated data𝐴are the empty string. For each entry (prim, 𝐾, 𝑋, π‘Œ,+), view it as throwing a ball into binπ‘Œ. Likewise, for each entry (prim, 𝐾, 𝑋, π‘Œ,βˆ’), view it as throwing a ball into bin𝑋. Thus there are at most 𝑝≀ 2(1βˆ’πœ–)π‘›βˆ’1 throws. For each 𝑗-th throw, given the result of the prior throws, the conditional probability that the 𝑗-th ball lands into any particular bin is at most 21βˆ’π‘›. From Lemma 10, with probability at least 1βˆ’2βˆ’π‘›/2, each bin contains at mostπ‘Žballs.

Let 𝑇 be the IV of 𝐢 and let 𝐾in‖𝐾out be the key of user 𝑖. Since 𝐻 is weakly regular,𝐻(𝐾in, 𝑀, 𝐴) = 0𝑛. From the balls-into-bins result above, there are at mostπ‘Ž balls in bin 𝑇, and also at most π‘Ž balls in binxor(0𝑛, 𝑁). Thus there are at most 2π‘Žentries (prim, 𝐾,xor(0𝑛, 𝑁), 𝑇,Β·). For each such entry, the chance that 𝐾 = 𝐾out is at most 2βˆ’π‘˜. Hence the chance that the verification entry above causes𝒳1 to fall intoℬ6 is at most 2π‘Ž/2π‘˜. Summing this across at mostπ‘žverification queries, we obtain a bound 2π‘Žπ‘ž/2π‘˜ β‰€π‘ŽπΏ/2π‘˜. Hence

Pr[𝒳1∈ ℬ6]≀ 2𝑐𝛽𝐿𝑝 2𝑛+π‘˜ + π‘ŽπΏ 2π‘˜ .

G

Proof of Lemma

3

Let π‘Ÿ=π‘˜/π‘›βˆˆ {1,2}. Suppose that 𝑅0, . . . , 𝑅5 are sampled uniformly without replacement from a set𝑆 of size at least 1516 Β·2𝑛. Pick an arbitrary string 𝐾 ∈

{0,1}𝑛+π‘˜. Since KD

1.Map outputs (𝑅0‖𝑅1‖𝑅2)[1 : 𝑛+π‘˜], the chance that

KD1.Map(𝑅0, . . . , 𝑅5) =𝐾is at most 1 (1516Β·2π‘›βˆ’2)π‘Ÿ+1 ≀ 1 (78Β·2𝑛)π‘Ÿ+1 ≀ 1 (7/8)3Β·2𝑛(π‘Ÿ+1) ≀ 2 2π‘˜+𝑛 . On the other hand, the chance thatKD0.Map(𝑅0, . . . , 𝑅5) =𝐾is at most

1 (⌊(1516Β·2π‘›βˆ’5)/2𝑛/2βŒ‹)2(π‘Ÿ+1) ≀ 1 (2932Β·2𝑛/2)2(π‘Ÿ+1) ≀ 1 (29/32)6Β·2𝑛(π‘Ÿ+1) ≀ 2 2π‘˜+𝑛 . This concludes the proof.

H

Proof of Proposition

2

We will first construct adversariesπ’œ1 andπ’œ2 such that

Advmu-priv

AE,𝐸 (π’œ1)≀Adv mu-mrae

AE,KeyGen,𝐸(π’œ1), and

AdvmuAE,𝐸-auth(π’œ2)≀2AdvmuAE,KeyGen,𝐸-mrae (π’œ2) .

If we can do that, one can constructπ’œas follows. It picks a numberπ‘Žβ†${0,1,2}. Ifπ‘Ž= 0 then it runsπ’œ1, uses its oracles to answer the latter’s queries accordingly, and outputs the same bit thatπ’œ1outputs. Ifπ‘Žβˆˆ {1,2}then it runsπ’œ2, uses its oracles to answer the the latter’s queries accordingly, and outputs the same bit that π’œ2 outputs. Then

AdvmuAE,KeyGen,𝐸-mrae (π’œ) = 1 3Adv mu-mrae AE,KeyGen,𝐸(π’œ1) + 2 3Adv mu-mrae AE,KeyGen,𝐸(π’œ2) β‰₯1 3Adv mu-priv AE,𝐸 (π’œ1) + 1 3Adv mu-auth AE,𝐸 (π’œ2) .

We now construct π’œ1. Without loss of generality, assume thatπ’œ1 does not re- peat a prior query, and assumes that for each encryption query (𝑖, 𝑁, 𝑀, 𝐴), it must call New(Β·) at least 𝑖 times before, so that user 𝑖 was initialized. Ad- versary π’œ1 initializes a counter 𝑣 ← 0 and a map 𝑉 = βŠ₯, and then runs π’œ1. For each encryption query (𝑖, 𝑁, 𝑀, 𝐴) of π’œ1, if 𝑉[𝑖, 𝑁] = βŠ₯ then π’œ1 calls New(aux) with aux = (𝑖, 𝑁), updates 𝑉[𝑖, 𝑁] ← 𝑣+ 1, and increments 𝑣. It returns Enc(𝑗, 𝑁, 𝑀, 𝐴) to π’œ1, with 𝑗 ← 𝑉[𝑖, 𝑁]. Finally, when π’œ1 outputs a bit thenπ’œ1 outputs the same bit. Then

Advmu-priv

AE,𝐸 (π’œ1)≀Adv mu-mrae

AE,KeyGen,𝐸(π’œ1) .

Next, we construct π’œ2 as follows. Without loss of generality, assume that π’œ2 does not repeat a prior query, and assumes that for each encryption/verification query (𝑖, 𝑁,Β·, 𝐴), it must call New(Β·) at least 𝑖 times before, so that user 𝑖 was initialized. Adversary π’œ2 initializes a counter 𝑣 ← 0 and a map 𝑉 = βŠ₯,

and then runsπ’œ2. For each encryption/verification query (𝑖, 𝑁, 𝑋, 𝐴) of π’œ2, if 𝑉[𝑖, 𝑁] =βŠ₯thenπ’œ2callsNew(aux) withaux= (𝑖, 𝑁), updates𝑉[𝑖, 𝑁]←𝑣+ 1, and increments𝑣. If this is an encryption query then it returnsEnc(𝑗, 𝑁, 𝑋, 𝐴) to π’œ2 with 𝑗 ← 𝑉[𝑖, 𝑁]. Otherwise it calls Vf(𝑗, 𝑁, 𝑋, 𝐴), with 𝑗 ← 𝑉[𝑖, 𝑁]. Finally,π’œ2will output 1 if and only if some verification query returns true. Let 𝑐 be the challenge bit of gameGmu-auth

AE,𝐸 (π’œ2). Then

Pr[GmuAE,KeyGen,𝐸-mrae (π’œ2)|𝑐= 1] = Pr[GmuAE,𝐸-auth(π’œ2)] .

On the other hand, if 𝑐 = 0 then π’œ2 always receives false for any verification query. Thus

Pr[GmuAE,KeyGen,𝐸-mrae (π’œ2)|𝑐= 0] = 1 2 . Summing up,

AdvmuAE,KeyGen,𝐸-mrae (π’œ2) = 1 2Adv mu-auth AE,𝐸 (π’œ2) as claimed.

I

Proof of Lemma

4

For two outputs 𝐾 and 𝐾′ generated by KeyGen, by symmetry, there are only four cases.

Case 1:𝐾and𝐾′are independent, random strings. For any two strings (𝐽, 𝐽′)∈ ({0,1}π‘˜+𝑛)2, the chance that (𝐾, 𝐾′) = (𝐽, 𝐽′) is 1/22(π‘˜+𝑛).

Case 2: 𝐾 =KD[π‘˜](πœ‹π‘–, 𝑁) for someπœ‹π‘–β†$Perm(𝑛), and𝐾′←${0,1}π‘˜+𝑛. For any two strings (𝐽, 𝐽′)∈({0,1}π‘˜+𝑛)2, sinceKD[𝐸] is 2-unpredictable, the chance that (𝐾, 𝐾′) = (𝐽, 𝐽′) is at most 2 2π‘˜+𝑛 Β· 1 2π‘˜+𝑛 = 2 22(π‘˜+𝑛) .

Case 3:𝐾 =KD[π‘˜](πœ‹π‘–, 𝑁) for some πœ‹π‘–β†$Perm(𝑛), and 𝐾′←$KD[π‘˜](πœ‹π‘–, 𝑁′), with 𝑁 ΜΈ= 𝑁′. For any two strings (𝐽, 𝐽′) ∈ ({0,1}π‘˜+𝑛)2, since KD[𝐸] is 2- unpredictable, the chance that𝐾=𝐽 is at most 2/2𝑛+π‘˜. Forπ‘ βˆˆ {0, . . . ,5}, let 𝑅𝑠←pad(𝑁, 𝑠) and𝑅′𝑠←pad(𝑁′, 𝑠). Given (𝑅0, πœ‹π‘–(𝑅0)), . . . ,(𝑅5, πœ‹π‘–(𝑅5)), the values of πœ‹π‘–(𝑅′0), . . . , πœ‹π‘–(𝑅′5) are sampled uniformly without replacement from a set of at least 2π‘›βˆ’6β‰₯ 15

16Β·2

𝑛. SinceKD[𝐸] is 2-unpredictable, given that𝐾=𝐽, the conditional probability that 𝐾′ =𝐽′ is at most 2/2π‘˜+𝑛. Hence the chance that 𝐾=𝐽 and𝐾′=𝐽′ is at most

2 2π‘˜+𝑛 Β· 2 2π‘˜+𝑛 = 4 22(π‘˜+𝑛) .

Case 4:𝐾=KD[π‘˜](πœ‹π‘–, 𝑁) and𝐾′←$KD[π‘˜](πœ‹π‘—, 𝑁′), forπœ‹π‘–, πœ‹π‘—β†$Perm(𝑛). For any two strings (𝐽, 𝐽′)∈({0,1}π‘˜+𝑛)2, sinceKD[𝐸] is 2-unpredictable, the chance that (𝐾, 𝐾′) = (𝐽, 𝐽′) is at most 2 2π‘˜+𝑛 Β· 2 2π‘˜+𝑛 = 4 22(π‘˜+𝑛) . Combining all cases, KeyGenis indeed 4-pairwise AU.

Related documents