block cipher cryptanalysis basic and advanced techniques
play

Block Cipher Cryptanalysis: Basic and Advanced Techniques - PowerPoint PPT Presentation

Block Cipher Cryptanalysis: Basic and Advanced Techniques I & II Andrey Bogdanov KU Leuven, ESAT/COSIC Outline I. Block Ciphers II.


  1. Block ¡Cipher ¡Cryptanalysis: ¡ ¡ Basic ¡and ¡Advanced ¡Techniques ¡I ¡& ¡II ¡ ¡ Andrey ¡Bogdanov ¡ KU ¡Leuven, ¡ESAT/COSIC ¡

  2. Outline ¡ I. ¡ ¡ ¡Block ¡Ciphers ¡ II. ¡ ¡Basic ¡Technique ¡1: ¡Linear ¡Cryptanalysis ¡ III. ¡Advanced ¡Technique ¡1: ¡Zero-­‑CorrelaHon ¡Cryptanalysis ¡ IV. ¡Basic ¡Technique ¡2: ¡Meet-­‑in-­‑the-­‑Middle ¡Cryptanalysis ¡ V. ¡ ¡Advanced ¡Technique ¡2: ¡Biclique ¡MITM ¡Cryptanalysis ¡ ¡

  3. Outline ¡ I. ¡ ¡ ¡Block ¡Ciphers ¡ II. ¡ ¡Basic ¡Technique ¡1: ¡Linear ¡Cryptanalysis ¡ III. ¡Advanced ¡Technique ¡1: ¡Zero-­‑CorrelaHon ¡Cryptanalysis ¡ IV. ¡Basic ¡Technique ¡2: ¡Meet-­‑in-­‑the-­‑Middle ¡Cryptanalysis ¡ V. ¡ ¡Advanced ¡Technique ¡2: ¡Biclique ¡MITM ¡Cryptanalysis ¡ ¡

  4. Block ¡Ciphers: ¡ MoHvaHon ¡ • Most ¡basic ¡security ¡primiHves ¡in ¡nearly ¡all ¡security ¡ soluHons, ¡e.g. ¡used ¡for ¡construcHng ¡ – stream ¡ciphers, ¡ ¡ – hash ¡funcHons, ¡ – message ¡authenHcaHon ¡codes, ¡ ¡ – authenHcated ¡encrypHon ¡algorithms, ¡ ¡ – pseudo ¡random ¡number ¡generators, ¡ – entropy ¡extractors, ¡… ¡ • Probably ¡the ¡best ¡understood ¡cryptographic ¡primiHves ¡ today ¡ • All ¡U.S. ¡symmetric-­‑key ¡encrypHon ¡standards ¡and ¡ recommendaHons ¡have ¡block ¡ciphers ¡at ¡their ¡core: ¡ DES, ¡AES ¡

  5. Block ¡Ciphers: ¡ A ¡DefiniHon ¡ ¡ Block ¡cipher ¡ ¡A ¡block ¡cipher ¡with ¡n-­‑bit ¡block ¡and ¡k-­‑bit ¡key ¡is ¡ a ¡subset ¡of ¡2 k ¡permuta9ons ¡among ¡all ¡2 n ! ¡ permuta9ons ¡on ¡n ¡bits. ¡ ¡ 2 n ! ¡ plaintext ¡ ciphertext ¡ block ¡cipher ¡ n ¡bits ¡ n ¡bits ¡ Subset: ¡2 k ¡ key ¡ k ¡bits ¡

  6. Block ¡Ciphers: ¡ IteraHve ¡ConstrucHon ¡ ¡ Itera2ve ¡block ¡cipher ¡and ¡key ¡schedule ¡ ¡An ¡itera9ve ¡block ¡cipher ¡consists ¡of ¡r ¡ consecu9ve ¡applica9ons ¡of ¡simpler ¡key-­‑ dependent ¡transforms ¡ ¡ ¡ plaintext ¡ ciphertext ¡ f 1 ¡ f 2 ¡ f r ¡ ¡… ¡ e ¡ ¡x ¡ ¡p ¡ ¡a ¡ ¡n ¡ ¡d ¡ ¡e ¡ ¡d ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡k ¡ ¡e ¡ ¡y ¡ key ¡schedule ¡ user-­‑supplied ¡(master) ¡key ¡

  7. Components ¡for ¡Block ¡Ciphers: ¡ ¡ SubsHtuHon-­‑PermutaHon ¡(SP) ¡ FuncHon ¡ addiHon ¡with ¡subkey ¡ S ¡ S ¡ S ¡ S ¡ S ¡ S ¡ S ¡ S ¡ local ¡nonlinear ¡funcHons ¡ linear ¡operaHon: ¡ bit ¡permutaHon, ¡ ¡ Linear ¡diffusion ¡ matrix-­‑vector ¡mult. ¡ Used ¡in ¡many ¡ciphers ¡(DES, ¡AES, ¡Serpent, ¡Present, ¡Camellia, ¡Clefia,…) ¡ and ¡hash ¡funcHons ¡(Whirlwind, ¡Groestl, ¡Spongent, ¡Photon, ¡…) ¡

  8. Components ¡for ¡Block ¡Ciphers: ¡ ¡ SubsHtuHon-­‑PermutaHon-­‑SubsHtuHon ¡ (SPS) ¡FuncHon ¡ S ¡ S ¡ S ¡ S ¡ S ¡ S ¡ S ¡ S ¡ Linear ¡diffusion ¡ S ¡ S ¡ S ¡ S ¡ S ¡ S ¡ S ¡ S ¡ Used ¡in ¡E2, ¡Piccolo, ¡and ¡some ¡other ¡ciphers ¡ ¡

  9. Round ¡ConstrucHons ¡for ¡Block ¡Ciphers: ¡ Balanced ¡and ¡Generalized ¡Feistels ¡ ¡ ¡ ¡Balanced ¡Feistel ¡ ¡Generalized ¡Feistel ¡Network ¡(GFN) ¡ Network ¡(BFN) ¡ – ¡type-­‑II ¡4-­‑line ¡GFN ¡ ¡ ¡ ¡ F ¡ F ¡ F ¡ Used ¡in ¡DES, ¡Camellia, ¡E2, ¡ Used ¡in ¡CLEFIA, ¡ Blowfish, ¡Twofish, ¡CAST128, ¡ ¡ SHAvite-­‑3, ¡RC6,… ¡ KASUMI, ¡MISTY, ¡… ¡

  10. Round ¡ConstrucHons ¡for ¡Block ¡Ciphers: ¡ SubsHtuHon-­‑PermutaHon ¡Networks ¡ ¡ 1 ¡round ¡= ¡1 ¡SP-­‑funcHon ¡ ¡ ¡ ¡ S ¡ S ¡ S ¡ S ¡ S ¡ S ¡ S ¡ S ¡ Linear ¡diffusion ¡ Used ¡in ¡AES, ¡Rijndael, ¡Serpent, ¡Present, ¡Groestl, ¡ Photon, ¡Spongent, ¡… ¡ ¡

  11. Block ¡Ciphers: ¡ Some ¡Agack ¡Approaches ¡ ¡ • DifferenHal ¡cryptanalysis ¡ • Linear ¡cryptanalysis ¡ • Extensions ¡of ¡differenHal ¡cryptanalysis ¡ ¡ – Truncated, ¡impossible, ¡higher-­‑order ¡differenHal ¡cryptanalysis, ¡ boomerang ¡agacks ¡ • Extensions ¡of ¡linear ¡cryptanalysis ¡ – MulHple-­‑approximaHon, ¡zero-­‑correlaHon ¡linear ¡cryptanalysis ¡ • DifferenHal-­‑linear ¡agacks ¡ • Integral ¡agacks ¡ • Slide ¡agacks ¡ • Meet-­‑in-­‑the-­‑middle ¡agacks ¡ • Weaker ¡agack ¡models: ¡related-­‑key, ¡known-­‑key, ¡chosen-­‑key ¡ • And ¡many ¡more ¡… ¡ ¡

  12. Block ¡Ciphers: ¡ Some ¡Agack ¡Approaches ¡ ¡ • DifferenHal ¡cryptanalysis ¡ • Linear ¡cryptanalysis ¡ • Extensions ¡of ¡differenHal ¡cryptanalysis ¡ ¡ – Truncated, ¡impossible, ¡higher-­‑order ¡differenHal ¡cryptanalysis, ¡ boomerang ¡agacks ¡ • Extensions ¡of ¡linear ¡cryptanalysis ¡ – MulHple-­‑approximaHon, ¡zero-­‑correlaHon ¡linear ¡cryptanalysis ¡ ¡ • DifferenHal-­‑linear ¡agacks ¡ • Integral ¡agacks ¡ • Slide ¡agacks ¡ • Meet-­‑in-­‑the-­‑middle ¡agacks ¡ • Weaker ¡agack ¡models: ¡related-­‑key, ¡known-­‑key, ¡chosen-­‑key ¡ • And ¡many ¡more ¡… ¡ ¡

  13. Block ¡Ciphers: ¡ Some ¡Agack ¡Approaches ¡ ¡ • DifferenHal ¡cryptanalysis ¡ • Linear ¡cryptanalysis ¡ • Extensions ¡of ¡differenHal ¡cryptanalysis ¡ ¡ – Truncated, ¡impossible, ¡higher-­‑order ¡differenHal ¡cryptanalysis, ¡ boomerang ¡agacks ¡ • Extensions ¡of ¡linear ¡cryptanalysis ¡ – MulHple-­‑approximaHon, ¡zero-­‑correlaHon ¡linear ¡cryptanalysis ¡ ¡ • DifferenHal-­‑linear ¡agacks ¡ • Integral ¡agacks ¡ • Slide ¡agacks ¡ • Meet-­‑in-­‑the-­‑middle ¡agacks ¡ • Weaker ¡agack ¡models: ¡related-­‑key, ¡known-­‑key, ¡chosen-­‑key ¡ • And ¡many ¡more ¡… ¡ ¡

  14. Block ¡Ciphers: ¡ Some ¡Agack ¡Approaches ¡ ¡ • DifferenHal ¡cryptanalysis ¡ • Linear ¡cryptanalysis ¡ • Extensions ¡of ¡differenHal ¡cryptanalysis ¡ ¡ – Truncated, ¡impossible, ¡higher-­‑order ¡differenHal ¡cryptanalysis, ¡ boomerang ¡agacks ¡ • Extensions ¡of ¡linear ¡cryptanalysis ¡ – MulHple-­‑approximaHon, ¡zero-­‑correlaHon ¡linear ¡cryptanalysis ¡ ¡ • DifferenHal-­‑linear ¡agacks ¡ • Integral ¡agacks ¡ • Slide ¡agacks ¡ • Meet-­‑in-­‑the-­‑middle ¡agacks ¡ • Weaker ¡agack ¡models: ¡related-­‑key, ¡known-­‑key, ¡chosen-­‑key ¡ • And ¡many ¡more ¡… ¡

  15. Outline ¡ I. ¡ ¡ ¡Block ¡Ciphers ¡ II. ¡ ¡Basic ¡Technique ¡1: ¡Linear ¡Cryptanalysis ¡ III. ¡Advanced ¡Technique ¡1: ¡Zero-­‑CorrelaHon ¡Cryptanalysis ¡ IV. ¡Basic ¡Technique ¡2: ¡Meet-­‑in-­‑the-­‑Middle ¡Cryptanalysis ¡ V. ¡ ¡Advanced ¡Technique ¡2: ¡Biclique ¡MITM ¡Cryptanalysis ¡ ¡

  16. Linear ¡Cryptanalysis ¡As ¡a ¡Basic ¡Tool ¡ AcHon ¡of ¡an ¡ n -­‑bit ¡block ¡cipher ¡on ¡plaintext ¡ P : ¡ f K Input ¡and ¡output ¡ linear ¡masks : ¡ f K , Linear ¡approxima2on ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡: ¡ Probability ¡of ¡linear ¡approximaHon: ¡ Correla2on ¡of ¡linear ¡approximaHon: ¡ ¡varies ¡from ¡-­‑1 ¡to ¡1 ¡

  17. ¡Linear ¡Cryptanalysis: ¡ ¡ ¡DistribuHon ¡of ¡CorrelaHon ¡ • Fix ¡a ¡non-­‑trivial ¡approximaHon ¡ • Randomly ¡choose ¡an ¡ n -­‑bit ¡permutaHon ¡ • What ¡is ¡the ¡probability ¡for ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡to ¡have ¡a ¡ parHcular ¡value? ¡[O94] ¡(over ¡all ¡permutaHons) ¡ • Normal ¡approximaHon ¡[DR07]: ¡

  18. Linear ¡Cryptanalysis: ¡ ¡ DistribuHon ¡of ¡CorrelaHon ¡ • Fix ¡an ¡ n -­‑bit ¡permutaHon ¡ • What ¡is ¡the ¡expected ¡probability ¡for ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡to ¡ have ¡a ¡parHcular ¡value? ¡[BT11] ¡(over ¡all ¡masks) ¡ • Normal ¡approximaHon: ¡ • The ¡distribuHon ¡holds ¡already ¡for ¡just ¡a ¡single ¡ randomly ¡picked ¡permutaHon ¡with ¡ n=8 ¡ (experiments) ¡

Recommend


More recommend