1 / 24 Blockcipher Security Notions Martijn Stam Department of Computer Science, University Of Bristol, Merchant Venturers Building, Woodland Road, Bristol, BS8 1UB United Kingdom. ˇ Sibenik, 7 June 2016
Basic Syntax of Blockciphers DES and AES 2 / 24 Data Encryption Standard (DES) An Early Blockcipher 1970s: DES provided the first FIPS standard for a blockcipher It takes as input: a 56-bit string k called the key a 64-bit string x called the plaintext or input block. and outputs a 64-bit string y called the ciphertext or output block. The algorithm is stateless, deterministic, and invertible. ∀ k , x If y ← DES k ( x ) then x ← DES − 1 k ( y )
Basic Syntax of Blockciphers DES and AES 3 / 24 Advanced Encryption Standard (AES) A Modern Blockcipher Turn of Century: NIST approves AES as successor of DES. AES - 128 takes as input: a 128 -bit string k called the key a 128-bit string x called the plaintext or input block. and outputs a 128-bit string y called the ciphertext or output block. The algorithm is stateless, deterministic, and invertible. ∀ k , x If y ← AES k ( x ) then x ← AES − 1 k ( y )
Basic Syntax of Blockciphers DES and AES 4 / 24 Advanced Encryption Standard (AES) A Modern Blockcipher Turn of Century: NIST approves AES as successor of DES. AES - 192 takes as input: a 192 -bit string k called the key a 128-bit string x called the plaintext or input block. and outputs a 128-bit string y called the ciphertext or output block. The algorithm is stateless, deterministic, and invertible. ∀ k , x If y ← AES k ( x ) then x ← AES − 1 k ( y )
Basic Syntax of Blockciphers DES and AES 5 / 24 Advanced Encryption Standard (AES) A Modern Blockcipher Turn of Century: NIST approves AES as successor of DES. AES - 256 takes as input: a 256 -bit string k called the key a 128-bit string x called the plaintext or input block. and outputs a 128-bit string y called the ciphertext or output block. The algorithm is stateless, deterministic, and invertible. ∀ k , x If y ← AES k ( x ) then x ← AES − 1 k ( y )
Basic Syntax of Blockciphers Formal Syntax 6 / 24 Blockciphers Syntax A blockcipher is a set of keyed permutations E : K × X → X where K is the set of keys, X the set of plaintext blocks
Basic Syntax of Blockciphers Formal Syntax 6 / 24 Blockciphers Syntax A blockcipher is a set of keyed permutations E : K × X → X where K is the set of keys, X the set of plaintext blocks Notation for blockciphers Block ( K , X ) denotes the set of all possible blockciphers of given dimensions Perm ( X ) denotes the set of all permutations on X .
Basic Syntax of Blockciphers Formal Syntax 6 / 24 Blockciphers Syntax A blockcipher is a set of keyed permutations E : K × X → X where x K is the set of keys, X the set of plaintext blocks E k Notation for E ∈ Block ( K , X ) Let k ∈ K we write E k ( · ) for E(k , · ). As E k ∈ Perm ( X ) it has an inverse E − 1 or D k k y
Basic Syntax of Blockciphers Formal Syntax 6 / 24 Blockciphers Syntax A blockcipher is a set of keyed permutations E : K × X → X where x K is the set of keys, X the set of plaintext blocks E k Notation for E ∈ Block ( K , X ) Let k ∈ K we write E k ( · ) for E(k , · ). As E k ∈ Perm ( X ) it has an inverse E − 1 or D k k y For all k ∈ K , x ∈ X : D k (E k ( x )) = E k (D k ( x )) = x
Basic Syntax of Blockciphers Formal Syntax 6 / 24 Blockciphers Syntax A blockcipher is a set of keyed permutations E : K × X → X where x K is the set of keys, X the set of plaintext blocks E k Using bitstrings as inputs K = { 0 , 1 } K for some key-length K ∈ ◆ X = { 0 , 1 } n for some block-length n. y
Basic Syntax of Blockciphers Formal Syntax 6 / 24 Blockciphers Syntax A blockcipher is a set of keyed permutations E : K × X → X where x K is the set of keys, X the set of plaintext blocks E k Using bitstrings as inputs K = { 0 , 1 } K for some key-length K ∈ ◆ X = { 0 , 1 } n for some block-length n. y DES has n = 64 and k = 56; AES has n = 128 and k ∈ { 128 , 192 , 256 }
Basic Security of Blockciphers Ideas? 7 / 24 Blockcipher Security Ideas? What security would you expect from a blockcipher? x E k y
Basic Security of Blockciphers Ideas? 7 / 24 Blockcipher Security Ideas? x Some random thoughts... It should be hard to recover they key! E k y
Basic Security of Blockciphers Ideas? 7 / 24 Blockcipher Security Ideas? x Some random thoughts... It should be hard to recover they key! E k learn plaintexts! y
Basic Security of Blockciphers Ideas? 7 / 24 Blockcipher Security Ideas? x Some random thoughts... It should be hard to recover they key! E k learn plaintexts! predict ciphertexts! y
Basic Security of Blockciphers Ideas? 7 / 24 Blockcipher Security Ideas? x Some random thoughts... It should be hard to recover they key! E k learn plaintexts! predict ciphertexts! distinguish its output from random! y
Basic Security of Blockciphers Ideas? 7 / 24 Blockcipher Security Ideas? x Some random thoughts... It should be hard to recover they key! But when? E k learn plaintexts! predict ciphertexts! distinguish its output from random! y
Basic Security of Blockciphers Ideas? 7 / 24 Blockcipher Security Ideas? x Some random thoughts... It should be hard to recover they key! But when? E k learn plaintexts! Which plaintexts? predict ciphertexts! distinguish its output from random! y
Basic Security of Blockciphers Ideas? 7 / 24 Blockcipher Security Ideas? x Some random thoughts... It should be hard to recover they key! But when? E k learn plaintexts! Which plaintexts? predict ciphertexts! In what context? distinguish its output from random! y
Basic Security of Blockciphers Ideas? 7 / 24 Blockcipher Security Ideas? x Some random thoughts... It should be hard to recover they key! But when? E k learn plaintexts! Which plaintexts? predict ciphertexts! In what context? distinguish its output from random! Random in what sense? y
Basic Security of Blockciphers Ideas? 7 / 24 Blockcipher Security Ideas? x More precise definitions are needed, that highlight what an adversary can do and tries to achieve take into account the context in which the E k blockcipher is used y
Basic Security of Blockciphers Ideas? 7 / 24 Blockcipher Security Ideas? x More precise definitions are needed, that highlight what an adversary can do and tries to achieve take into account the context in which the E k blockcipher is used ...so useful conclusions for real world applications can be drawn. y
Basic Security of Blockciphers Blockcipher Use Scenario 8 / 24 How are blockciphers used? Scenario 1: Secure Communication Hi E k E k I’m here Anna Bob Bye Two parties, Anna and Bob want to communicate with each other: Anna wants to send Bob messages;
Basic Security of Blockciphers Blockcipher Use Scenario 8 / 24 How are blockciphers used? Scenario 1: Secure Communication Hi E k E k I’m here Anna Bob Bye Two parties, Anna and Bob want to communicate with each other: Anna wants to send Bob messages; The content of the messages should remain hidden from Eve;
Basic Security of Blockciphers Blockcipher Use Scenario 8 / 24 How are blockciphers used? Scenario 1: Secure Communication yWj E k E k s 5Yc6sdf Anna Bob Flan Two parties, Anna and Bob want to communicate with each other: Anna wants to send Bob messages; The content of the messages should remain hidden from Eve;
Basic Security of Blockciphers Blockcipher Use Scenario 8 / 24 How are blockciphers used? Scenario 1: Secure Communication yWj E k E k s 5Yc6sdf Anna Bob Flan Two parties, Anna and Bob want to communicate with each other: Anna wants to send Bob messages; The content of the messages should remain hidden from Eve; Adversary Eve can see but not modify the transmissions.
Basic Security of Blockciphers Blockcipher Use Scenario 8 / 24 How are blockciphers used? Scenario 1: Secure Communication k k yWj E k E k s 5Yc6sdf Anna Bob Flan Some enabling assumptions: Anna and Bob already magically share a secret key;
Basic Security of Blockciphers Blockcipher Use Scenario 8 / 24 How are blockciphers used? Scenario 1: Secure Communication k k yWj E k E k s 5Yc6sdf Anna Bob Flan Some enabling assumptions: Anna and Bob already magically share a secret key; They both like the same blockcipher
Basic Security of Blockciphers Blockcipher Use Scenario 8 / 24 How are blockciphers used? Scenario 1: Secure Communication k k yWj E k E k s 5Yc6sdf Anna Bob Flan Some enabling assumptions: Anna and Bob already magically share a secret key; They both like the same blockcipher Anna swims in a pool
Basic Security of Blockciphers Blockcipher Use Scenario 8 / 24 How are blockciphers used? Scenario 1: Secure Communication k k yWj E k E k s 5Yc6sdf Anna Bob Flan Some enabling assumptions: Anna and Bob already magically share a secret key; They both like the same blockcipher Anna swims in a pool of randomness
Basic Security of Blockciphers Blockcipher Use Scenario 9 / 24 Confidentiality of a single 3-block message CTR Encryption IV IV + 1 IV + 2 IV + 3 E k E k E k m 1 m 2 m 3 c 0 c 1 c 2 c 3
Recommend
More recommend