Related-Key Attacks Slide Statistical RK Conclusion

Related-Key Attacks Slide Statistical RK Conclusion

Related-Key Attacks Slide Statistical RK Conclusion Related-Key Attacks Orr Dunkelman Computer Science Department University of Haifa, Israel January 28th, 2014 Orr Dunkelman Related-Key Attacks 1/ 42 Related-Key Attacks Slide Statistical RK Conclusion Outline 1 The Related-Key Model The Related-Key Model First Related-Key Attack Second Related-Key Attack 2 The Slide Attack Introduction to Slide Attacks A Slide Attack on 2K-DES Advanced Slide Attacks The SlideX Attack 3 Statistical Related-Key Attacks Related-Key Differential Attacks The Block Cipher GOST The Differences from Regular Differentials 4 Other Related-Key Attacks & Concluding Remarks Orr Dunkelman Related-Key Attacks 2/ 42 Related-Key Attacks Slide Statistical RK Conclusion Model First Attack Second Attack The Related-Key Model ◮ Introduced by Biham and independently by Knudsen in 1993 [B93,K93] ◮ A block cipher is a keyed permutation, i.e., E : {0, 1}n ×{0, 1}k →{0, 1}n (or n n Ek : {0, 1} →{0, 1} ) ◮ Regular cryptanalytic attacks attack E by controlling the input/output of Ek (·) ◮ In related-key attacks the adversary can ask to control k (chosen key attacks) ◮ This make look like a very strong notion, but the model allows for the adversary to control only the relation between keys Orr Dunkelman Related-Key Attacks 3/ 42 Related-Key Attacks Slide Statistical RK Conclusion Model First Attack Second Attack The Related-Key Model (cont.) ◮ In standard attacks, the adversary can query an oracle for Ek . ◮ In related-key attacks, the adversary can query the oracles Ek1 , Ek2 ,... ◮ The adversary is either aware of the relation between the keys or can choose the relation ◮ This model which may look strong is actually not so far fetched: ◮ Real life protocols allow for that (e.g., WEP) ◮ When the block cipher is used as a compression function — the adversary may control actually control the key ◮ In some cases, there are properties so “strong”, that it is sufficient to have access to encryption under one key Orr Dunkelman Related-Key Attacks 4/ 42 Related-Key Attacks Slide Statistical RK Conclusion Model First Attack Second Attack DES’s Key Schedule Algorithm ◮ The key is divided into two registers C K and D (28-bit each) PC-1 ◮ Each round both registers are rotated C D to the left (1 or 2 bits) ROL1 ROL1 ◮ 24 bits from C are chosen as the PC-2 ROL1 ROL1 subkey entering S1,S2,S3,S4 PC-2 ◮ 24 bits from D are chosen as the ROL2 ROL2 PC-2 subkey entering S5,S6,S7,S8 ROL2 ROL2 Round 1 2 3 4 5 6 7 8 Rotation 1 1 2 2 2 2 2 2 Round 9 10 11 12 13 14 15 16 Rotation 1 2 2 2 2 2 2 1 Orr Dunkelman Related-Key Attacks 5/ 42 Related-Key Attacks Slide Statistical RK Conclusion Model First Attack Second Attack DES’s Complementation Property ◮ If the key is bitwise complemented, so are all the subkeys S1 K K K K Li Ri → 1, 2,..., 16 and i S2 i K → K1, K2,..., K16 S3 S ◮ If the input to the round function is E 4 P S also bitwise complemented, the 5 S6 K complementation is canceled i S7 ◮ In other words, the input to the S8 S-boxes is the same And the output of the S-boxes (and the round) ◮ DES’s complementation property: DES (P)= DES (P) K K L R Li+1 Ri+1 Orr Dunkelman Related-Key Attacks 6/ 42 Related-Key Attacks Slide Statistical RK Conclusion Model First Attack Second Attack Using the Complementation Property ◮ Using the complementation property it is possible to speed up exhaustive key search of DES by a factor of 2 ◮ The adversary asks for the encryption of P and P ◮ Let C1 = EK (P) and C2 = EK (P), where K is the unknown key ◮ For each possible key k whose most significant bit is 0: 1 Check whether DESk (P)= C1 (if yes, k is the key) 2 Check whether DESk (P)= C2 (if yes, k is the key) Note that DESk (P)= C2 ⇒ (C2)= DESk (P). As C2 = DESK (P), then DESK (P)= DESk (P), i.e., K = k Orr Dunkelman Related-Key Attacks 7/ 42 Related-Key Attacks Slide Statistical RK Conclusion Model First Attack Second Attack A Related-Key Attack on a Slightly Modified DES K ′ P′ ◮ Assume that all the rotations in the ′ key schedule are all by 2 bits to the P K K1 F left P ′ F K1 = K F ◮ Consider two keys K and K ′, such 2 ′ K = that the subkeys produced by the F 2 K3 F key schedule algorithm satisfy ′ K = ′ F 3 K4 F Ki = Ki+1 (i.e., ′ ′ . K1 = K2, K2 = K3,...) . ◮ Then the first 15 rounds of ′ F K15 = K16 F encryption under K are just like the C ′ C ′ last 15 rounds of encryption under F K16 ′ K C Orr Dunkelman Related-Key Attacks 8/ 42 Related-Key Attacks Slide Statistical RK Conclusion Model First Attack Second Attack A Related-Key Attack on a Slightly Modified DES K ′ P′ ′ P K K1 F ′ ◮ Let P = F ′ (P ) P K1 ′ K = K ◮ Due to the equality between the F 1 2 F ′ P P ′ functions, and share 15 F K2 = K3 F rounds of the encryption ′ F K = K F ◮ ′ 3 4 Thus, C = FK (C ) 16 . ◮ Given (P, C) and (P′, C ′), deducing . ′ K and K16 (given DES’s round ′ 1 F K15 = K16 F function) is easy C ′ ′ F K16 C C Orr Dunkelman Related-Key Attacks 9/ 42 Related-Key Attacks Slide Statistical RK Conclusion Model First Attack Second Attack A Related-Key Attack on a Slightly Modified DES ◮ 16 ′ ′ Ask for the encryption of 2 plaintexts Pi =(A, xi ) ′ ′ ′ under K . Let Ci = EK ′ (Pi ) ◮ 16 ′ Ask for the encryption of 2 plaintexts Pi =(yj , A) under K. Let Cj = EK (Pj ) ′ 1 By birthday arguments there is a pair of values Pi which is encrypted under one round to Pj . From this point forward, they are “evolving” together, and thus, ′ Cj = FK16 (Ci ) 2 From Feistel properties, that means that the left half of ′ Ci is equal to the right half of Cj Orr Dunkelman Related-Key Attacks 10/ 42 Related-Key Attacks Slide Statistical RK Conclusion Model First Attack Second Attack A Related-Key Attack on a Slightly Modified DES ◮ ′ Search for a pair of ciphertexts Ci and Cj such that the ′ left half of Ci is equal to the right half of Cj ′ ′ ◮ Deduce that P = F ′ (P ) and that C = F (C ), and j K1 i j K16 i retrieve the key ◮ This pair is called a related-key plaintext pair ◮ ′ Using this pair it is easy to deduce K1 and K16 (which are also share bits between themselves) Data complexity: 216 CPs under two related-keys (the relation was chosen by the adversary) Time complexity: 217 encryptions (the analysis phase is very efficient) Orr Dunkelman Related-Key Attacks 11/ 42 Related-Key Attacks Slide Statistical RK Conclusion Model First Attack Second Attack A Second Attack on a Slightly Modified DES ◮ It is possible to use 234 encrypted under one key, and still use the above property ◮ The idea is to generate a related-key plaintext pair by using one key, and then, trying to identify the pair ◮ Pick P0 at random, and let P1 = P0 ◮ Define the set of plaintexts {Pi,t =(PiR , PiL ⊕ t)} for all possible t’s, P0, and P1 ◮ ∗ Define the set of plaintexts {Pi,t =(PiR ⊕ k, PiL)} for all possible t’s, P0, and P1 ◮ ∗ Ask for the encryption of Pi , Pi,t and Pi,t Orr Dunkelman Related-Key Attacks 12/ 42 Related-Key Attacks Slide Statistical RK Conclusion Model First Attack Second Attack Preprocessing ◮ Consider 28-bit half subkeys such the MSB is 0 ◮ Define the next operation, which takes a subkey, rotates it to the left by 2 bits. In case the obtained subkey has its MSB equal to 1, the subkey is complemented ◮ After at most 14 next operations, a cycle is found ◮ Thus, in the preprocessing we generate a list of one half subkey Li from every such cycle (the list contains about 223.2 values) Orr Dunkelman Related-Key Attacks 13/ 42 Related-Key Attacks Slide Statistical RK Conclusion Model First Attack Second Attack The Attack ◮ ∗ Given Ci , Ci,t and Ci,t: 1 For each key of the form (Lj , Lk ), generate all keys ′ ′ K = (ROLm(Lj )||ROLn(Lk )) or K = (ROLm(Lj )||ROLn(Lk )) where m ∈ {0, 2, 4, 6, 8, 10, 12, 14, 16, 18, 20, 22, 24, 26} and n ∈ {0, 6, 12, 18, 24} ′ ′ 2 Encrypt P0 under each K , and obtain C = EK ′ (P0) ′ ′ 3 If C = C0 or C = C1, deduce that the original key to is K ′ or K ′, respectively Orr Dunkelman Related-Key Attacks 14/ 42 Related-Key Attacks Slide Statistical RK Conclusion Model First Attack Second Attack The Attack ◮ 4 Assume that the output of the F function in the first t K ′ P C ′ round is (when using the key to encrypt 0). If L is equal to some C0,tR or C1,tR , “continue” the ′′ encryption of P0 to the 17th round. If the result C is C0,t or C1,t , then the key is ROL K ′ ROL K ′ 2( R )|| 2( L), or its complement, respectively 5 “Decrypt” P0 one round, and let the output of the F function in the 0th round be t (when using the key K ′ to encrypt P0).

View Full Text

Details

  • File Type
    pdf
  • Upload Time
    -
  • Content Languages
    English
  • Upload User
    Anonymous/Not logged-in
  • File Pages
    42 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