A Differential-Linear Attack on 12-Round Serpent

A Differential-Linear Attack on 12-Round Serpent

A Differential-Linear Attack on 12-Round Serpent Orr Dunkelman1,⋆, Sebastiaan Indesteege2,⋆⋆, and Nathan Keller3,⋆⋆⋆ 1 Ecole´ Normale Sup´erieure D´epartement d’Informatique, CNRS, INRIA 45 rue d’Ulm, 75230 Paris, France. [email protected] 2 Katholieke Universiteit Leuven Department of Electrical Engineering ESAT/SCD-COSIC Kasteelpark Arenberg 10, B-3001 Leuven-Heverlee, Belgium [email protected] 3Einstein Institute of Mathematics, Hebrew University. Jerusalem 91904, Israel [email protected] Abstract. Serpent is an SP Network block cipher submitted to the AES competition and chosen as one of its five finalists. The security of Serpent is widely acknowledged, especially as the best known attack so far is a differential-linear attack on only 11 rounds out of the 32 rounds of the cipher. In this paper we introduce a more accurate analysis of the differential- linear attack on 11-round Serpent. The analysis involves both theoretical aspects as well as experimental results which suggest that previous at- tacks had overestimated complexities. Following our findings we are able to suggest an improved 11-round attack with a lower data complexity. Using the new results, we are able to devise the first known attack on 12-round Serpent. 1 Introduction Serpent [1] is one of the five block ciphers chosen as AES finalists. The cipher has an SP Network structure repeating 32 rounds consisting of 4-bit to 4-bit S-boxes and a linear transformation. The block size is 128 bits, and the supported key size is of any length between 0 and 256 bits. Since its introduction, Serpent was the target of extensive cryptanalytic ef- forts [5–7, 9, 13]. Despite that, the best previously known attack is on 11-round ⋆ The first author was supported by the France Telecome Chaire. Some of the work presented in this paper was done while the first author was staying at K.U. Leuven. ⋆⋆ F.W.O. Research Assistant, Fund for Scientific Research – Flanders (Belgium). Also supported by the IAP Programme P6/26 BCRYPT of the Belgian State (Belgian Science Policy). ⋆⋆⋆ The research presented in this paper was supported by the Adams fellowship. Serpent. In [13] a 256-bit key variant of 9-round Serpent is attacked using the amplified boomerang attack. The attack requires 2110 chosen plaintexts and its time complexity is 2252 9-round Serpent encryptions. In [5] the rectangle attack is applied to 256-bit key 10-round Serpent. The attack uses 2126.8 chosen plaintexts and has a time complexity of 2217 memory accesses.1 The 10-round rectangle attack is improved in [7] and the improved attack requires 2126.3 chosen plaintexts with time complexity of 2173.8 memory accesses. A similar boomerang attack which requires almost the entire code book is also presented in [7]. In [6] a linear attack on 11-round Serpent is presented. The attack exploits a 9-round linear approximation with bias of 2−58. The attack requires data com- plexity of 2118 known plaintexts and time complexity of 2214 memory accesses. The linear approximation presented in [6] is combined with a differential in [9] to construct a differential-linear attack on 11-round Serpent. The data complexity of this attack is 2125.3 chosen plaintexts and the time complexity is about 2139.2 11-round Serpent encryptions. The first attack on 10-round Serpent with 128-bit keys is also presented in [9]. The 10-round attack requires 2107.2 chosen plaintexts and 2125.2 10-round Serpent encryptions. We note that Serpent is also very common example in research about the use of multiple linear approximations in linear cryptanalysis [11, 12]. This line of research actually shows that the use of multiple linear approximations can give a great advantage from the data complexity point of view, but not necessarily from the time complexity point of view. In this paper we present a more accurate analysis of the 11-round attack from [9], showing that the attack requires less data than previously believed (namely, 2121.8 chosen plaintexts). This leads to an immediate reduction in the time complexity of the attack (to 2135.7 encryptions). We then switch the order of the differential and the linear parts in the differential-linear approximation. The new 9-round differential-linear approximation is used to construct a new 11-round attack that uses 2113.7 chosen ciphertexts and has a running time of 2137.7 memory accesses. The reduced data and time complexities allow to extend the 11-round attack from [9] by one extra round, and obtain the first 12-round attack on Serpent. This attack requires 2123.5 chosen plaintexts and has a time complexity of 2249.4 encryptions. Finally, we present a novel related-key attack applicable to a modified variant of Serpent in which the round constants are removed from the key schedule algorithm. We note that, while the removal of these constants changes the cipher into a more symmetric structure, the repeated core, i.e., 8-round Serpent, is still relatively secure. The (still) non-trivial key schedule and the strong keyed permutation make most related-key attacks are quite likely to fail. We organize this paper as follows: In Section 2 we present a short description of Serpent. Section 3 describes the differential-linear technique. We present the 1 In [5] a different number is quoted, but in [7] this mistake is identified, and the correct time complexity of the algorithm is presented. 2 differential-linear attacks of this paper (the improved 11-round attack and the new 12-round attack) in Section 4. Section 5 describes a related-key attack on a modified variant of Serpent. We summarize our results and compare them with previous results on Serpent in Section 6. The appendices contain the differentials and the linear approximation used in the attacks. 2 A Description of Serpent In [1] Anderson, Biham and Knudsen presented Serpent. Serpent has a block size of 128 bits and it accepts 0–256 bit keys. Serpent is an SP Network block cipher with 32 rounds. Each round is composed of key mixing, a layer of S-boxes and a linear transformation. There is an equivalent bitsliced description which is more efficient and easier to describe. In our description we adopt the notations of [1] in the bitsliced version. The intermediate value before round i is denoted by Bˆi (a 128-bit value), where the 32 rounds are numbered 0, 1,..., 31. Each Bˆi is composed of four 32-bit words X0,X1,X2,X3. Serpent uses a set of eight 4-bit to 4-bit S-boxes. Each round function Ri uses a single S-box applied 32 times in parallel. For example, R0 uses 32 copies of S0 in parallel. The first copy of S0 takes the least significant bits from X0,X1,X2,X3 and returns the output to these bits. The set of eight S-boxes is used four times. S0 is used in round 0, S1 is used in round 1, etc. After using S7 in round 7, S0 is used again in round 8, then S1 in round 9, and so on. In the last round (round 31) the linear transformation is omitted and another key is XORed. The cipher may be formally described by the following equations: Bˆ0 := P Bˆi+1 := Ri(Bˆi) i =0,..., 31 C := Bˆ32 where Ri(X) = LT (Sˆi(X ⊕ Kˆi)) For i =0,..., 30 Ri(X) = Sˆi(X ⊕ Kˆi) ⊕ Kˆ32 For i = 31 ˆ where Si is the application of the S-box S(i mod 8) thirty two times in parallel, and LT is the linear transformation of Serpent. As our attack do not use explictly the properties of the linear transformation or the key schedule algorithm, we omit their description and refer the interested reader to [1]. 3 Differential-Linear Cryptanalysis Differential cryptanalysis [2] analyzes ciphers by studying the development of differences through the encryption process. A differential attack is mostly con- cerned with an input difference ΩP for which an output difference ΩT holds with 3 high enough probability (even though there are variants which use the fact that the probability is zero). Linear cryptanalysis [16] analyzes the cipher by approximating the encryption process in a linear manner. The attacker finds a linear approximation λP · P ⊕ λT · T which holds with probability 1/2+ q (q might be negative) and gathers many plaintexts and ciphertexts. By checking whether the approximation holds, one can deduce subkey information or distinguish the cipher from a random permutation. In 1994, Langford and Hellman [15] showed that both kinds of analysis can be combined together in a technique called differential-linear cryptanalysis. The attack uses a differential that induces a linear relation between two intermediate encryption values with probability one. In [8, 14] this technique is extended to the cases where the probability of the differential part is smaller than one. We use notations based on [2, 4] for differential and linear cryptanalysis, respectively. In our notations ΩP , ΩT are the input and output differences of the differential characteristic, and λT , λC are the input and output subsets (denoted by bit masks) of the linear approximation. Let E be a block cipher described as a cascade of two sub-ciphers E0 and E1, i.e., E = E1 ◦E0. Langford and Hellman suggested to use a truncated differential ΩP → ΩT for E0 with probability 1. To this differential they concatenate a linear approximation λT → λC for E1 with probability 1/2+q (or bias q). Their attack requires that the bits masked in λT have a zero difference in ΩT .

View Full Text

Details

  • File Type
    pdf
  • Upload Time
    -
  • Content Languages
    English
  • Upload User
    Anonymous/Not logged-in
  • File Pages
    14 Page
  • File Size
    -

Download

Channel Download Status
Express Download Enable

Copyright

We respect the copyrights and intellectual property rights of all users. All uploaded documents are either original works of the uploader or authorized works of the rightful owners.

  • Not to be reproduced or distributed without explicit permission.
  • Not used for commercial purposes outside of approved use cases.
  • Not used to infringe on the rights of the original creators.
  • If you believe any content infringes your copyright, please contact us immediately.

Support

For help with questions, suggestions, or problems, please contact us