New Slide Attacks on Almost Self-Similar Ciphers

New Slide Attacks on Almost Self-Similar Ciphers

Intro SelfSimilar New Summary New Slide Attacks on Almost Self-Similar Ciphers Orr Dunkelman, Nathan Keller, Noam Lasry, Adi Shamir Eurocrypt 2020 Orr Dunkelman New Slide Attacks on Almost Self-Similar Ciphers 1/ 28 Intro SelfSimilar New Summary Outline 1 Introduction Slide Attacks Generating Slid Pairs Several Applications of Slide Attacks 2 Attacking Self-Similar SPNs Attacking 1K-AES The Problem of Sliding an SPN The Problem of Sliding AES (and others) 3 New Techniques for Slide Attacks Slid Sets Hypercube of Slid Pairs Suggestive Plaintext Structures Substitution Slide Attack 4 Summary and Conclusions Orr Dunkelman New Slide Attacks on Almost Self-Similar Ciphers 2/ 28 Intro SelfSimilar New Summary Slide Pairs Applications Slide Attacks [BW99] K P Q K k f Q ◮ Adaptation of Related-Key Attacks f k = k f [B93,K92] to the case where the key is self-related. f k = k f ◮ Can be applied to ciphers with the f k = k f same keyed permutation. ◮ Independent in the number of rounds of the cipher. f k = k f C f k C D Orr Dunkelman New Slide Attacks on Almost Self-Similar Ciphers 3/ 28 Intro SelfSimilar New Summary Slide Pairs Applications Slide Attacks [BW99] (cont.) ◮ Slid pair satisfies Q = f (P), k (1) D = fk (C), ◮ Slide attacks are composed of two main steps: ◮ Find such a slid pair, ◮ Use slid pair to extract key. ◮ Actually, in many attacks the way to verify that a given pair is a slid pair, is to verify that it suggested the correct key. Orr Dunkelman New Slide Attacks on Almost Self-Similar Ciphers 4/ 28 Intro SelfSimilar New Summary Slide Pairs Applications Generating Slid Pairs ◮ At random (pick 2n/2 known plaintexts for n-bit block), ◮ For Feistels of different types, one can find pairs: ◮ 1K-DES — in 2n/4 chosen plaintexts [BW99], ◮ 2K-DES — in 2n/4 chosen plaintexts or 2n/4 chosen ciphertexts [BW00], ◮ 4K-DES — in 2n/4 chosen plaintexts and ciphertexts [BW00]. Orr Dunkelman New Slide Attacks on Almost Self-Similar Ciphers 5/ 28 Intro SelfSimilar New Summary Slide Pairs Applications Generating Slid Pairs — Chains [F01] ◮ Given a slid pair (P, Q), their ciphertexts (C, D) are also a slid pair! ◮ ℓ ℓ Actually, if (P, Q) are slid pairs, so does (Ek (P), Ek (Q)) for any ℓ. ◮ This is useful when the attack of f ( ) requires more than a single slid pair. · Orr Dunkelman New Slide Attacks on Almost Self-Similar Ciphers 6/ 28 Intro SelfSimilar New Summary Slide Pairs Applications Other Extensions and Generalizations ◮ Slide detection using cycles [BDK07] ◮ Reflection attacks [K08] ◮ Slidex [DKS12] ◮ Quantum slide attacks [B+18] Orr Dunkelman New Slide Attacks on Almost Self-Similar Ciphers 7/ 28 Intro SelfSimilar New Summary Slide Pairs Applications Several Applications of Slide Attacks ◮ 1K-DES, 2K-DES, 4K-DES ([BW99,BW00]) ◮ 3K-DES ([B+18]) ◮ 1K-AES ([B+18]) ◮ Misty1 ([DK15]) ◮ KeeLoq ([I+08,C+08,...]) ◮ FF3 ([DV17,HMT19]) Orr Dunkelman New Slide Attacks on Almost Self-Similar Ciphers 8/ 28 Intro SelfSimilar New Summary 1K-AES Problem Problem2 A Generic SPN (1K-AES) ❑ ❑ ❑ ❑ ❑ ❦ ❦ ❦ ❦ ❦ ▲ ▲ ▲ ▲ ▲ P ❙ ❆ ❙ ❆ ❙ ❆ ❙ ❆ ❈ ✁ ✁ ✁ ◮ If (P, Q) are a slid pair, then Q = A(S(K(P))) = A(S(P k)) ⊕ which can be re-written as P k = S −1(A−1(Q)) ⊕ ◮ As S and A are unkeyed, we can easily compute Q′ = S −1(A−1(Q)). Orr Dunkelman New Slide Attacks on Almost Self-Similar Ciphers 9/ 28 Intro SelfSimilar New Summary 1K-AES Problem Problem2 A Slide Attack on 1K-AES [B+18] ◮ Take 2n/2 known plaintexts. ◮ A slid pair (P, Q) (and corresponding ciphertext (C, D)) satisfies: Q = A(S(P k)) ⊕ (2) D = A(S(C)) k ⊕ ◮ Or in other words: P Q′ = k = D A(S(C)) ⊕ ⊕ ◮ Which allows immediate identification (as P A(S(C)) = Q′ D). ⊕ ⊕ Orr Dunkelman New Slide Attacks on Almost Self-Similar Ciphers 10/ 28 Intro SelfSimilar New Summary 1K-AES Problem Problem2 The Basic Assumption of Slide Attacks ◮ All the round functions are the same, Orr Dunkelman New Slide Attacks on Almost Self-Similar Ciphers 11/ 28 Intro SelfSimilar New Summary 1K-AES Problem Problem2 The Basic Assumption of Slide Attacks ◮ All the round functions are the same, ◮ It is possible to generate chains (because of the previous assumption). Orr Dunkelman New Slide Attacks on Almost Self-Similar Ciphers 11/ 28 Intro SelfSimilar New Summary 1K-AES Problem Problem2 The Basic Assumption of Slide Attacks ◮ All the round functions are the same, ◮ It is possible to generate chains (because of the previous assumption). Problem: in SPNs the last round is different! Orr Dunkelman New Slide Attacks on Almost Self-Similar Ciphers 11/ 28 Intro SelfSimilar New Summary 1K-AES Problem Problem2 Last Round Function No Slid Chains ⇒ k k k P : X C C S A A(S(X )) S A L L L K K X = K k k 6 k Q : X S A D(= k A(S(X k))) D S A ⊕ ⊕ L L L K K Orr Dunkelman New Slide Attacks on Almost Self-Similar Ciphers 12/ 28 Intro SelfSimilar New Summary 1K-AES Problem Problem2 Not All SPNs are the Same ◮ Many SPNs have a different last round, Orr Dunkelman New Slide Attacks on Almost Self-Similar Ciphers 13/ 28 Intro SelfSimilar New Summary 1K-AES Problem Problem2 Not All SPNs are the Same ◮ Many SPNs have a different last round, ◮ For example, AES has no MixColumns in the last round. ◮ This complicates things even more — the relation between the ciphertexts of the slid pair is more complicated! Orr Dunkelman New Slide Attacks on Almost Self-Similar Ciphers 13/ 28 Intro SelfSimilar New Summary 1K-AES Problem Problem2 Not All SPNs are the Same ◮ Many SPNs have a different last round, ◮ For example, AES has no MixColumns in the last round. ◮ This complicates things even more — the relation between the ciphertexts of the slid pair is more complicated! ◮ Consider 1K-AES with the last round without MixColumns. Then Q = ARK(MC(SR(SB(P)))) Intro SelfSimilar New Summary 1K-AES Problem Problem2 Not All SPNs are the Same ◮ Many SPNs have a different last round, ◮ For example, AES has no MixColumns in the last round. ◮ This complicates things even more — the relation between the ciphertexts of the slid pair is more complicated! ◮ Consider 1K-AES with the last round without MixColumns. Then Q = ARK(MC(SR(SB(P)))) (3) D = ARK(SR(SB(ARK⇒ (MC(ARK(C)))))) Orr Dunkelman New Slide Attacks on Almost Self-Similar Ciphers 13/ 28 Intro SelfSimilar New Summary SlidSets Hypercube Suggestive Substitution Slid Sets ◮ A slid set is composed of two λ-structures and such that {P} {Q} fk ( )= {P} {Q} ◮ In other words, we obtain 2s (s-bit S-boxes) slid pairs from each such set. ◮ This increases the signal that can be used for detecting slid sets! Orr Dunkelman New Slide Attacks on Almost Self-Similar Ciphers 14/ 28 Intro SelfSimilar New Summary SlidSets Hypercube Suggestive Substitution Slid Sets for Attacking 2K-AES ◮ Take λ-set of plaintexts i (e.g., saturate the input of S-box 0). {P} ◮ Ask for their encryption to obtain i . {C} ◮ −1 −1 Construct the sets j (such that S (A ( j )) is a λ-set). {Q} {Q} ◮ Ask for their encryption to obtain j . ◮ {D} Try to match the slid set ( i , j ). {C} {D} Orr Dunkelman New Slide Attacks on Almost Self-Similar Ciphers 15/ 28 Intro SelfSimilar New Summary SlidSets Hypercube Suggestive Substitution Matching the Slid Sets ◮ Apply A(S( i )) to obtain ˜ i . ◮ {C} {C} “Swap” the order of K and A in j . {D} ◮ For a slid set −1 ˜ A j = S( i k)) A(k). {D} {C} ⊕ ⊕ ◮ This actually “breaks” the last two rounds into several independent S-boxes. Orr Dunkelman New Slide Attacks on Almost Self-Similar Ciphers 16/ 28 Intro SelfSimilar New Summary SlidSets Hypercube Suggestive Substitution Matching the Slid Sets ◮ Apply A(S( i )) to obtain ˜ i . ◮ {C} {C} “Swap” the order of K and A in j . {D} ◮ For a slid set −1 ˜ A j = S( i k)) A(k). {D} {C} ⊕ ⊕ ◮ This actually “breaks” the last two rounds into several independent S-boxes. ◮ We just need to link the sets without guessing the key k. ◮ Luckily, we can count multiplicities of different values in each S-box [DKS10]. Orr Dunkelman New Slide Attacks on Almost Self-Similar Ciphers 16/ 28 Intro SelfSimilar New Summary SlidSets Hypercube Suggestive Substitution Hypercube of Slid Pairs ◮ Consider a slid pair (P, Q). ◮ Change the input of P to some S-box (e.g., 0). ◮ The change in the value after one round is inside an affine space of size 2s . ◮ So, from a slid pair (P, Q), we can “generate” a second ′ † pair (Pi a, Qj A(a )). ⊕ ⊕ Orr Dunkelman New Slide Attacks on Almost Self-Similar Ciphers 17/ 28 Intro SelfSimilar New Summary SlidSets Hypercube Suggestive Substitution Hypercube of Slid Pairs ◮ Consider a slid pair (P, Q). ◮ Change the input of P to some S-box (e.g., 0). ◮ The change in the value after one round is inside an affine space of size 2s . ◮ So, from a slid pair (P, Q), we can “generate” a second ′ † pair (Pi a, Qj A(a )). ⊕ ⊕ Orr Dunkelman New Slide Attacks on Almost Self-Similar Ciphers 17/ 28 Intro SelfSimilar New Summary SlidSets Hypercube Suggestive Substitution Hypercube of Slid Pairs ◮ Consider a slid pair (P, Q). ◮ Change the input of P to some S-box (e.g., 0). ◮ The change in the value after one round is inside an affine space of size 2s .

View Full Text

Details

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