blockcipher security notions
play

Blockcipher Security Notions Martijn Stam Department of Computer - PowerPoint PPT Presentation

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


  1. 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

  2. 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 )

  3. 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 )

  4. 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 )

  5. 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 )

  6. 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

  7. 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 .

  8. 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

  9. 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

  10. 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

  11. 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 }

  12. Basic Security of Blockciphers Ideas? 7 / 24 Blockcipher Security Ideas? What security would you expect from a blockcipher? x E k y

  13. 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

  14. 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

  15. 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

  16. 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

  17. 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

  18. 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

  19. 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

  20. 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

  21. 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

  22. 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

  23. 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;

  24. 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;

  25. 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;

  26. 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.

  27. 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;

  28. 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

  29. 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

  30. 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

  31. 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