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.