a general proof framework for recent aes distinguishers
play

A General Proof Framework for Recent AES Distinguishers Christina - PowerPoint PPT Presentation

A General Proof Framework for Recent AES Distinguishers Christina Boura, Anne Canteaut, Daniel Coggia Inria, Project Team SECRET, France March 27, FSE 2019 Outline Definitions and the multiple-of-8 distinguisher Proof for the distinguisher


  1. A General Proof Framework for Recent AES Distinguishers Christina Boura, Anne Canteaut, Daniel Coggia Inria, Project Team SECRET, France March 27, FSE 2019

  2. Outline Definitions and the multiple-of-8 distinguisher Proof for the distinguisher Generalisation of this proof framework Adaptation to other SPN ciphers Daniel Coggia 2/ 37

  3. Definitions and the multiple-of-8 distinguisher Definitions and the multiple-of-8 distinguisher Proof for the distinguisher Generalisation of this proof framework Adaptation to other SPN ciphers Daniel Coggia 3/ 37

  4. Definitions and the multiple-of-8 distinguisher Some definitions...   x 0 x 4 x 8 x 12 x 1 x 5 x 9 x 13    ∈ F 16 x i ∈ F 2 8   2 8 x 2 x 6 x 10 x 14  x 3 x 7 x 11 x 15 Daniel Coggia 4/ 37

  5. Definitions and the multiple-of-8 distinguisher Some definitions...   x 0 x 4 x 8 x 12 x 1 x 5 x 9 x 13    ∈ F 16 x i ∈ F 2 8   2 8 x 2 x 6 x 10 x 14  x 3 x 7 x 11 x 15   0 0 0 x 0 x 1 0 0 0    ∈ C 0 Columns   0 0 0 x 2  x 3 0 0 0 Daniel Coggia 4/ 37

  6. Definitions and the multiple-of-8 distinguisher Some definitions...   x 0 x 4 x 8 x 12 x 1 x 5 x 9 x 13    ∈ F 16 x i ∈ F 2 8   2 8 x 2 x 6 x 10 x 14  x 3 x 7 x 11 x 15   0 0 0 x 0 x 1 0 0 0    ∈ C 0 Columns   0 0 0 x 2  x 3 0 0 0   0 x 0 0 y 0 I ⊆ { 0 , . . . , 3 } : C I = � 0 0 x 1 y 1 i ∈ I C i .    ∈ C { 1 , 3 }   0 x 2 0 y 2  0 x 3 0 y 3 Daniel Coggia 4/ 37

  7. Definitions and the multiple-of-8 distinguisher   x 0 0 0 0 0 0 0 x 1    ∈ D 0 Diagonals   0 0 x 2 0  0 0 0 x 3 ShiftRows D I − − − − − − → C I Daniel Coggia 5/ 37

  8. Definitions and the multiple-of-8 distinguisher   x 0 0 0 0 0 0 0 x 1    ∈ D 0 Diagonals   0 0 x 2 0  0 0 0 x 3   x 0 0 0 0 0 0 0 x 1    ∈ ID 0 Anti-diagonals   0 0 x 2 0  0 0 0 x 3 ShiftRows C I − − − − − − → ID I Daniel Coggia 5/ 37

  9. Definitions and the multiple-of-8 distinguisher   x 0 0 0 0 0 0 0 x 1    ∈ D 0 Diagonals   0 0 x 2 0  0 0 0 x 3   x 0 0 0 0 0 0 0 x 1    ∈ ID 0 Anti-diagonals   0 0 x 2 0  0 0 0 x 3   2 · x 0 x 1 x 2 3 · x 3 3 · x 2 2 · x 3 x 0 x 1    ∈ M 0 Mixed   x 0 3 · x 1 2 · x 2 x 3  3 · x 0 2 · x 1 x 2 x 3 MixColumns ID I − − − − − − − → M I Daniel Coggia 5/ 37

  10. Definitions and the multiple-of-8 distinguisher R � �� � SubBytes ShiftRows MixColumns D I − − − − − → D I − − − − − − → C I − − − − − − − → C I R � �� � SubBytes ShiftRows MixColumns C I − − − − − → C I − − − − − − → ID I − − − − − − − → M I Daniel Coggia 6/ 37

  11. Definitions and the multiple-of-8 distinguisher R � �� � SubBytes ShiftRows MixColumns D I − − − − − → D I − − − − − − → C I − − − − − − − → C I R � �� � SubBytes ShiftRows MixColumns C I − − − − − → C I − − − − − − → ID I − − − − − − − → M I k 0 k 1 k 2 k r · · · m c R 1 R 2 R r Daniel Coggia 6/ 37

  12. Definitions and the multiple-of-8 distinguisher Subspace trails Grassi, Rechberger and Rønjom, ToSC 2016 F ∀ a ∈ F 16 2 8 , ∃ b ∈ F 16 U ⇒ V if 2 8 : F ( U + a ) = V + b . F F F Daniel Coggia 7/ 37

  13. Definitions and the multiple-of-8 distinguisher Subspace trails Grassi, Rechberger and Rønjom, ToSC 2016 F ∀ a ∈ F 16 2 8 , ∃ b ∈ F 16 U ⇒ V if 2 8 : F ( U + a ) = V + b . F Examples: F ◮ { 0 } ⇒ { 0 } F F ⇒ F N ◮ U 2 8 R ◮ D I ⇒ C I R ◮ C I F ⇒ M I Daniel Coggia 7/ 37

  14. Definitions and the multiple-of-8 distinguisher The multiple-of-8 distinguisher Grassi, Rechberger and Rønjom, Eurocrypt 2017 a ∈ F 16 2 8 Daniel Coggia 8/ 37

  15. Definitions and the multiple-of-8 distinguisher The multiple-of-8 distinguisher Grassi, Rechberger and Rønjom, Eurocrypt 2017 a ∈ F 16 i ∈ { 0 , . . . , 3 } : D i 2 8 Daniel Coggia 8/ 37

  16. Definitions and the multiple-of-8 distinguisher The multiple-of-8 distinguisher Grassi, Rechberger and Rønjom, Eurocrypt 2017 a ∈ F 16 i ∈ { 0 , . . . , 3 } : D i J ⊆ { 0 , . . . , 3 } : M J 2 8 Daniel Coggia 8/ 37

  17. Definitions and the multiple-of-8 distinguisher The multiple-of-8 distinguisher Grassi, Rechberger and Rønjom, Eurocrypt 2017 a ∈ F 16 i ∈ { 0 , . . . , 3 } : D i J ⊆ { 0 , . . . , 3 } : M J 2 8 n = # { { p 0 , p 1 } with p 0 , p 1 ∈ ( D i + a ) | R 5 ( p 0 ) + R 5 ( p 1 ) ∈ M J } . Daniel Coggia 8/ 37

  18. Definitions and the multiple-of-8 distinguisher The multiple-of-8 distinguisher Grassi, Rechberger and Rønjom, Eurocrypt 2017 a ∈ F 16 i ∈ { 0 , . . . , 3 } : D i J ⊆ { 0 , . . . , 3 } : M J 2 8 n = # { { p 0 , p 1 } with p 0 , p 1 ∈ ( D i + a ) | R 5 ( p 0 ) + R 5 ( p 1 ) ∈ M J } . Then n ≡ 0 mod 8. Daniel Coggia 8/ 37

  19. Definitions and the multiple-of-8 distinguisher Our contribution starts here Questions to answer: ◮ Is the maximal branch number necessary ? ◮ Can we adapt this distinguisher to other SPN ? Daniel Coggia 9/ 37

  20. Definitions and the multiple-of-8 distinguisher Our contribution starts here Questions to answer: ◮ Is the maximal branch number necessary ? New proof ◮ Can we adapt this distinguisher to other SPN ? Daniel Coggia 9/ 37

  21. Definitions and the multiple-of-8 distinguisher Our contribution starts here Questions to answer: ◮ Is the maximal branch number necessary ? New proof ◮ Can we adapt this distinguisher to other SPN ? Adaptation of the new proof Daniel Coggia 9/ 37

  22. Proof for the distinguisher Definitions and the multiple-of-8 distinguisher Proof for the distinguisher Generalisation of this proof framework Adaptation to other SPN ciphers Daniel Coggia 10/ 37

  23. Proof for the distinguisher A key lemma Grassi, Rechberger and Rønjom, Eurocrypt 2017 2 2 � �� � � �� � R R R R D I ⇒ C I ⇒ M I D J ⇒ C J ⇒ M J Daniel Coggia 11/ 37

  24. Proof for the distinguisher A key lemma Grassi, Rechberger and Rønjom, Eurocrypt 2017 1 2 2 ���� � �� � � �� � Lemma R R R R R D I ⇒ C I ⇒ M I D J ⇒ C J ⇒ M J ��� Daniel Coggia 11/ 37

  25. Proof for the distinguisher A key lemma Grassi, Rechberger and Rønjom, Eurocrypt 2017 1 2 2 ���� � �� � � �� � Lemma R R R R R D I ⇒ C I ⇒ M I D J ⇒ C J ⇒ M J ��� Lemma Let a ∈ F 16 2 8 , I ⊂ � 0 , 3 � , J ⊆ � 0 , 3 � . We define n = # { { p 0 , p 1 } with p 0 , p 1 ∈ ( M I + a ) | R ( p 0 ) + R ( p 1 ) ∈ D J } . Then n ≡ 0 mod 8 . Daniel Coggia 11/ 37

  26. Proof for the distinguisher Step 1: equivalence relation between pairs In M 0       2 · x 0 x 1 z 2 3 · z 3 2 · y 0 y 1 z 2 3 · z 3       x 0 x 1 3 · z 2 2 · z 3 y 0 y 1 3 · z 2 2 · z 3      ,     x 0 3 · x 1 2 · z 2 z 3 y 0 3 · y 1 2 · z 2 z 3          3 · x 0 2 · x 1 z 2 z 3 3 · y 0 2 · y 1 z 2 z 3 Definition p 0 , p 1 ∈ ( M I + a ) . The information set K of the pair { p 0 , p 1 } is { k ∈ { 0 , . . . , 3 } | ∃ i ∈ I : x i , k � = y i , k } . It is K = { 0 , 1 } in the example. Daniel Coggia 12/ 37

  27. Proof for the distinguisher       2 · x 0 3 · z 3 2 · y 0 3 · z 3 x 1 z 2 y 1 z 2       x 0 x 1 3 · z 2 2 · z 3 y 0 y 1 3 · z 2 2 · z 3      ,     3 · x 1 2 · z 2 3 · y 1 2 · z 2 x 0 z 3 y 0 z 3          3 · x 0 2 · x 1 z 2 z 3 3 · y 0 2 · y 1 z 2 z 3 ∼       2 · x 0 3 · w 3 2 · y 0 3 · w 3 y 1 w 2 x 1 w 2       x 0 y 1 3 · w 2 2 · w 3 y 0 x 1 3 · w 2 2 · w 3      ,     x 0 3 · y 1 2 · w 2 w 3 y 0 3 · x 1 2 · w 2 w 3          3 · x 0 2 · y 1 w 2 w 3 3 · y 0 2 · x 1 w 2 w 3 Definition p 0 , p 1 , q 0 , q 1 ∈ ( M I + a ) , P = { p 0 , p 1 } , Q = { q 0 , q 1 } P ∼ Q if: ◮ P and Q share the same information set K . i , k = p 1 − b ◮ ∀ k ∈ K , ∃ b ∈ { 0 , 1 } : ∀ i ∈ I , q 0 i , k = p b i , k et q 1 i , k . ∼ is an equivalence relation on the pairs of ( M I + a ) . Daniel Coggia 13/ 37

  28. Proof for the distinguisher Theorem The function ∆ : { p 0 , p 1 } �− → R ( p 0 ) + R ( p 1 ) is constant on the equivalence classes of ∼ . Daniel Coggia 14/ 37

  29. Proof for the distinguisher Theorem The function ∆ : { p 0 , p 1 } �− → R ( p 0 ) + R ( p 1 ) is constant on the equivalence classes of ∼ . Proposition Let C be an equivalence class with information set K . Then # C = 2 | K |− 1 + 8 | I | ( 4 −| K | ) ≡ 0 mod 8 . Daniel Coggia 14/ 37

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