differential cryptanalysis of round reduced print cipher
play

Differential Cryptanalysis of Round-Reduced PRINT CIPHER : Computing - PowerPoint PPT Presentation

Description of PRINT CIPHER Differential Cryptanalysis Computing roots of permutations Summary Differential Cryptanalysis of Round-Reduced PRINT CIPHER : Computing Roots of Permutations Mohamed Abdelraheem, Gregor Leander and Erik Zenner DTU


  1. Description of PRINT CIPHER Differential Cryptanalysis Computing roots of permutations Summary Differential Cryptanalysis of Round-Reduced PRINT CIPHER : Computing Roots of Permutations Mohamed Abdelraheem, Gregor Leander and Erik Zenner DTU Mathematics FSE 2011 1 / 21

  2. Description of PRINT CIPHER Differential Cryptanalysis Computing roots of permutations Summary Outline Description of PRINT CIPHER 1 Differential Cryptanalysis 2 Computing roots of permutations 3 Summary 4 2 / 21

  3. Description of PRINT CIPHER Differential Cryptanalysis Computing roots of permutations Summary Introduction PRINT CIPHER is a lightweight SPN block cipher proposed at CHES 2010. Two versions: PRINT CIPHER -48 and PRINT CIPHER -96. Focus on PRINT CIPHER -48. 3 / 21

  4. Description of PRINT CIPHER Differential Cryptanalysis Computing roots of permutations Summary One round of PRINT CIPHER -48 k 1(48 bits) XOR KEY P xor RC i Round Const p p p p p p p p p p p p p p p p k 2(32 bits) S S S S S S S S S S S S S S S S 48-bits block size, 48 rounds that use the same 80-bit key. Each two bits of k 2 permute 3 state bits in a certain way. Only 4 out of 6 possible permutations are allowed: p : k 2 : 00 01 10 11 Invalid 4 / 21

  5. Description of PRINT CIPHER Differential Cryptanalysis Computing roots of permutations Summary Example showing how k 2 is used k 1(48 bits) XOR KEY P xor RC i Round Const k 2(32 bits) S S S S S S S S S S S S S S S S k 2 = 01 , 00 , 01 , 11 , 00 , 10 , 00 , 11 , 01 , 00 , 01 , 11 , 00 , 10 , 00 , 11 p : k 2 : 00 01 10 11 5 / 21

  6. Description of PRINT CIPHER Differential Cryptanalysis Computing roots of permutations Summary P and k 2 ∈ S 48 k 1(48 bits) XOR KEY P Round Const xor RC i k 2(32 bits) S S S S S S S S S S S S S S S S k 2 = 01, 00, · · · , 11. k 2 ∈ S 48 : ( 1 , 2 )( 3 )( 4 )( 5 )( 6 ) · · · ( 46 , 48 )( 47 ) . P ∈ S 48 , P ( i ) = ( 3 i − 2 ) mod 47 , P ( 48 ) = 48. P = ( 1 )( 2 , 4 , 10 , · · · , 17 )( 6 , 16 , 46 , · · · , 34 )( 48 ) . Linear layer is key-dependent. 6 / 21

  7. Description of PRINT CIPHER Differential Cryptanalysis Computing roots of permutations Summary Outline Description of PRINT CIPHER 1 Differential Cryptanalysis 2 Computing roots of permutations 3 Summary 4 7 / 21

  8. Description of PRINT CIPHER Differential Cryptanalysis Computing roots of permutations Summary Differential Characteristics Pr (∆ X → ∆ Y ) = { 0 , 1 4 } . So r -round characteristics have prob. ≤ ( 1 4 ) r . Problem: key dependent linear layer. 8 / 21

  9. Description of PRINT CIPHER Differential Cryptanalysis Computing roots of permutations Summary Optimal Characteristic S S S ∆ x = ∆ y with Pr = 1 4 For any 1-bit input difference: Only one active Sbox in each round is possible. Unique optimal characertisic with Pr = 1 4 r for r rounds. 9 / 21

  10. Description of PRINT CIPHER Differential Cryptanalysis Computing roots of permutations Summary Differential on one round of PRINT CIPHER P k 2 No xor key. No RC. No Sboxes. Only the linear layer ≡ composition of P and k 2 = P ◦ k 2 = Pk 2 . 10 / 21

  11. Description of PRINT CIPHER Differential Cryptanalysis Computing roots of permutations Summary Differential trail on one round of PRINT CIPHER wt( ∆ X ) = 1, ∆ X 3 = 1 P k 2 wt( ∆ Y ) = 1, ∆ Y 8 = 1 wt( ∆ Y ) = 1, ∆ Y 8 = 1 wt( ∆ Y ) = 1, ∆ Y 8 = 1 wt( ∆ Y ) = 1, ∆ Y 8 = 1 wt( ∆ Y ) = 1, ∆ Y 8 = 1 wt( ∆ Y ) = 1, ∆ Y 8 = 1 wt( ∆ Y ) = 1, ∆ Y 8 = 1 wt( ∆ Y ) = 1, ∆ Y 8 = 1 wt( ∆ Y ) = 1, ∆ Y 8 = 1 wt( ∆ Y ) = 1, ∆ Y 8 = 1 wt( ∆ Y ) = 1, ∆ Y 8 = 1 wt( ∆ Y ) = 1, ∆ Y 8 = 1 wt( ∆ Y ) = 1, ∆ Y 8 = 1 wt( ∆ Y ) = 1, ∆ Y 8 = 1 wt( ∆ Y ) = 1, ∆ Y 8 = 1 wt( ∆ Y ) = 1, ∆ Y 8 = 1 Pk 2 ( 3 ) = 8. By trying all the 48 1-bit input differences: we learn Pk 2 . 11 / 21

  12. Description of PRINT CIPHER Differential Cryptanalysis Computing roots of permutations Summary Differential on two rounds of PRINT CIPHER wt( ∆ X ) = 1, ∆ X 3 = 1 P k 2 P k 2 wt( ∆ Y ) = 1, ∆ Y 24 = 1 Composition of permutations: ( Pk 2 ) ◦ ( Pk 2 ) = ( Pk 2 ) 2 . We learn that ( Pk 2 ) 2 ( 3 ) = 24. 12 / 21

  13. Description of PRINT CIPHER Differential Cryptanalysis Computing roots of permutations Summary Differential Cryptanalysis of r rounds: If we have a 1-bit difference at position i , then after r rounds: We learn that ( Pk 2 ) r ( i ) = j . Trying all i ’s: we learn ( Pk 2 ) r . Works only for r ≤ 22 using the full code book. Finding k 2 is now reduced to computing the r -th roots of ( Pk 2 ) r . 13 / 21

  14. Description of PRINT CIPHER Differential Cryptanalysis Computing roots of permutations Summary Outline Description of PRINT CIPHER 1 Differential Cryptanalysis 2 Computing roots of permutations 3 Summary 4 14 / 21

  15. Description of PRINT CIPHER Differential Cryptanalysis Computing roots of permutations Summary Computing roots of permutations Problem: Given σ r , find σ . Solution: Compute the r -th roots of the permutation σ . Computing roots of permutations is easy. Problem: There could be many roots for σ . σ 22 = Identity, has ≈ 2 192 roots, so it is inefficient to find them all. Almost all of them are not of the form Pk 2 . Solution: Find only those roots which are valid for PRINT CIPHER by using known algorithms and exploiting the structure of Pk 2 . 15 / 21

  16. Description of PRINT CIPHER Differential Cryptanalysis Computing roots of permutations Summary Pk 2 structure 1 For 1 ≤ i ≤ 16: When applying P , the 3-bits i , i + 16 and i + 32 go to the i th Sbox. Then they are permuted according to k 2 before entering the Sboxes. 16 / 21

  17. Description of PRINT CIPHER Differential Cryptanalysis Computing roots of permutations Summary Pk 2 structure 2 For all 1 ≤ i ≤ 48: Property 1 : Pk 2 ( i ) equals one of the following three possible values depending on k 2 ,  3 i − 2 ( mod 48 )   Pk 2 ( i ) = 3 i − 1 ( mod 48 )  3 i ( mod 48 )  Property 2 : Only 4 out of the 6 possible 3-bit permutations are valid. So the following cannot hold: Pk 2 ( i ) = 3 i − 1, Pk 2 ( i + 16 ) = 3 i and Pk 2 ( i + 32 ) = 3 i − 2. Pk 2 ( i ) = 3 i , Pk 2 ( i + 16 ) = 3 i − 2 and Pk 2 ( i + 32 ) = 3 i − 1. 17 / 21

  18. Description of PRINT CIPHER Differential Cryptanalysis Computing roots of permutations Summary Experimental results ( Pk 2 ) r has only one PRINT CIPHER root for most keys. Tried 2 13 random k 2 values for different number of rounds: When r = 22, only 2 9 . 6 keys yield more than one root. Took few seconds on average. Worst case is when ( Pk 2 ) r = Identity. When r = 22, it took less than 3 hours and there are ≈ 2 22 roots ≈ 0 . 1 % of all possible k 2 . 18 / 21

  19. Description of PRINT CIPHER Differential Cryptanalysis Computing roots of permutations Summary Outline Description of PRINT CIPHER 1 Differential Cryptanalysis 2 Computing roots of permutations 3 Summary 4 19 / 21

  20. Description of PRINT CIPHER Differential Cryptanalysis Computing roots of permutations Summary Summary Attacked 22/48 rounds of PRINT CIPHER -48 using the full code book. The key-dependent linear layer of PRINT CIPHER adds no security against differential cryptanalysis. Recovered the key-dependent linear layer by: computing roots of permutations in S 48 . 20 / 21

  21. Description of PRINT CIPHER Differential Cryptanalysis Computing roots of permutations Summary Thank you for your attention 21 / 21

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