E Proof of Theorem
E.1 Proof of Theorem
We merely discuss how to adapt the proof of Theorem2to accommodate the case thatπ»πΎin(π, π) = 0
πfor all keysπΎ
in, whereπdenotes the empty string. Further, this yields a proof for Theorem3. The bad transcripts are exactly the same as in Theorem 2, the changes are the probabilities that these bad transcripts occur, specifically for the events β¬12 andβ¬3. 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.
Analysis of β¬12.Recall that we are looking at the probability that there are two transcript entries (eval, π1, π1, π΄1, π1, π1) and (eval, π2, π2, π΄2, π2, π2) with π1ΜΈ=π2,πΎoutπ1 =πΎoutπ2, and
xor(π»πΎπ1 in
(π1, π΄1), π1) =xor(π»πΎπ2 in
(π2, π΄2), π2).
Note that here (π1, π΄1, π1) = (π2, π΄2, π2) is allowed. There are three sub-cases resulting in three different probability terms:
β If (π1, π΄1)ΜΈ= (π, π), (π2, π΄2)ΜΈ= (π, π), then we are in the same situation as in Theorem2 above, and get an upper bound πΆππΏ
2π+π. β If (π1, π΄1) = (π, π) and (π2, π΄2)ΜΈ= (π, π), then Pr[xor(π»πΎπ1 in (π1, π΄1), π1) =xor(π»πΎπ2 in (π2, π΄2), π2)β§πΎoutπ1 =πΎ π2 out]β€ β€πΆΒ·(|π2|π+|π΄2|π) 2π+π ,
where we have used the regularity of the function output on (π2, π΄2). Taking a union bound over all such pairs, this results in a term πΆππΏ
2π+π.
β Finally, we consider the case of (π1, π΄1) = (π2, π΄2) = (π, π). Here, the prob- ability Pr[xor(π»πΎπ1 in (π1, π΄1), π1) =xor(π»πΎπ2 in (π2, π΄2), π2)β§πΎoutπ1 =πΎ π2 out] is either zero ifπ1 ΜΈ=π2, or 2βπ ifπ1=π2. (This follows from the injective property ofxor.) Let nowππ be the number of queries (π, π) with nonceπ, and thus in particular βοΈ
πππ β€π, and further ππ β€ π. Then, the overall probability thatβ¬12 occurs due to such a pair is at most
βοΈ π π2π/2π β€πΒ·βοΈ π ππ/2π β€ππ 2π .
Analysis of β¬3.As in Theorem2, the probability that for one of theπPrim queries (prim, πΎ, π, π) and one of theπ Evalqueries (eval, π, π, π΄, π, π) with (π, π΄)ΜΈ= (π, π) we haveπΎoutπ =πΎ andxor(π»πΎπ
in(π, π΄), π) =π is at most πΆππΏ 2π+π. In contrast, for a nonceπ, let πβ² =xor(0π, π). Then, for everyPrimquery (prim, πΎ, πβ², π), there are at most π Evalqueries (eval, π, π, π, π, π), and the probability that πΎπ
in =πΎ for any of these is 2βπ. Therefore, the overall proba- bility that the transcript is inβ¬3because of such a pair is at most ππ2π.
F
Proof of Theorem
4
We will use the H-coefficient technique. The real system S0 and ideal system
S1 implement game AdvmuAE,KeyGen,πΈ-mrae (π) with challenge bit 1 and 0 respectively. Assume thatπdoes not repeat a prior query (except forNewones), and it does not make redundant ideal-cipher queries. Assume that if the adversary makes
an encryption query (π, π, π, π΄) for an answer πΆ then later it will not make a verification query (π, π, πΆ, π΄). Since we consider computationally unbounded adversaries, without loss of generality, assume that the adversary is deterministic. When the adversary finishes querying, we grant it all the keysπΎ1, πΎ2,Β· Β· Β·. This should only help the adversary. Beside the revealed keys and the information of theNewqueries, the transcript stores the following information:
β Ideal-cipher queries: for each query πΈ(πΎ, π) with answer π, create an entry (prim, πΎ, π, π,+). Likewise, for each query πΈβ1(πΎ, π) with answer π, create an entry (prim, πΎ, π, π,β).
β Encryption queries: for each encryption query (π, π, π, π΄) with answer πΆ, store an entry (enc, π, π, π, π΄, πΆ). Additionally, in the real world, grant the adversary the table of triples (πΎ, π, πΈπΎ(π)) for any queryπΈ(πΎ, π) that
CTR[πΈ].E(π½π, π;π) makes, whereπ½πis theπ-bit suffix of the keyπΎπof userπ, and π is the IV ofπΆ. In the ideal world, generate the corresponding fake table as described in Section5. The extra information in the table will only help the adversary.
β Verification queries: for each verification query (π, π, πΆ, π΄) with answerπ, store an entry (vf, π, π, πΆ, π΄, π).
Now, from such a transcript π, we can extract a transcriptR1(π) for GMAC+, and another transcript R2(π) for CTR as follows. The transcript R1(π) con- sists of the revealed keys, information of theNewqueries, and allprim entries of π, and for each entry (enc, π, π, π, π΄, πΆ) of π, we accordingly store an entry (eval, π, π, π, π΄, π) inR1(π), whereπ is the IV ofπΆ. The transcriptR2(π) con- sists of the π-bit suffixes of the revealed keys, information of the Newqueries, and allprimentries ofπ, and for each entry (enc, π, π, π, π΄, πΆ) ofπ, we accord- ingly store an entry (enc, π, π, πΆ) in R2(π). If (1) R1(π) is GMAC+-good and
R2(π) isCTR-good, and (2)πcontains no verification query of answertrue, then we additionally grant the adversary the following information:
β In the real world, for each entry (vf, π, π, πΆ, π΄,false), we runCTR[πΈ].D(π½π, πΆ), whereπ½πis theπ-bit suffix ofπΎπ, and grant the adversary the decrypted mes- sageπ. For each queryπΈ(πΎ, π) of answerπ thatCTR[πΈ].Dmakes, if there is no entry (prim, πΎ, π, π,Β·) or no triple (πΎ, π, π) in all tables then we grant the adversary an entry (dec, πΎ, π, π).
β In the ideal world, create a blockcipher ΛπΈ : {0,1}π Γ {0,1}π β {0,1}π as follows. For each πΎ β {0,1}π, sample ΛπΈ(πΎ,Β·) uniformly random from Perm(π), subject to the constraint that (i) for any entry (prim, πΎ, π, π,Β·) inR2(π), we must have ΛπΈ(πΎ, π) =π, and (ii) for any triple (πΎ, πβ², πβ²) in the tables ofR2(π), we must have ΛπΈ(πΎ, πβ²) =πβ². This blockcipher can be generated, becauseR2(π) is CTR-good. For each entry (vf, π, π, πΆ, π΄,false), we run CTR[ ΛπΈ].D(π½π, πΆ), where π½π is the π-bit suffix of πΎπ and grant the adversary the decrypted messageπ, and the entries (dec, πΎ, π, π) as above. Defining bad transcripts.A transcriptπ isbad if one of the following hap- pens:
1. TheGMAC+-transcriptR
1(π) ofπ isGMAC+-bad. 2. TheCTR-transcriptR2(π) ofπ isCTR-bad.
3. There is a table in R2(π) that contains a triple (πΎ, π, π), and there is an entry (eval, π, π, π, π΄, π) inR1(π) such that πΎ =πΎout and π =π, where πΎinβπΎout is the keyπΎπ of userπ.
4. There is an entry (dec, πΎ, π, π) in π and an entry (eval, π, π, π, π΄, π) in
R1(π) such that πΎ = πΎout and π = π, where πΎinβπΎout is the keyπΎπ of userπ.
5. There is an entry (vf, π, π, πΆ, π΄,false) inπand an entry (eval, π, πβ², πβ², π΄β², π) inR1(π) such thatπis the IV ofπΆ,πΎout =πΎoutβ² , andxor(π»(πΎin, π, π΄), π) =
xor(π»(πΎinβ², πβ², π΄β²), πβ²), whereπΎinβπΎoutandπΎinβ² βπΎoutβ² are the keysπΎπ and πΎπ of usersπandπ respectively, andπ is the decrypted message associated with thevf entry above.
6. There are entries (prim, πΎ, π, π) and (vf, π, π, πΆ, π΄,false) in π such that πΎ =πΎout, π =π, and xor(π»(πΎin, π, π΄), π) =π, where πΎinβπΎout is the key πΎπ of user π, and π is the IV of πΆ, and π is the decrypted message associated with thevf entry above.
If a transcript is not bad then we say that it isgood. Below, letπ1be the number that the GMAC+ 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. Applying Theorem2with π= 2, and note thatπβ€πΏ,
π1β€
(1 + 2π½π)πΏπ΅
2π +
2π½ππΏπ+ (2π½π+π½)πΏ2
2π+π (8)
Define π2 for CTR similarly, for a 2π½π-smooth key-generation algorithm, where the notion of smoothness can be found in Section4.1. Applying Theorem1with πΌ=π½/2π andβ=πβ1, and note thatπβ€πΏ,
π2β€ 1 2π/2 + 3πΏπ΅ 2π + 3π½πΏ2 2π+π + π½ππ 2π (9)
Probability of bad transcripts. Let π³1 be the random variable for the transcript in the ideal system. Let β¬π denote the set of transcripts that vio- lates theπth constraint in badness. For the first constraint of badness, consider the following adversaryπ attacking the mu-prf security ofGMAC+[π», πΈ], with respect to the key-generation algorithm KeyGen. It runs π and uses its New oracle to respond to the latterβs queries of the same type. For each encryption query (π, π, π, π΄) ofπ, adversaryπqueriesEval(π, π, π, π΄) to get an answer π, generates a ciphertext coreπΆβ² of appropriate length, and then returnsπβπΆβ² to π. For each verification query ofπ, adversaryπsimply returnsfalse. When
π finishes querying and asks for the keys, π also finishes querying and gives
π what it receives. Then the transcript of π in the ideal world has the same distribution as R1(π³1). Since adversary π uses at most π evaluation queries
whose total block length is at mostπΏ, at mostπ΅-block queries per user, andπ ideal-cipher queries,
Pr[π³1β β¬1]β€π1 .
Next, for the second constraint of badness, letKeyGen[π] be the key-generation algorithm such that, on input (st,aux), runs (πΎ,stβ²) β KeyGen(st,aux), and then outputs (π½,stβ²), where π½ is the π-bit suffix ofπΎ. Then KeyGen[π] is 2π½π- smooth. Consider the following adversary π* attacking the mu-ind security of
SE, with respect to the key-generation algorithmKeyGen[π]. It runsπand uses its oracleNewandEncto respond to the latterβs queries of the same type. For each verification query ofπ, adversaryπ*simply returnsfalse. Whenπfinishes querying and asks for the keys, thenπ* also finishes querying and gives πthe keys that it receives. Then the transcript ofπ* in the ideal world has the same distribution as R2(π³1). Since adversary π* uses at most π encryption queries whose total block length is at mostπΏ, at mostπ΅-block queries per user, andπ ideal-cipher queries,
Pr[π³1β β¬2]β€π2 .
For the third constraint of badness, consider a sequence of encryption queries (π1, π1, π1, π΄1), . . . ,(ππ, ππ, ππ, π΄π) with answers πΆ1, . . . , πΆπ respectively. Fix 1 β€ π, π β€ π. Let πΎin βπΎout and πΎinβ² βπΎoutβ² be the keys of users ππ and ππ respectively. Consider the table generated by the π-th encryption query, and theeval entry generated by the π -th encryption query. Recall that this table is generated by (1) padding πΆπ with random bits to have full block length, and padding ππ to have full block length, (2) parsing IVβπΆπ,1β Β· Β· Β· βπΆπ,π βπΆπ, and ππ,1β Β· Β· Β· βππ,π β ππ, with |πΆπ,β| = |ππ,β| = π, and (3) producing (πΎout, π1, πΆπ,1βππ,1), . . . ,(πΎout, ππ, πΆπ,πβππ,π), with πββadd(IV, ββ1). We now compute the probability thatπΎout=πΎoutβ² andπΆπ,ββππ,β=π. Consider the following cases.