User:Ghefchob/sandbox

From Wikipedia, the free encyclopedia

Differential-linear cryptanalysis is a general form of chosen plaintext cryptanalysis, that combines the ideas from both differential cryptanalysis and linear cryptanalysis. The technique allows an attacker to reduce the number of rounds that a linear characteristic must cover, resulting in a reduction (for vulnerable ciphers) in the data complexity of linear cryptanalysis attacks. It works by comparing the parity of linear approximations, for a pair of ciphertexts with a known plaintext difference (see #Technique in detail).

It was introduced by Martin Hellman and Susan K. Langford in 1994 [1], as an attack on 8 rounds of DES. The attack recovers 10 bits of key with an 80% success probability, given 512 chosen plaintexts [1]. This was an improvement of more than an order of magnitude compared to the earlier results for 8-round DES [1][2][3]. Later the technique has been used to successfully analyze, among others, the block ciphers Camellia[4], IDEA [5] and Serpent [6], but it is also applicable to stream ciphers. Preneel and Wu used differential-linear cryptanalysis to break the stream cipher Phelix with significantly fewer operations than exhaustive key search [7], given attacker controlled nonces.

Technique in detail[edit]

To illustrate the idea we consider an application of the technique to a modified example cipher, which was adopted from a tutorial by Knudsen and Robshaw[8]. This cipher can be distinguished from a random oracle (following the explanation of differential-linear cryptanalysis given by Biham et al.[6]). The following figure illustrates the operation of the block cipher (block- and key sizes are omitted, as they are not needed for the explanation):

FIGURE MISSING

Chaining characteristics[edit]

Let there be a truncated characteristic, , which holds for with probability 1, and a linear characteristic, , which holds for with probability . Then if we have two messages, and , with a difference of , we know that the difference after is . If the linear characteristic for uses only the bits from the output difference that are constant, and the dot product between the output difference and the input mask is , then then we know that . In other words, the input bits to the linear approximation is the same for the two messages.

The linear characteristic for gives us a probability of for the relation to hold (and likewise for ). For the output parity of the two encrypted messages to be equal, the linear approximation must then either hold or fail for both messages. The probability of this happening is , which gives a bias that can be used to distinguish the cipher from a random oracle.

Distinguishing attack[edit]

The distinguishing attack on the cipher is performed by requesting the encryption of several message pairs with an input difference of . For each resulting ciphertext pair, and , we test if the output parity of the ciphertexts is the same (). If the cipher was implemented as a random oracle, we would expect this relation to hold with probability . But the differential-linear property described above tells us that the relation holds with probability for the cipher. Given enough chosen plaintexts (on the order of [6]), we may therefore distinguish it from a random oracle.

If we add another round to the example cipher, we may use this distinguisher to recover the last subkey. Given several pairs of ciphertexts, created from plaintexts with a difference of , we try every possible value for the last subkey. For every guess we calculate our way back from the ciphertexts, through the last S-Box. We may then consider the values we get to be outputs from the cipher above, and apply our distinguisher. For an incorrect guess we expect the ciphertexts to act as if they came from a random oracle, but a correct guess will exhibit the bias described above. This allows us to identify the correct value for the last subkey.

Further extensions[edit]

Biham, Dunkelman and Keller extended the technique to use differential charactersitics with a probability of less than 1[9]. Using this generalization they were able to attack 9 rounds of DES [9], and 11 rounds of Serpent[6]. It is also possible to use a combination of characteristics where , with the change that one then looks for output parities that are different [9]. Extending differential-linear cryptanalysis with higher-order differentials and bilinear cryptanalysis has also been explored to create new attacks[10]

References[edit]

  1. ^ a b c Langford, Susan K.; Hellman, Martin E. (1994). "Differential-Linear Cryptanalysis". Advances in Cryptology — CRYPTO '94. Lecture Notes in Computer Science. Vol. 839. p. 17. doi:10.1007/3-540-48658-5_3. ISBN 978-3-540-58333-2.
  2. ^ Matsui, Mitsuru (1994). "Linear Cryptanalysis Method for DES Cipher". Advances in Cryptology — EUROCRYPT '93. Lecture Notes in Computer Science. Vol. 765. p. 386. doi:10.1007/3-540-48285-7_33. ISBN 978-3-540-57600-6.
  3. ^ Biham, E.; Shamir, A. (1993). Differential Cryptanalysis of the Data Encryption Standard. doi:10.1007/978-1-4613-9314-6. ISBN 978-1-4613-9316-0.
  4. ^ Wu, Wenling; Feng, Dengguo (2004). "Differential-Linear Cryptanalysis of Camellia". Progress on Cryptography. The International Series in Engineering and Computer Science. Vol. 769. p. 173. doi:10.1007/1-4020-7987-7_24. ISBN 1-4020-7986-9.
  5. ^ Borst, Johan; Knudsen, Lars R.; Rijmen, Vincent (1997). "Two Attacks on Reduced IDEA". Advances in Cryptology — EUROCRYPT '97. Lecture Notes in Computer Science. Vol. 1233. p. 1. doi:10.1007/3-540-69053-0_1. ISBN 978-3-540-62975-7.
  6. ^ a b c d Biham, Eli; Dunkelman, Orr; Keller, Nathan (2003). "Differential-Linear Cryptanalysis of Serpent". Fast Software Encryption. Lecture Notes in Computer Science. Vol. 2887. p. 9. doi:10.1007/978-3-540-39887-5_2. ISBN 978-3-540-20449-7.
  7. ^ Wu, Hongjun; Preneel, Bart (2007). "Differential-Linear Attacks Against the Stream Cipher Phelix". Fast Software Encryption. Lecture Notes in Computer Science. Vol. 4593. p. 87. doi:10.1007/978-3-540-74619-5_6. ISBN 978-3-540-74617-1.
  8. ^ Knudsen, L. R.; Robshaw, M. J. B. (2011). The Block Cipher Companion. Information Security and Cryptography. doi:10.1007/978-3-642-17342-4. ISBN 978-3-642-17341-7.
  9. ^ a b c Biham, Eli; Dunkelman, Orr; Keller, Nathan (2002). "Enhancing Differential-Linear Cryptanalysis". Advances in Cryptology — ASIACRYPT 2002. Lecture Notes in Computer Science. Vol. 2501. p. 254. doi:10.1007/3-540-36178-2_16. ISBN 978-3-540-00171-3.
  10. ^ Biham, Eli; Dunkelman, Orr; Keller, Nathan (2005). "New Combined Attacks on Block Ciphers". Fast Software Encryption. Lecture Notes in Computer Science. Vol. 3557. p. 126. doi:10.1007/11502760_9. ISBN 978-3-540-26541-2.

Category:Cryptographic attacks