cryptanalysis of norx v2 0
play

Cryptanalysis of NORX v2.0 Colin Chaigneau 1 Thomas Fuhr 2 Henri - PowerPoint PPT Presentation

Cryptanalysis of NORX v2.0 Colin Chaigneau 1 Thomas Fuhr 2 Henri Gilbert 2 Jrmy Jean 2 Jean-Ren Reinhard 2 1 Universit de Versailles, France 2 ANSSI, France FSE 2017 - March 7, 2017 Chaigneau, Fuhr, Gilbert, Jean, Reinhard Cryptanalysis


  1. Cryptanalysis of NORX v2.0 Colin Chaigneau 1 Thomas Fuhr 2 Henri Gilbert 2 Jérémy Jean 2 Jean-René Reinhard 2 1 Université de Versailles, France 2 ANSSI, France FSE 2017 - March 7, 2017 Chaigneau, Fuhr, Gilbert, Jean, Reinhard Cryptanalysis of NORX v2.0 FSE 2017 1 / 17

  2. A CAESAR Candidate CAESAR competition : Authenticated Encryption with Associated Data (AEAD) Timeline March 2014: 56 initial submissions July 2015: 28 candidates selected for 2nd round August 2016: 15 candidates selected for 3rd round The NORX authenticated encryption scheme (Aumasson, Jovanovic, Neves) Initial submission: NORX v1 (selected for Round 2) August 2015: NORX v2.0 (selected for Round 3) September 2016: NORX v3.0 Chaigneau, Fuhr, Gilbert, Jean, Reinhard Cryptanalysis of NORX v2.0 FSE 2017 2 / 17

  3. Our results Ciphertext-only forgery attack on full NORX v2.0 Trivial known-plaintext key recovery once a forgery is achieved CAESAR NORX handles only byte strings Version Key size Tag size Data Time 2 66 2 66 NORX v2.0 128 128 2 72 2 72 NORX v2.0 CAESAR 128 128 2 130 2 130 NORX v2.0 256 256 2 136 2 136 NORX v2.0 CAESAR 256 256 Related work Privacy and integrity proofs of the mode [JLM14] Analyses of the permutation [AJN14] , [AJN15] , [DMM15] , [BUV17] Attacks on reduced versions [BHJMS16] Chaigneau, Fuhr, Gilbert, Jean, Reinhard Cryptanalysis of NORX v2.0 FSE 2017 3 / 17

  4. 1. Description of NORX v2.0

  5. Description of NORX v2.0 AEAD framework Encryption K Notations Authenticated M : Plaintext N , AD , M E C , T AD : Associated data Encrypted N : Nonce K : AEAD Key Decryption C : Ciphertext K T : Authentication Tag � M if T valid N , AD D C , T ⊥ else Chaigneau, Fuhr, Gilbert, Jean, Reinhard Cryptanalysis of NORX v2.0 FSE 2017 4 / 17

  6. Description of NORX v2.0 NORX mode of operation MonkeyDuplex mode [BDPV12] This talk: focus on the 128-bit key and 128-bit tag version Out of scope: parallel mode, authenticated trailer, 256-bit keys E K ( N , AD , M ) AD 1 AD a M 1 C 1 M m C m rate 384 128 K T P P P P P P P N capacity 128 U U : init. constants 01 01 02 02 08 D K ( N , AD , C , T ) AD 1 AD a M 1 M m rate 384 128 K C 1 C m T ? P P P P P P P N capacity 128 U 01 01 02 02 08 Chaigneau, Fuhr, Gilbert, Jean, Reinhard Cryptanalysis of NORX v2.0 FSE 2017 5 / 17

  7. Description of NORX v2.0 The permutation P Inspired by stream cipher ChaCha [B08] Operates on a 512-bit state S State represented as a 4 × 4 matrix of 32-bit words   s 0 s 1 s 2 s 3   s 4 s 5 s 6 s 7 Outer part (rate)   S =   s 8 s 9 s 10 s 11    � s 12 s 13 s 14 s 15 Inner part (capacity) P relies on a 128-bit permutation G Chaigneau, Fuhr, Gilbert, Jean, Reinhard Cryptanalysis of NORX v2.0 FSE 2017 6 / 17

  8. Description of NORX v2.0 The permutation P G : 4-branch generalised Feistel a a ′ ≫ 12 ≫ 7 b ′ b c c ′ ≫ 16 ≫ 8 d ′ d a ′ , b ′ , c ′ , d ′ = G ( a , b , c , d ) x ⊞ y = ( x ⊕ y ) ⊕ ( x ∧ y ) ≪ 1   G ( s 0 , s 4 , s 8 , s 12 ) G ( s 0 , s 5 , s 10 , s 15 )     G ( s 1 , s 5 , s 9 , s 13 ) G ( s 1 , s 6 , s 11 , s 12 )   G col = G diag = G ( s 2 , s 6 , s 10 , s 14 ) G ( s 2 , s 7 , s 8 , s 13 )     G ( s 3 , s 7 , s 11 , s 15 ) G ( s 3 , s 4 , s 9 , s 14 )   P : 4 rounds of G col then G diag Words of row i = i -th input of G Chaigneau, Fuhr, Gilbert, Jean, Reinhard Cryptanalysis of NORX v2.0 FSE 2017 7 / 17

  9. 2. Analysis of P

  10. Analysis of P Properties of P Preservation of symmetries [AJN15]    a ′ a ′ a ′ a ′  a a a a b ′ b ′ b ′ b ′ b b b b P     − →     c ′ c ′ c ′ c ′ c c c c     d ′ d ′ d ′ d ′ d d d d More generally, P commutes with rotations on columns     s 0 s 1 s 2 s 3 s 1 s 2 s 3 s 0 s 4 s 5 s 6 s 7 s 5 s 6 s 7 s 4 ≪ 1     − − →     s 8 s 9 s 10 s 11 s 9 s 10 s 11 s 8     s 12 s 13 s 14 s 15 s 13 s 14 s 15 s 12 State S State S ≪ 1 ∀ i ∈ { 1 , 2 , 3 } , P ( S ≪ i ) = P ( S ) ≪ i Chaigneau, Fuhr, Gilbert, Jean, Reinhard Cryptanalysis of NORX v2.0 FSE 2017 8 / 17

  11. Analysis of P Sketch of proof  s 0 s 1 s 2 s 3   s 1 s 2 s 3 s 0  s 4 s 5 s 6 s 7 s 5 s 6 s 7 s 4 ≪ 1     − − →     s 8 s 9 s 10 s 11 s 9 s 10 s 11 s 8     s 12 s 13 s 14 s 15 s 13 s 14 s 15 s 12     � G col � G col    s ′ s ′ s ′ s ′   s ′ s ′ s ′ s ′  0 1 2 3 1 2 3 0 s ′ s ′ s ′ s ′ s ′ s ′ s ′ s ′ ≪ 1  4 5 6 7   5 6 7 4  − − →     s ′ s ′ s ′ s ′ s ′ s ′ s ′ s ′     8 9 10 11 9 10 11 8 s ′ s ′ s ′ s ′ s ′ s ′ s ′ s ′ 12 13 14 15 13 14 15 12 Rotation commutes with G col layers... Chaigneau, Fuhr, Gilbert, Jean, Reinhard Cryptanalysis of NORX v2.0 FSE 2017 9 / 17

  12. Analysis of P Sketch of proof  s 0 s 1 s 2 s 3   s 1 s 2 s 3 s 0  s 4 s 5 s 6 s 7 s 5 s 6 s 7 s 4 ≪ 1     − − →     s 8 s 9 s 10 s 11 s 9 s 10 s 11 s 8     s 12 s 13 s 14 s 15 s 13 s 14 s 15 s 12     � G diag � G diag    s ′ s ′ s ′ s ′   s ′ s ′ s ′ s ′  0 1 2 3 1 2 3 0 s ′ s ′ s ′ s ′ s ′ s ′ s ′ s ′ ≪ 1  4 5 6 7   5 6 7 4  − − →     s ′ s ′ s ′ s ′ s ′ s ′ s ′ s ′  8 9 10 11   9 10 11 8  s ′ s ′ s ′ s ′ s ′ s ′ s ′ s ′ 12 13 14 15 13 14 15 12 ... and with G diag layers (and therefore with P ) Chaigneau, Fuhr, Gilbert, Jean, Reinhard Cryptanalysis of NORX v2.0 FSE 2017 10 / 17

  13. 3. Forgery attack on NORX v2.0

  14. Forgery attack on NORX v2.0 Forgeries on NORX without padding (1/2) Idea: modify the last block of a known ciphertext ( N , AD , C 1 , . . . , C m ) → ( N , AD , C 1 , . . . , C ′ m ) M m C m K T = ( t 0 , t 1 , t 2 , t 3 ) ( N , AD , C , T ) : N P P P P Known Ciphertext U P 2 ( X ) 02 08 X M ′ m K C ′ T ′ ( N , AD , C ′ , T ′ ) : m N P P P P Forgery Attempt U 02 08 P 2 ( X ′ ) X ′ � P 2 ( X ′ ) P 2 ( X ≪ 2 ) = If X ′ = X ≪ 2 then thus T ′ = T ≪ 2 P 2 ( X ) ≪ 2 = Chaigneau, Fuhr, Gilbert, Jean, Reinhard Cryptanalysis of NORX v2.0 FSE 2017 11 / 17

  15. Forgery attack on NORX v2.0 Forgeries on NORX without padding (2/2) Set T ′ = T ≪ 2, choice of C ′ ? State X during encryption State X’ during decryption     c 0 c 1 c 2 c 3 c 4 c 5 c 6 c 7 ≪ 2     − →     c 8 c 9 c 10 c 11     s 12 s 13 s 14 s 15 s 12 s 13 s 14 s 15 Known, Unknown Chosen, Fixed Conditions: Chaigneau, Fuhr, Gilbert, Jean, Reinhard Cryptanalysis of NORX v2.0 FSE 2017 12 / 17

  16. Forgery attack on NORX v2.0 Forgeries on NORX without padding (2/2) Set T ′ = T ≪ 2, choice of C ′ ? State X during encryption State X’ during decryption     c 0 c 1 c 2 c 3 c 0 c 4 c 5 c 6 c 7 c 4 ≪ 2     − →     c 8 c 9 c 10 c 11 c 8     s 12 s 13 s 14 s 15 s 12 s 13 s 14 s 15 Known, Unknown Chosen, Fixed Conditions: s 12 = s 14 Chaigneau, Fuhr, Gilbert, Jean, Reinhard Cryptanalysis of NORX v2.0 FSE 2017 12 / 17

  17. Forgery attack on NORX v2.0 Forgeries on NORX without padding (2/2) Set T ′ = T ≪ 2, choice of C ′ ? State X during encryption State X’ during decryption     c 0 c 1 c 2 c 3 c 0 c 1 c 4 c 5 c 6 c 7 c 4 c 5 ≪ 2     − →     c 8 c 9 c 10 c 11 c 8 c 9     s 12 s 13 s 14 s 15 s 12 s 13 s 14 s 15 Known, Unknown Chosen, Fixed Conditions: s 12 = s 14 , s 13 = s 15 Chaigneau, Fuhr, Gilbert, Jean, Reinhard Cryptanalysis of NORX v2.0 FSE 2017 12 / 17

  18. Forgery attack on NORX v2.0 Forgeries on NORX without padding (2/2) Set T ′ = T ≪ 2, choice of C ′ ? State X during encryption State X’ during decryption     c 0 c 1 c 2 c 3 c 2 c 0 c 1 c 4 c 5 c 6 c 7 c 6 c 4 c 5 ≪ 2     − →     c 8 c 9 c 10 c 11 c 10 c 8 c 9     s 12 s 13 s 14 s 15 s 12 s 13 s 14 s 15 Known, Unknown Chosen, Fixed Conditions: s 12 = s 14 , s 13 = s 15 Chaigneau, Fuhr, Gilbert, Jean, Reinhard Cryptanalysis of NORX v2.0 FSE 2017 12 / 17

  19. Forgery attack on NORX v2.0 Forgeries on NORX without padding (2/2) Set T ′ = T ≪ 2, choice of C ′ ? State X during encryption State X’ during decryption     c 0 c 1 c 2 c 3 c 2 c 3 c 0 c 1 c 4 c 5 c 6 c 7 c 6 c 7 c 4 c 5 ≪ 2     − →     c 8 c 9 c 10 c 11 c 10 c 11 c 8 c 9     s 12 s 13 s 14 s 15 s 12 s 13 s 14 s 15 Known, Unknown Chosen, Fixed Conditions: s 12 = s 14 , s 13 = s 15 Probability 2 − 64 (for each forgery attempt) Chaigneau, Fuhr, Gilbert, Jean, Reinhard Cryptanalysis of NORX v2.0 FSE 2017 12 / 17

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