0 Rk= Rl
1
|M1| Rk 6= Rj
Pr[Tk = Tl] =
0 Uk = Ul
1
|M2| Uk 6= Uj
Therefore, Pr[Sk= Sl] ≤ |M11|, Pr[Tk = Tl] ≤ |M12|, and from Theorem 2.2.3
AdvCACPCA(d)(Ψ[F1∗, F2∗, F3∗, F4∗]) ≤ 1 − Pr[∀ k 6= l : Sk6= Sl∧ Tk6= Tl]
= Pr[∃ k 6= l : Sk= Sl∨ Tk = Tj]
≤ Pr[∃ k 6= l : Sk= Sj] + Pr[∃ k 6= l : Tk= Tl]
≤d 2
1
|M1| +d 2
1
|M2| = d2
min{|M1|, |M2|}
Note that adding a new round (even a weak one) between the second and third round cannot increase the advantage, because the proof does not depend on what happens between these two rounds.
Corollary 3.8.5 LetF1∗, F2∗, F3∗, F4∗be four independent perfect random functions,F1∗andF3∗from a set M2to a setM1andF2∗andF4∗fromM1toM2,Ψ[F1∗, F2∗, F3∗, F4∗] a 4-round UFN on M = M1×M2, andd an integer. Then
DecCk·kd
s(Ψ[F1∗, F2∗, F3∗, F4∗]) ≤ 2 d2 min{|M1|, |M2|}
Corollary 3.8.6 LetF1, . . . , Frber ≥ 4 independent random functions such that AdvFACPCA(d)(Fi) ≤ ε, and d be an integer. Then
AdvCACPCA(d)(Ψ[F1, . . . , Fr]) ≤1 2
2
4ε + d2
min{|M1|, |M2|}
br4c
Proof: Follows from Theorem 2.4.4 and 2.4.2, and from the note at the end of the proof of Theorem 3.8.4.
3.9 Summary
In this chapter, we studied general types of attacks. For each one we found an associated matrix normk · k, and showed that the advantage between two functions (permutations)F1,F2is
AdvATK(d)(F1, F2) = 1
2k[F1]d− [F2]dk, The normk · k is:
• k·k1the for the known plaintext attack;
• |||·|||∞for the chosen plaintext attack and chosen ciphertext attack;
• k·kafor the adaptive chosen plaintext attack and adaptive chosen ciphertext attack;
• k·ksfor the adaptive chosen plaintext-ciphertext attack.
From the definition of the norms, it follows that
AdvKPA(d)(F1, F2) ≤
AdvCPA(d)(F1, F2) ≤ AdvACPA(d(F1, F2)
≤ AdvCPCA(d)(F1, F2) AdvCCA(d)(F1, F2) ≤ AdvACCA(d)(F1, F2)
≤ AdvACPCA(d)(F1, F2)
The relationship is depicted on the following picture so that the arrows direct from the weaker attacks to the stronger ones, i.e. from attacks with the lower upper-bound on the advantage to the ones with the higher upper-bound.
KPA
CPA -ACPA
@@
@@R
CCA -ACCA
-CPCA
@@
@@R
-ACPCA
@@
@@R
We further examined unbalanced Feistel networksΨ[F1, . . . Fr] : M1× M2→ M1× M2against the attacks, and showed that
• The 2-round UFNs are secure against known plaintext attack in the random oracle model;
• There is no 2-round UFN secure against chosen plaintext attacks;
• The 3-round UFNs are secure against adaptive chosen plaintext attack in the random oracle model;
• There is no 3-round UFN secure against adaptive chosen plaintext-ciphertext attacks;
• The 4-round UFNs are secure against adaptive chosen plaintext-ciphertext attacks in the random oracle model.
More formally: LetDd= min{|Md12|,|M2|}. Then for thed-limited known plaintext, adaptive chosen plain-text, and adaptive chosen plaintext-ciphertext attacks,
• AdvCKPA(d)(Ψ[F1∗, F2∗]) ≤ Dd
• AdvCACPA(d)(Ψ[F1∗, F2∗, F3∗]) ≤ Dd
• AdvCACPCA(d)(Ψ[F1∗, F2∗, F3∗, F∗4]) ≤ Dd
Note that the bounds are minimal for the balanced Feistel network. Further, the attacker must dispose d pmin{|M1|, |M2|} plaintext/ciphertext pairs in order to ensure security against the particular at-tack, and then the minimal number of rounds of a UFN is 3 for pseudorandomness, and 4 for super-pseudorandomness. However, for design of a UFN cipher, we usually need to quantify how many rounds it has to have in order to achieve a defined minimal security, or to find out what size of attack the cipher is able to withstand.
Consider now a UFN defined on {0, 1}n = {0, 1}m× {0, 1}n−m, with m ≤ n2, and thus with min{2m, 2n−m} = 2m. Corollary 3.4.10 implies that in the ideal case, when the primitive functions are perfectly random,
AdvCACPA(d)(Ψ[F1∗, . . . , F3k∗]) ≤1 2
2 · d2
2m
k
Hence, in order to achieve the pseudorandomness with advantage less than2−l, we need k ≥ l − 1
m − 2 lg d − 1,
and thus at least3dm−2 lg d−1l−1 e rounds, or we have to bound the size of the attack to d ≤ 2
b r3c(m−1)−l+1
2k ,
for anr-round UFN.
Similarly, for the super-pseudorandomness, if we want to achieve advantage smaller than2−l, we need at least4dm−2 lg d−1l−1 e rounds, or to bound the size of the attack to d ≤ 2k(m−1)−l+12k for a4k-round UFN.
Evaluating the minimal number of rounds involves two parameters: the maximal size of the attack (d), and the upper-bound of the advantage.
The size of the attack may be surely limited by2n because that is the number of plaintext/ciphertext pairs, and thus withd = 2n the attacker already has all plaintext/ciphertext pairs and does not need to attack the cipher at all. However, in the calculation of the advantage, we required < 2m−12 , but even this upper-bound may be considered to be unrealistic, since an attacker is usually able to get only a few plaintext/ciphertext pairs. Note that we require plaintext/ciphertext pairs encrypted with the right key, not any pairs which can be easily obtained whenever the encryption algorithm is known, which is the accepted rule known as Kerckhoffs’s principle. To obtain many plaintext/ciphertext pairs encrypted with the right key would probably mean access to the encryption device together with the key for quite a long time, which is a security problem beyond the framework of this work. Therefore, we can considerd to be small.
On the other hand, advantage expresses the probability that an attacker can distinguish a cipher from a perfectly random output. It can be seen as amount of calculation necessary to distinguish between them.
Thus, whenevern is considered to be an appropriate block length, i.e. when the exhaustive search of size 2nis deemed to be infeasible,2−ncan be considered as an appropriate value of advantage for the cipher of sizen bits [17]. Applying this for UFNs, we get
k ≥ n − 1
m − 1 − 2 lg d. (3.2)
Composed Attacks
In the previous chapter we showed under which conditions a cipher may withstand different types of attacks.
It is natural to ask whether some combination of these attacks can lead to a more efficient attack against the cipher. This chapter gives some answers to this question. First, we examine the case when an attacker has a simple chosen plaintext attack and repeats it many times in order to get a better advantage. This kind of attack is called iterated attack. The differential and linear cryptanalysis ([4], [15]) happen to be included in this class of attacks, and because of their popularity, we focus on them separately. Then we examine combined attacks which make use of several distinct attacks with the same goal to build a stronger attack, and give upper bounds of their advantage. Here we consider the average advantage of the attacks. Although the small average advantage does not exclude the possibility of weak keys in a particular cipher, it shows that the attack does not work on average, which implies that the fraction of weak keys is negligible against the average case.
4.1 Basic Differential Cryptanalysis
Although differential cryptanalysis was invented by Eli Biham and Adi Shamir [4] in order to recover the encryption key of a cipher, we study here its distinguishing variant which exploits the underlying idea of the differential cryptanalysis. In our notion, the basic differential cryptanalysis is the2d-limited distinguisher with a characteristic(a, b) ∈ M+× M between a cipher C and a perfect cipher C∗ both defined on M = {0, 1}m, working as follows:
DISTINGUISHER4.1 (DCA):2d-limited basic-differential-cryptanalysis distinguisher [21]
1. Fork = 1 to d do
1.1 Choose a random plaintext messagexk.
1.2 Query the oracle withxkandx0k = xk+ a, and get yk = ˜C(xk) and yk0 = ˜C(x0k), where ˜C is eitherC or C∗.
1.3 If ˜C(xk+ a) = ˜C(xk) + b, stop and output “accept”.
2. Output “reject”.
Differential cryptanalysis depends on the following probability [21]:
DPC[a, b](x) = Pr[C(x + a) = C(x) + b ]
wherex has the uniform distribution over all plaintext messages. The probability of success in one round is DPC[a, b] = E(DPC[a, b](x)) =X
x
Pr[x] · Pr[C(x + a) = C(x) + b ]
= 1
|M|
X
x
Pr[C(x + a) = C(x) + b ]
= 1
|M|
X
x
X
y
Pr[C(x) = y ∧ C(x + a) = y + b ]
= 1
|M|
X
x
X
y
[C]2(x,x+a)(y,y+b).
43
Sincea 6= 0, for a perfect cipher: The probability that the distinguisher accepts whenC is implemented is
p = X
For a perfect cipher it gives,
p∗≤ d · DPC∗[a, b] = d Theorem 4.1.1 ([21]) LetC be a cipher on M, and d an integer. Then
AdvCDCA(2d)(C) ≤ d