on invariant attacks
play

On Invariant Attacks Gregor Leander Ruhr University Bochum Germany - PowerPoint PPT Presentation

Intro Invariant Subspace Attack Non-linear Invariant Attack How to prevent those attacks On Invariant Attacks Gregor Leander Ruhr University Bochum Germany 1 FSE 2019 1 Based on work in collaboration with: Christof Beierle, Anne Canteaut,


  1. Intro Invariant Subspace Attack Non-linear Invariant Attack How to prevent those attacks Robin and iScream S-Box S-Box S-Box S-Box One square is a bit. Columns are stored in registers

  2. Intro Invariant Subspace Attack Non-linear Invariant Attack How to prevent those attacks Robin and iScream S-Box S-Box S-Box S-Box S-Box One square is a bit. Columns are stored in registers

  3. Intro Invariant Subspace Attack Non-linear Invariant Attack How to prevent those attacks Robin and iScream S-Box S-Box S-Box S-Box S-Box S-Box One square is a bit. Columns are stored in registers

  4. Intro Invariant Subspace Attack Non-linear Invariant Attack How to prevent those attacks Robin and iScream S-Box S-Box S-Box S-Box S-Box S-Box S-Box One square is a bit. Columns are stored in registers

  5. Intro Invariant Subspace Attack Non-linear Invariant Attack How to prevent those attacks Robin and iScream S-Box S-Box S-Box S-Box S-Box S-Box S-Box S-Box One square is a bit. Columns are stored in registers

  6. Intro Invariant Subspace Attack Non-linear Invariant Attack How to prevent those attacks Robin and iScream L One square is a bit. Columns are stored in registers

  7. Intro Invariant Subspace Attack Non-linear Invariant Attack How to prevent those attacks Robin and iScream L L One square is a bit. Columns are stored in registers

  8. Intro Invariant Subspace Attack Non-linear Invariant Attack How to prevent those attacks Robin and iScream L L L One square is a bit. Columns are stored in registers

  9. Intro Invariant Subspace Attack Non-linear Invariant Attack How to prevent those attacks Robin and iScream L L L L One square is a bit. Columns are stored in registers

  10. Intro Invariant Subspace Attack Non-linear Invariant Attack How to prevent those attacks Robin and iScream L L L L L One square is a bit. Columns are stored in registers

  11. Intro Invariant Subspace Attack Non-linear Invariant Attack How to prevent those attacks Robin and iScream L L L L L L One square is a bit. Columns are stored in registers

  12. Intro Invariant Subspace Attack Non-linear Invariant Attack How to prevent those attacks Robin and iScream L L L L L L L One square is a bit. Columns are stored in registers

  13. Intro Invariant Subspace Attack Non-linear Invariant Attack How to prevent those attacks Robin and iScream L L L L L L L L One square is a bit. Columns are stored in registers

  14. Intro Invariant Subspace Attack Non-linear Invariant Attack How to prevent those attacks Robin and iScream c One square is a bit. Columns are stored in registers

  15. Intro Invariant Subspace Attack Non-linear Invariant Attack How to prevent those attacks Applications to Zorro, Robin and iScream Easy but Powerful Allows to detect some things 32 dim subspace for Robin . . . and for Zorro Improve Afterwards The tool detects a (minimal) invariant subspace. Careful analysis increases attack and understanding.

  16. Intro Invariant Subspace Attack Non-linear Invariant Attack How to prevent those attacks The Robin Sbox 00000000 → 00000000 10000000 → 10100001 01100100 → 01100100 11100100 → 11000101 00100001 → 00100001 10100001 → 10000000 01000101 → 01000101 11000101 → 11100100 S ( ∗ , a , b , 0 , 0 , a , 0 , a ⊕ b ) = ( ∗ , α, β, 0 , 0 , α, 0 , α ⊕ β )

  17. Intro Invariant Subspace Attack Non-linear Invariant Attack How to prevent those attacks A Problem of Robin and iScream a 7 a 7 c 7 b 7 * 0 0 0 a 6 a 6 c 6 b 6 * 0 0 0 a 5 a 5 c 5 b 5 * 0 0 0 a 4 a 4 c 4 b 4 * 0 0 0 a 3 a 3 c 3 b 3 * 0 0 0 a 2 a 2 c 2 b 2 * 0 0 0 a 1 a 1 c 1 b 1 * 0 0 0 a 0 a 0 c 0 b 0 * 0 0 0 c i = a i ⊕ b i γ i = α i ⊕ β i

  18. Intro Invariant Subspace Attack Non-linear Invariant Attack How to prevent those attacks A Problem of Robin and iScream a 7 a 7 c 7 b 7 * S-Box 0 0 0 a 6 a 6 c 6 b 6 * 0 S-Box 0 0 a 5 a 5 c 5 b 5 * S-Box 0 0 0 a 4 a 4 c 4 b 4 * 0 S-Box 0 0 a 3 a 3 c 3 b 3 * 0 S-Box 0 0 a 2 a 2 c 2 b 2 * S-Box 0 0 0 a 1 a 1 c 1 b 1 * 0 S-Box 0 0 a 0 a 0 c 0 b 0 * 0 S-Box 0 0 c i = a i ⊕ b i γ i = α i ⊕ β i

  19. Intro Invariant Subspace Attack Non-linear Invariant Attack How to prevent those attacks A Problem of Robin and iScream a 7 a 7 c 7 b 7 * S-Box 0 0 0 a 6 a 6 c 6 b 6 * 0 S-Box 0 0 a 5 a 5 c 5 b 5 * 0 S-Box 0 0 a 4 a 4 c 4 b 4 * 0 S-Box 0 0 a 3 a 3 c 3 b 3 * 0 S-Box 0 0 a 2 a 2 c 2 b 2 * 0 S-Box 0 0 a 1 a 1 c 1 b 1 * 0 S-Box 0 0 α 0 α 0 γ 0 β 0 * 0 0 0 c i = a i ⊕ b i γ i = α i ⊕ β i

  20. Intro Invariant Subspace Attack Non-linear Invariant Attack How to prevent those attacks A Problem of Robin and iScream a 7 a 7 c 7 b 7 * S-Box 0 0 0 a 6 a 6 c 6 b 6 * 0 S-Box 0 0 a 5 a 5 c 5 b 5 * 0 S-Box 0 0 a 4 a 4 c 4 b 4 * 0 S-Box 0 0 a 3 a 3 c 3 b 3 * 0 S-Box 0 0 a 2 a 2 c 2 b 2 * 0 S-Box 0 0 α 1 α 1 γ 1 β 1 * 0 0 0 α 0 α 0 γ 0 β 0 * 0 0 0 c i = a i ⊕ b i γ i = α i ⊕ β i

  21. Intro Invariant Subspace Attack Non-linear Invariant Attack How to prevent those attacks A Problem of Robin and iScream a 7 a 7 c 7 b 7 * S-Box 0 0 0 a 6 a 6 c 6 b 6 * S-Box 0 0 0 a 5 a 5 c 5 b 5 * S-Box 0 0 0 a 4 a 4 c 4 b 4 * S-Box 0 0 0 a 3 a 3 c 3 b 3 * S-Box 0 0 0 α 2 α 2 γ 2 β 2 * 0 0 0 α 1 α 1 γ 1 β 1 * 0 0 0 α 0 α 0 γ 0 β 0 * 0 0 0 c i = a i ⊕ b i γ i = α i ⊕ β i

  22. Intro Invariant Subspace Attack Non-linear Invariant Attack How to prevent those attacks A Problem of Robin and iScream a 7 a 7 c 7 b 7 * S-Box 0 0 0 a 6 a 6 c 6 b 6 * 0 S-Box 0 0 a 5 a 5 c 5 b 5 * S-Box 0 0 0 a 4 a 4 c 4 b 4 * S-Box 0 0 0 α 3 α 3 γ 3 β 3 * 0 0 0 α 2 α 2 γ 2 β 2 * 0 0 0 α 1 α 1 γ 1 β 1 * 0 0 0 α 0 α 0 γ 0 β 0 * 0 0 0 c i = a i ⊕ b i γ i = α i ⊕ β i

  23. Intro Invariant Subspace Attack Non-linear Invariant Attack How to prevent those attacks A Problem of Robin and iScream a 7 a 7 c 7 b 7 * S-Box 0 0 0 a 6 a 6 c 6 b 6 * S-Box 0 0 0 a 5 a 5 c 5 b 5 * 0 S-Box 0 0 α 4 α 4 γ 4 β 4 * 0 0 0 α 3 α 3 γ 3 β 3 * 0 0 0 α 2 α 2 γ 2 β 2 * 0 0 0 α 1 α 1 γ 1 β 1 * 0 0 0 α 0 α 0 γ 0 β 0 * 0 0 0 c i = a i ⊕ b i γ i = α i ⊕ β i

  24. Intro Invariant Subspace Attack Non-linear Invariant Attack How to prevent those attacks A Problem of Robin and iScream a 7 a 7 c 7 b 7 * S-Box 0 0 0 a 6 a 6 c 6 b 6 * 0 S-Box 0 0 α 5 α 5 γ 5 β 5 * 0 0 0 α 4 α 4 γ 4 β 4 * 0 0 0 α 3 α 3 γ 3 β 3 * 0 0 0 α 2 α 2 γ 2 β 2 * 0 0 0 α 1 α 1 γ 1 β 1 * 0 0 0 α 0 α 0 γ 0 β 0 * 0 0 0 c i = a i ⊕ b i γ i = α i ⊕ β i

  25. Intro Invariant Subspace Attack Non-linear Invariant Attack How to prevent those attacks A Problem of Robin and iScream a 7 a 7 c 7 b 7 * S-Box 0 0 0 α 6 α 6 γ 6 β 6 * 0 0 0 α 5 α 5 γ 5 β 5 * 0 0 0 α 4 α 4 γ 4 β 4 * 0 0 0 α 3 α 3 γ 3 β 3 * 0 0 0 α 2 α 2 γ 2 β 2 * 0 0 0 α 1 α 1 γ 1 β 1 * 0 0 0 α 0 α 0 γ 0 β 0 * 0 0 0 c i = a i ⊕ b i γ i = α i ⊕ β i

  26. Intro Invariant Subspace Attack Non-linear Invariant Attack How to prevent those attacks A Problem of Robin and iScream α 7 α 7 γ 7 β 7 * 0 0 0 α 6 α 6 γ 6 β 6 * 0 0 0 α 5 α 5 γ 5 β 5 * 0 0 0 α 4 α 4 γ 4 β 4 * 0 0 0 α 3 α 3 γ 3 β 3 * 0 0 0 α 2 α 2 γ 2 β 2 * 0 0 0 α 1 α 1 γ 1 β 1 * 0 0 0 α 0 α 0 γ 0 β 0 * 0 0 0 c i = a i ⊕ b i γ i = α i ⊕ β i

  27. Intro Invariant Subspace Attack Non-linear Invariant Attack How to prevent those attacks A Problem of Robin and iScream α 7 α 7 γ 7 β 7 * 0 0 0 α 6 α 6 γ 6 β 6 * 0 0 0 α 5 α 5 γ 5 β 5 * 0 0 0 α 4 α 4 γ 4 β 4 * 0 0 0 L L L L L L L L α 3 α 3 γ 3 β 3 * 0 0 0 α 2 α 2 γ 2 β 2 * 0 0 0 α 1 α 1 γ 1 β 1 * 0 0 0 α 0 α 0 γ 0 β 0 * 0 0 0 c i = a i ⊕ b i γ i = α i ⊕ β i

  28. Intro Invariant Subspace Attack Non-linear Invariant Attack How to prevent those attacks A Problem of Robin and iScream α 7 α 7 γ 7 β 7 * 0 0 0 α 6 α 6 γ 6 β 6 * 0 0 0 α 5 α 5 γ 5 β 5 * 0 0 0 α 4 α 4 γ 4 β 4 * 0 0 0 L L L L L L L α 3 α 3 γ 3 β 3 * 0 0 0 α 2 α 2 γ 2 β 2 * 0 0 0 α 1 α 1 γ 1 β 1 * 0 0 0 α 0 α 0 γ 0 β 0 * 0 0 0 c i = a i ⊕ b i γ i = α i ⊕ β i

  29. Intro Invariant Subspace Attack Non-linear Invariant Attack How to prevent those attacks A Problem of Robin and iScream α 7 α 7 γ 7 β 7 * 0 0 0 α 6 α 6 γ 6 β 6 * 0 0 0 α 5 α 5 γ 5 β 5 * 0 0 0 α 4 α 4 γ 4 β 4 * 0 0 0 L L L L L L α 3 α 3 γ 3 β 3 * 0 0 0 α 2 α 2 γ 2 β 2 * 0 0 0 α 1 α 1 γ 1 β 1 * 0 0 0 α 0 α 0 γ 0 β 0 * 0 0 0 c i = a i ⊕ b i γ i = α i ⊕ β i

  30. Intro Invariant Subspace Attack Non-linear Invariant Attack How to prevent those attacks A Problem of Robin and iScream α 7 α 7 γ 7 β 7 * 0 0 0 α 6 α 6 γ 6 β 6 * 0 0 0 α 5 α 5 γ 5 β 5 * 0 0 0 α 4 α 4 γ 4 β 4 * 0 0 0 L L L L L α 3 α 3 γ 3 β 3 * 0 0 0 α 2 α 2 γ 2 β 2 * 0 0 0 α 1 α 1 γ 1 β 1 * 0 0 0 α 0 α 0 γ 0 β 0 * 0 0 0 c i = a i ⊕ b i γ i = α i ⊕ β i

  31. Intro Invariant Subspace Attack Non-linear Invariant Attack How to prevent those attacks A Problem of Robin and iScream α 7 α 7 γ 7 β 7 * 0 0 0 α 6 α 6 γ 6 β 6 * 0 0 0 α 5 α 5 γ 5 β 5 * 0 0 0 α 4 α 4 γ 4 β 4 * 0 0 0 L L L L α 3 α 3 γ 3 β 3 * 0 0 0 α 2 α 2 γ 2 β 2 * 0 0 0 α 1 α 1 γ 1 β 1 * 0 0 0 α 0 α 0 γ 0 β 0 * 0 0 0 c i = a i ⊕ b i γ i = α i ⊕ β i

  32. Intro Invariant Subspace Attack Non-linear Invariant Attack How to prevent those attacks A Problem of Robin and iScream α 7 α 7 γ 7 β 7 * 0 0 0 α 6 α 6 γ 6 β 6 * 0 0 0 α 5 α 5 γ 5 β 5 * 0 0 0 α 4 α 4 γ 4 β 4 * 0 0 0 L L L α 3 α 3 γ 3 β 3 * 0 0 0 α 2 α 2 γ 2 β 2 * 0 0 0 α 1 α 1 γ 1 β 1 * 0 0 0 α 0 α 0 γ 0 β 0 * 0 0 0 c i = a i ⊕ b i γ i = α i ⊕ β i

  33. Intro Invariant Subspace Attack Non-linear Invariant Attack How to prevent those attacks A Problem of Robin and iScream α 7 α 7 γ 7 β 7 * 0 0 0 α 6 α 6 γ 6 β 6 * 0 0 0 α 5 α 5 γ 5 β 5 * 0 0 0 α 4 α 4 γ 4 β 4 * 0 0 0 L L α 3 α 3 γ 3 β 3 * 0 0 0 α 2 α 2 γ 2 β 2 * 0 0 0 α 1 α 1 γ 1 β 1 * 0 0 0 α 0 α 0 γ 0 β 0 * 0 0 0 c i = a i ⊕ b i γ i = α i ⊕ β i

  34. Intro Invariant Subspace Attack Non-linear Invariant Attack How to prevent those attacks A Problem of Robin and iScream α 7 α 7 γ 7 β 7 * 0 0 0 α 6 α 6 γ 6 β 6 * 0 0 0 α 5 α 5 γ 5 β 5 * 0 0 0 α 4 α 4 γ 4 β 4 * 0 0 0 L α 3 α 3 γ 3 β 3 * 0 0 0 α 2 α 2 γ 2 β 2 * 0 0 0 α 1 α 1 γ 1 β 1 * 0 0 0 α 0 α 0 γ 0 β 0 * 0 0 0 c i = a i ⊕ b i γ i = α i ⊕ β i

  35. Intro Invariant Subspace Attack Non-linear Invariant Attack How to prevent those attacks A Problem of Robin and iScream α 7 α 7 γ 7 β 7 * 0 0 0 α 6 α 6 γ 6 β 6 * 0 0 0 α 5 α 5 γ 5 β 5 * 0 0 0 α 4 α 4 γ 4 β 4 * 0 0 0 α 3 α 3 γ 3 β 3 * 0 0 0 α 2 α 2 γ 2 β 2 * 0 0 0 α 1 α 1 γ 1 β 1 * 0 0 0 α 0 α 0 γ 0 β 0 * 0 0 0 c i = a i ⊕ b i γ i = α i ⊕ β i

  36. Intro Invariant Subspace Attack Non-linear Invariant Attack How to prevent those attacks A Problem of Robin and iScream α 7 α 7 γ 7 β 7 * 0 0 0 α 6 α 6 γ 6 β 6 * 0 0 0 α 5 α 5 γ 5 β 5 * 0 0 0 α 4 α 4 γ 4 β 4 * 0 0 0 α 3 α 3 γ 3 β 3 * 0 0 0 α 2 α 2 γ 2 β 2 * 0 0 0 α 1 α 1 γ 1 β 1 * 0 0 0 α 0 α 0 γ 0 β 0 * 0 0 0 c i = a i ⊕ b i γ i = α i ⊕ β i

  37. Intro Invariant Subspace Attack Non-linear Invariant Attack How to prevent those attacks A Problem of Robin and iScream α 7 α 7 γ 7 β 7 * 0 0 0 α 6 α 6 γ 6 β 6 * 0 0 0 c α 5 α 5 γ 5 β 5 * 0 0 0 α 4 α 4 γ 4 β 4 * 0 0 0 α 3 α 3 γ 3 β 3 * 0 0 0 α 2 α 2 γ 2 β 2 * 0 0 0 α 1 α 1 γ 1 β 1 * 0 0 0 α 0 α 0 γ 0 β 0 * 0 0 0 c i = a i ⊕ b i γ i = α i ⊕ β i

  38. Intro Invariant Subspace Attack Non-linear Invariant Attack How to prevent those attacks A Problem of Robin and iScream α 7 α 7 γ 7 β 7 * 0 0 0 α 6 α 6 γ 6 β 6 * 0 0 0 α 5 α 5 γ 5 β 5 * 0 0 0 α 4 α 4 γ 4 β 4 * 0 0 0 α 3 α 3 γ 3 β 3 * 0 0 0 α 2 α 2 γ 2 β 2 * 0 0 0 α 1 α 1 γ 1 β 1 * 0 0 0 α 0 α 0 γ 0 β 0 * 0 0 0 c i = a i ⊕ b i γ i = α i ⊕ β i

  39. Intro Invariant Subspace Attack Non-linear Invariant Attack How to prevent those attacks Generalization Question Can we generalize this attack? Possible directions: Not focus on subspaces only Statistical Variant Allow the subspace to change Non-trivial key-scheduling

  40. Intro Invariant Subspace Attack Non-linear Invariant Attack How to prevent those attacks Generalization Question Can we generalize this attack? Possible directions: Not focus on subspaces only Statistical Variant Allow the subspace to change Non-trivial key-scheduling

  41. Intro Invariant Subspace Attack Non-linear Invariant Attack How to prevent those attacks Outline Intro 1 Invariant Subspace Attack 2 Non-linear Invariant Attack 3 How to prevent those attacks 4

  42. Intro Invariant Subspace Attack Non-linear Invariant Attack How to prevent those attacks Non-linear Invariant Attacks ASIACRYPT 2016 joint work with Yosuke Todo and Yu Sasaki (NTT) Developed not like the storyline suggests.

  43. Intro Invariant Subspace Attack Non-linear Invariant Attack How to prevent those attacks Invariant Subspace Attacks F Key-add U+a U+a U+b next round

  44. Intro Invariant Subspace Attack Non-linear Invariant Attack How to prevent those attacks Nonlinear Invariant Attack (I/II) F Key-add next round

  45. Intro Invariant Subspace Attack Non-linear Invariant Attack How to prevent those attacks Invariant Subspace Attacks (II/II) F Key-add next round

  46. Intro Invariant Subspace Attack Non-linear Invariant Attack How to prevent those attacks Basics Definition Given a permutation F : F n 2 → F n 2 . A Boolean function g : F n 2 → F 2 is called a non linear invariant for F if g ( F ( x )) = g ( x ) + c ∀ x where c ∈ F 2 is a constant. Link to the picture: Split F n 2 into two sets 1 := { x | g ( x ) = 1 } A B := { x | g ( x ) = 0 } F ( A ) = A and F ( B ) = B ( c = 0 ) 2 F ( A ) = B and F ( B ) = A ( c = 1 ) 3

  47. Intro Invariant Subspace Attack Non-linear Invariant Attack How to prevent those attacks Applications Applications This leads to attacks on iSCREAM Midori64 SCREAM (v.3) Can be extended to a cipher-text only attack when used in certain modes (e.g. CBC, CTR) mode same message encrypted multiple times with very low complexity.

  48. Intro Invariant Subspace Attack Non-linear Invariant Attack How to prevent those attacks Results weak keys recovered bits data time 2 96 32 3 SCREAM (v.3) 1/4 33 CT 2 96 32 3 iSCREAM 1/4 33 CT 2 64 32 3 Midori64 1/2 33 CT More details in the paper. In particular The details An explanation why that attack works on those ciphers

  49. Intro Invariant Subspace Attack Non-linear Invariant Attack How to prevent those attacks How it was actually developed Insider information II/III: How it was actually developed.

  50. Intro Invariant Subspace Attack Non-linear Invariant Attack How to prevent those attacks How it was actually developed Insider information II/III: How it was actually developed. Yosuke Todo was visiting RUB

  51. Intro Invariant Subspace Attack Non-linear Invariant Attack How to prevent those attacks How it was actually developed Insider information II/III: How it was actually developed. Yosuke Todo was visiting RUB Division Property A set X has division property D n k if x u = 0 � x ∈ X for all u ∈ F n 2 with wt( u ) < k . ⇔ For all f : F n 2 → F 2 with deg( f ) < k we have � f ( x ) = 0 x ∈ X

  52. Intro Invariant Subspace Attack Non-linear Invariant Attack How to prevent those attacks How it was actually developed Research Question Can we overcome one Sbox without guessing the entire key? k D n 3 y x S

  53. Intro Invariant Subspace Attack Non-linear Invariant Attack How to prevent those attacks How it was actually developed k D n 3 y x S z Find a function g : F n → F 2 2 z �→ g ( z ) g ( z ) does not depend non-linear on all bits of z . 1 Equals a quadratic function f in the inputs x 2 That is: g ( z ) = g ( S ( x )) = f ( x )

  54. Intro Invariant Subspace Attack Non-linear Invariant Attack How to prevent those attacks How it was actually developed k D n 3 y x S z f ( x ) = g ( z ) Attack Outline Guess parts of the key Compute g ( z ) For correct key we get � � g ( z ) = f ( x ) = 0 z x ∈ X

  55. Intro Invariant Subspace Attack Non-linear Invariant Attack How to prevent those attacks How it was actually developed k D n 3 y x S z Looking at many examples we found: Scream x 1 x 2 + x 0 + x 2 + x 5 = z 1 z 2 + z 0 + z 2 + z 5 + 1 That is f = g + 1.

  56. Intro Invariant Subspace Attack Non-linear Invariant Attack How to prevent those attacks How it was actually developed k D n 3 y x S z Looking at many examples we found: Scream x 1 x 2 + x 0 + x 2 + x 5 = z 1 z 2 + z 0 + z 2 + z 5 + 1 That is f = g + 1. interesting...

  57. Intro Invariant Subspace Attack Non-linear Invariant Attack How to prevent those attacks How it was actually developed k D n 3 y x S z Looking at many examples we found: Scream x 1 x 2 + x 0 + x 2 + x 5 = z 1 z 2 + z 0 + z 2 + z 5 + 1 That is f = g + 1. interesting... just a coincidence?

  58. Intro Invariant Subspace Attack Non-linear Invariant Attack How to prevent those attacks How it was actually developed k D n 3 y x S z Looking at many examples we found: Scream x 1 x 2 + x 0 + x 2 + x 5 = z 1 z 2 + z 0 + z 2 + z 5 + 1 That is f = g + 1. interesting... just a coincidence? can we do anything with that?

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