Cryptography Encryption and Attacks Encryption Building Blocks Encryption and Attacks Attacks on Encryption Block Cipher Design Principles Cryptography Stream Cipher Design Principles Example: Brute School of Engineering and Technology Force on DES CQUniversity Australia Example: Brute Force on AES Example: Prepared by Steven Gordon on 19 Feb 2020, Meet-in-the-Middle encryption.tex, r1789 Attack Example: Cryptanalysis on Triple-DES and AES 1/51
Cryptography Contents Encryption and Attacks Encryption Building Blocks Encryption Building Blocks Attacks on Attacks on Encryption Encryption Block Cipher Design Principles Block Cipher Design Principles Stream Cipher Design Principles Stream Cipher Design Principles Example: Brute Force on DES Example: Brute Example: Brute Force on DES Force on AES Example: Meet-in-the-Middle Example: Brute Force on AES Attack Example: Cryptanalysis on Example: Meet-in-the-Middle Attack Triple-DES and AES Example: Cryptanalysis on Triple-DES and AES 2/51
Cryptography Model of Encryption for Confidentiality Encryption and Attacks Encryption Building Blocks Attacks on Encryption Block Cipher Design Principles Stream Cipher Design Principles Example: Brute Force on DES Example: Brute Force on AES Example: Meet-in-the-Middle Attack Example: Cryptanalysis on Triple-DES and AES 3/51
Cryptography Characterising Ciphers by Number of Keys Encryption and Attacks Symmetric sender/receiver use same key (single-key, Encryption secret-key, shared-key, conventional) Building Blocks Attacks on Public-key sender/receiver use different keys (asymmetric) Encryption Block Cipher Design Principles Stream Cipher Design Principles Example: Brute Force on DES Example: Brute Force on AES Example: Meet-in-the-Middle Attack Example: Cryptanalysis on Triple-DES and AES 4/51
Cryptography Symmetric Key Encryption for Confidentiality Encryption and Attacks Shared Shared Encryption secret key secret key Building Blocks K K Attacks on Encryption Block Cipher Plaintext Ciphertext Plaintext Design Principles Encryption Decryption P C=E(K,P) P=D(K,C) Stream Cipher Design Principles E() D() Example: Brute Force on DES Example: Brute Force on AES Example: Meet-in-the-Middle Attack Example: Cryptanalysis on Triple-DES and AES 5/51
Cryptography Common Operations in Symmetric Ciphers Encryption and Attacks Substitution replace one element in plaintext with another Encryption Building Blocks Permutation re-arrange elements (also called transposition) Attacks on Product systems multiple stages of substitutions and Encryption permutations, e.g. Feistel network, Block Cipher Design Principles Substitution Permutation Network (SPN) Stream Cipher Design Principles Example: Brute Force on DES Example: Brute Force on AES Example: Meet-in-the-Middle Attack Example: Cryptanalysis on Triple-DES and AES 6/51
Cryptography Characterising Ciphers by Processing Plaintext Encryption and Attacks Block cipher process one block of elements at a time, Encryption typically 64 or 128 bits Building Blocks Attacks on Stream cipher process input elements continuously, e.g. 1 Encryption byte at a time, by XOR plaintext with Block Cipher Design Principles keystream Stream Cipher Design Principles Example: Brute Force on DES Example: Brute Force on AES Example: Meet-in-the-Middle Attack Example: Cryptanalysis on Triple-DES and AES 7/51
Cryptography Two Important Symmetric Key Block Ciphers Encryption and Attacks Data Encryption Standard (DES) Became a US government Encryption standard in 1977 and widely used for more Building Blocks than 20 years; key is too short Attacks on Encryption Advanced Encryption Standard (AES) Standardised a Block Cipher Design Principles replacement of DES in 1998, and now widely Stream Cipher used. Highly recommended for use. Design Principles Example: Brute Force on DES Example: Brute Force on AES Example: Meet-in-the-Middle Attack Example: Cryptanalysis on Triple-DES and AES 8/51
Cryptography Common Symmetric Key Block Ciphers Encryption and Attacks Encryption Building Blocks Attacks on Encryption Block Cipher Design Principles Stream Cipher Design Principles Example: Brute Force on DES Example: Brute Force on AES Example: Meet-in-the-Middle Attack Example: Cryptanalysis on Triple-DES and AES 9/51
Cryptography Contents Encryption and Attacks Encryption Building Blocks Encryption Building Blocks Attacks on Attacks on Encryption Encryption Block Cipher Design Principles Block Cipher Design Principles Stream Cipher Design Principles Stream Cipher Design Principles Example: Brute Force on DES Example: Brute Example: Brute Force on DES Force on AES Example: Meet-in-the-Middle Example: Brute Force on AES Attack Example: Cryptanalysis on Example: Meet-in-the-Middle Attack Triple-DES and AES Example: Cryptanalysis on Triple-DES and AES 10/51
Cryptography Aims and Knowledge of the Attacker Encryption and Attacks ◮ Study of ciphers and attacks on them is based on Encryption assumptions and requirements Building Blocks ◮ Assumptions about what attacker knows and can do, Attacks on Encryption e.g. intercept messages, modify messages Block Cipher ◮ Requirements of the system/users, e.g. confidentiality, Design Principles authentication Stream Cipher ◮ Normally assumed attacker knows cipher Design Principles Example: Brute ◮ Keeping internals of algorithms secret is hard Force on DES ◮ Keeping which algorithm used secret is hard Example: Brute Force on AES ◮ Attacker also knows the ciphertext Example: ◮ Attacker has two general approaches Meet-in-the-Middle Attack ◮ “Dumb”: try all possible keys, i.e. brute force Example: ◮ “Smart”: use knowledge of algorithm and Cryptanalysis on Triple-DES and ciphertext/plaintext to discover unknown information, AES i.e. cryptanalysis 11/51
Cryptography Worst Case Brute Force Time for Different Keys Encryption and Attacks Key Key Worst case time at speed: Encryption 10 9 /sec 10 12 /sec 10 15 /sec Building Blocks length space Attacks on 2 32 32 4 sec 4 ms 4 us Encryption 2 56 56 833 days 20 hrs 72 sec Block Cipher Design Principles 2 64 64 584 yrs 213 days 5 hrs Stream Cipher 10 7 yrs 10 4 yrs 2 80 80 38 yrs Design Principles 10 13 yrs 10 10 yrs 10 7 yrs 2 100 100 Example: Brute Force on DES 10 22 yrs 10 19 yrs 10 16 yrs 2 128 128 Example: Brute 10 41 yrs 10 38 yrs 10 35 yrs 2 192 Force on AES 192 10 60 yrs 10 57 yrs 10 54 yrs 2 256 Example: 256 Meet-in-the-Middle 10 10 yrs 10 7 yrs 10 4 yrs 2 88 Attack 26! Example: Cryptanalysis on Triple-DES and AES 12/51
Cryptography Classifying Attacks Based Upon Information Encryption and Known Attacks Encryption Building Blocks 1. Ciphertext Only Attack Attacks on 2. Known Plaintext Attack Encryption Block Cipher 3. Chosen Plaintext Attack Design Principles Stream Cipher 4. Chosen Ciphertext Attack Design Principles 5. Chosen Text Attack Example: Brute Force on DES Example: Brute Force on AES Example: Meet-in-the-Middle Attack Example: Cryptanalysis on Triple-DES and AES 13/51
Cryptography Ciphertext Only Attack Encryption and Attacks ◮ Attacker knows: Encryption ◮ encryption algorithm Building Blocks ◮ ciphertext Attacks on Encryption ◮ Hardest type of attack Block Cipher Design Principles ◮ If cipher can be defeated by this, then cipher is weakest Stream Cipher Design Principles Example: Brute Force on DES Example: Brute Force on AES Example: Meet-in-the-Middle Attack Example: Cryptanalysis on Triple-DES and AES 14/51
Cryptography Known Plaintext Attack Encryption and Attacks ◮ Attacker knows: Encryption ◮ encryption algorithm Building Blocks ◮ ciphertext Attacks on Encryption ◮ one or more plaintext–ciphertext pairs formed with the Block Cipher secret key Design Principles ◮ E.g. attacker has intercept past ciphertext and somehow Stream Cipher Design Principles discovered their corresponding plaintext Example: Brute ◮ All pairs encrypted with the same secret key (which is Force on DES Example: Brute unknown to attacker) Force on AES Example: Meet-in-the-Middle Attack Example: Cryptanalysis on Triple-DES and AES 15/51
Cryptography Chosen Plaintext Attack Encryption and Attacks ◮ Attacker knows: Encryption ◮ encryption algorithm Building Blocks ◮ ciphertext Attacks on Encryption ◮ plaintext message chosen by attacker, together with its Block Cipher corresponding ciphertext generated with the secret key Design Principles Stream Cipher Design Principles Example: Brute Force on DES Example: Brute Force on AES Example: Meet-in-the-Middle Attack Example: Cryptanalysis on Triple-DES and AES 16/51
Cryptography Chosen Ciphertext Attack Encryption and Attacks ◮ Attacker knows: Encryption ◮ encryption algorithm Building Blocks ◮ ciphertext Attacks on Encryption ◮ ciphertext chosen by attacker, together with its Block Cipher corresponding decrypted plaintext generated with the Design Principles secret key Stream Cipher Design Principles ◮ Attackers aim is to find the secret key (not the Example: Brute plaintext) Force on DES Example: Brute Force on AES Example: Meet-in-the-Middle Attack Example: Cryptanalysis on Triple-DES and AES 17/51
Recommend
More recommend