Block ¡Cipher ¡Cryptanalysis: ¡ ¡ Basic ¡and ¡Advanced ¡Techniques ¡I ¡& ¡II ¡ ¡ Andrey ¡Bogdanov ¡ KU ¡Leuven, ¡ESAT/COSIC ¡
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 ¡ ¡
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 ¡ ¡
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 ¡
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 ¡
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 ¡
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, ¡…) ¡
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 ¡ ¡
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, ¡… ¡
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, ¡… ¡ ¡
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 ¡… ¡ ¡
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 ¡… ¡ ¡
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 ¡… ¡ ¡
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 ¡… ¡
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 ¡ ¡
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 ¡
¡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]: ¡
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