short variable length domain extenders with beyond
play

Short Variable Length Domain Extenders With Beyond Birthday Bound - PowerPoint PPT Presentation

Short Variable Length Domain Extenders With Beyond Birthday Bound Security Yu Long Chen 1 Bart Mennink 2 Mridul Nandi 3 imec-COSIC, KU Leuven Digital Security Group, Radboud University, Nijmegen Indian Statistical Institute, Kolkata December 3,


  1. Short Variable Length Domain Extenders With Beyond Birthday Bound Security Yu Long Chen 1 Bart Mennink 2 Mridul Nandi 3 imec-COSIC, KU Leuven Digital Security Group, Radboud University, Nijmegen Indian Statistical Institute, Kolkata December 3, 2018 1 / 23

  2. Modes of Operation ◮ Block cipher: fixed-input-length (FIL) 2 / 23

  3. Modes of Operation ◮ Block cipher: fixed-input-length (FIL) ◮ Apply block cipher iteratively CBC mode . . . M 1 M 2 M l − 1 M l + + + + IV E K E K E K E K . . . C l − 1 C l C 1 C 2 2 / 23

  4. Modes of Operation Fractional data = ⇒ padding CBC+padding M ∗ . . . M 1 M 2 M l − 1 l 3 / 23

  5. Modes of Operation Fractional data = ⇒ padding CBC+padding M ∗ 10 ∗ . . . M 1 M 2 M l − 1 l 3 / 23

  6. Modes of Operation Fractional data = ⇒ padding CBC+padding M ∗ 10 ∗ . . . M 1 M 2 M l − 1 l + + + + IV E K E K E K E K . . . C 1 C 2 C l − 1 C l 3 / 23

  7. Modes of Operation Fractional data = ⇒ padding CBC+padding M ∗ 10 ∗ . . . M 1 M 2 M l − 1 l + + + + IV E K E K E K E K . . . C 1 C 2 C l − 1 C l Ciphertext expansion: | C | > | M | 3 / 23

  8. Avoiding Ciphertext Expansion 1. CTR: turns block cipher into stream cipher = ⇒ not suitable for some applications 4 / 23

  9. Avoiding Ciphertext Expansion 1. CTR: turns block cipher into stream cipher = ⇒ not suitable for some applications 2. Non-generic methods: EME, TET, HEH, HCTR, HCH, XCB 4 / 23

  10. Avoiding Ciphertext Expansion 1. CTR: turns block cipher into stream cipher = ⇒ not suitable for some applications 2. Non-generic methods: EME, TET, HEH, HCTR, HCH, XCB 3. Ciphertext stealing: . . . M ∗ M 1 M 2 M l − 1 l 4 / 23

  11. Avoiding Ciphertext Expansion 1. CTR: turns block cipher into stream cipher = ⇒ not suitable for some applications 2. Non-generic methods: EME, TET, HEH, HCTR, HCH, XCB 3. Ciphertext stealing: . . . M ∗ 10 ∗ M 1 M 2 M l − 1 l 4 / 23

  12. Avoiding Ciphertext Expansion 1. CTR: turns block cipher into stream cipher = ⇒ not suitable for some applications 2. Non-generic methods: EME, TET, HEH, HCTR, HCH, XCB 3. Ciphertext stealing: . . . M ∗ 10 ∗ M 1 M 2 M l − 1 l + + + + IV E K E K E K E K C l − 1 C l . . . C 1 C 2 4 / 23

  13. Avoiding Ciphertext Expansion 1. CTR: turns block cipher into stream cipher = ⇒ not suitable for some applications 2. Non-generic methods: EME, TET, HEH, HCTR, HCH, XCB 3. Ciphertext stealing: . . . M ∗ 10 ∗ M 1 M 2 M l − 1 l + + + + IV E K E K E K E K C l − 1 C l . . . C 1 C 2 4 / 23

  14. Avoiding Ciphertext Expansion 1. CTR: turns block cipher into stream cipher = ⇒ not suitable for some applications 2. Non-generic methods: EME, TET, HEH, HCTR, HCH, XCB 3. Ciphertext stealing: . . . M ∗ 10 ∗ M 1 M 2 M l − 1 l + + + + IV E K E K E K E K C l − 1 C l . . . C ∗ C 1 C 2 C l l − 1 4 / 23

  15. Avoiding Ciphertext Expansion 1. CTR: turns block cipher into stream cipher = ⇒ not suitable for some applications 2. Non-generic methods: EME, TET, HEH, HCTR, HCH, XCB 3. Ciphertext stealing: . . . M ∗ 10 ∗ M 1 M 2 M l − 1 l + + + + IV E K E K E K E K C l − 1 C l . . . C ∗ C 1 C 2 C l l − 1 ◮ Condition: C i ’s need to be decrypted independently 4 / 23

  16. Length Doublers M 1 M 2 length doubler [ n -bit enciphering scheme] C 1 C 2 ◮ | M 1 | = | C 1 | = n = block size ◮ | M 2 | = | C 2 | ∈ [ 0 , n − 1 ] 5 / 23

  17. Beyond Birthday Bound Length Doubler ◮ Format-preserving encryption ◮ Electronic product code tag encryption 6 / 23

  18. Beyond Birthday Bound Length Doubler ◮ Format-preserving encryption ◮ Electronic product code tag encryption M � 80 2 n / 2 doubler [64-bit BC] � 80 C 32-bits security 6 / 23

  19. Beyond Birthday Bound Length Doubler ◮ Format-preserving encryption ◮ Electronic product code tag encryption M M � 80 � 80 2 n / 2 doubler 2 3 n / 4 doubler [64-bit BC] [64-bit BC] � 80 � 80 C C 32-bits security 48-bits security 6 / 23

  20. Security Definition E ± ρ ± K adversary A ◮ Adversary A makes q queries to oracle ( E K or ρ ) 7 / 23

  21. Security Definition E ± ρ ± K adversary A ◮ Adversary A makes q queries to oracle ( E K or ρ ) ◮ Strong length-preserving pseudorandom permutation ⇐ ⇒ A cannot determine which world it is interacting with 7 / 23

  22. Round Function F [˜ E K ] M 1 M 2 � n � s T 1 ˜ E K 1 � 10 ∗ right s ( Y ) left n − s ( Y ) � n − s � n � s C 1 C 2 8 / 23

  23. 2-LDT Security upper bound: ◮ 2 n − ( s / 2 ) Security lower bound ◮ 2 n / 2 (ToSC 2017(3)) 9 / 23

  24. 2-LDT Security upper bound: ◮ 2 n − ( s / 2 ) Security lower bound ◮ 2 n / 2 (ToSC 2017(3)) ◮ “New bound” 9 / 23

  25. 3-LDT Security lower bound ◮ “New bound” ◮ Better bound than 2-LDT 10 / 23

  26. Security Analysis of 3-LDT security n 11 n / 12 7 n / 8 s min ≈ 5 n / 6 s max s max ≈ ( n + s min ) / 2 3 n / 4 2 n / 3 5 n / 8 n / 2 s min const n / 4 n / 2 3 n / 4 n − 2 log 2 ( n ) s min ≤ s max ≤ ( n + s min ) / 2 11 / 23

  27. Security Bound of 2-LDT and 3-LDT security ◦ = 2-LDT ⋆ = 3-LDT n ⋆ 11 n / 12 ⋆ 5 n / 6 ⋆ 3 n / 4 ⋆ 2 n / 3 ⋆ ◦ 7 n / 12 ◦ n / 2 ◦ ◦ ◦ input size n 5 n / 4 3 n / 2 7 n / 4 2 n − 1 12 / 23

  28. Harmonic Permutation Primitives (Tweakable) pseudorandom permutation G a , b and H a , b ◮ a , b ∈ { 0 , 1 } ◮ a = forward, b = inverse ◮ 0 = random permutation, 1 = special 13 / 23

  29. Harmonic Permutation Primitives (Tweakable) pseudorandom permutation G a , b and H a , b ◮ a , b ∈ { 0 , 1 } ◮ a = forward, b = inverse ◮ 0 = random permutation, 1 = special a = 0 b = 0 13 / 23

  30. Harmonic Permutation Primitives (Tweakable) pseudorandom permutation G a , b and H a , b ◮ a , b ∈ { 0 , 1 } ◮ a = forward, b = inverse ◮ 0 = random permutation, 1 = special a = 0 ideal primitive b = 0 13 / 23

  31. Harmonic Permutation Primitives (Tweakable) pseudorandom permutation G a , b and H a , b ◮ a , b ∈ { 0 , 1 } ◮ a = forward, b = inverse ◮ 0 = random permutation, 1 = special a = 0 a = 1 ideal primitive b = 0 b = 0 a = 0 a = 1 b = 1 b = 1 13 / 23

  32. Harmonic Permutation Primitives If a = 1 or b = 1, then part of permutation random 14 / 23

  33. Harmonic Permutation Primitives If a = 1 or b = 1, then s -bits part of permutation random 14 / 23

  34. Harmonic Permutation Primitives If a = 1 or b = 1, then s -bits part of permutation random ( n − s ) -bits ( n − s ) -bits ⇓ permutation 14 / 23

  35. Harmonic Permutation Primitives If a = 1 or b = 1, then s -bits part of permutation random part of permutation random ( n − s ) -bits ( n − s ) -bits ⇓ permutation 14 / 23

  36. Proof Idea M 1 M 2 M 1 M 2 � n � s � n � s T 1 ˜ E K 1 � 10 ∗ right s ( Y 1 ) left n − s ( Y 1 ) n – s � � s T 2 ˜ ρ E K 2 � 10 ∗ right s ( Y 2 ) left n − s ( Y 2 ) n – s � T 3 ˜ E K 3 � 10 ∗ � s � s � n � n C 1 C 2 C 1 C 2 15 / 23

  37. Proof Idea − � $ π 1 , ˜ ˜ π 2 , ˜ π 3 ← Perm ( n , n ) M 1 M 2 M 1 M 2 � n � s � n � s T 1 ˜ π 1 � 10 ∗ right s ( Y 1 ) left n − s ( Y 1 ) n – s � � s T 2 ρ π 2 ˜ � 10 ∗ right s ( Y 2 ) left n − s ( Y 2 ) n – s � T 3 π 3 ˜ � 10 ∗ � s � n � s � n C 1 C 2 C 1 C 2 16 / 23

  38. Proof Idea M 1 M 2 M 1 M 2 � n � s � n � s T 1 G 0 , 0 � 10 ∗ right s ( Y 1 ) left n − s ( Y 1 ) n – s � � s T 2 G 0 , 0 H 0 , 0 � 10 ∗ right s ( Y 2 ) left n − s ( Y 2 ) n – s � T 3 G 0 , 0 � 10 ∗ � s � s � n � n C 1 C 2 C 1 C 2 17 / 23

  39. Proof Idea [Reduction] ≤ 18 / 23

  40. Proof Idea [Step 1] M 1 M 2 M 1 M 2 � n � s � n � s T 1 T 1 G 0 , 0 G 0 , 1 � 10 ∗ � 10 ∗ right s ( Y 1 ) right s ( Y 1 ) left n − s ( Y 1 ) left n − s ( Y 1 ) n – s � n – s � � s � s T 2 T 2 G 0 , 0 G 1 , 1 � 10 ∗ � 10 ∗ right s ( Y 2 ) right s ( Y 2 ) left n − s ( Y 2 ) left n − s ( Y 2 ) n – s � n – s � T 3 T 3 G 0 , 0 G 1 , 0 � 10 ∗ � 10 ∗ � s � s � n � n C 1 C 2 C 1 C 2 19 / 23

  41. Proof Idea [Step 1] T M C G 0 , 1 T T C C M M G 1 , 1 G 0 , 0 T M C G 1 , 0 20 / 23

  42. Proof Idea [Step 2] M 1 M 2 M 1 M 2 � n � s � n � s T 1 G 0 , 1 � 10 ∗ right s ( Y 1 ) left n − s ( Y 1 ) n – s � � s T 2 G 1 , 1 H 1 , 1 � 10 ∗ right s ( Y 2 ) left n − s ( Y 2 ) n – s � T 3 G 1 , 0 � 10 ∗ � s � s � n � n C 1 C 2 C 1 C 2 21 / 23

  43. Proof Idea [Step 2] M 1 M 2 M 1 M 2 � n � s � n � s T 1 G 0 , 1 � 10 ∗ Indistinguishable right s ( Y 1 ) left n − s ( Y 1 ) n – s � � s T 2 G 1 , 1 H 1 , 1 � 10 ∗ right s ( Y 2 ) left n − s ( Y 2 ) n – s � T 3 G 1 , 0 � 10 ∗ � s � s � n � n C 1 C 2 C 1 C 2 21 / 23

  44. Proof Idea [Step 3] M 1 M 2 M 1 M 2 � n � s � n � s H 1 , 1 H 0 , 0 � s � s � n � n C 1 C 2 C 1 C 2 22 / 23

  45. Conclusion New results ◮ Harmonic primitives ◮ 2-LDT: beyond birthday bound ◮ 3-LDT: better bound 23 / 23

  46. Conclusion New results ◮ Harmonic primitives ◮ 2-LDT: beyond birthday bound ◮ 3-LDT: better bound Further research ◮ 2-LDT and 3-LDT: tight bound? ◮ 3-LDT: optimal security? ◮ Harmonic primitives: tight bound and use for other constructions? 23 / 23

Download Presentation
Download Policy: The content available on the website is offered to you 'AS IS' for your personal information and use only. It cannot be commercialized, licensed, or distributed on other websites without prior consent from the author. To download a presentation, simply click this link. If you encounter any difficulties during the download process, it's possible that the publisher has removed the file from their server.

Recommend


More recommend