direct construction of quasi involutory recursive like
play

Direct construction of quasi-involutory recursive-like MDS matrices - PowerPoint PPT Presentation

Involutory recursive MDS matrices Quasi-involutory recursive-like MDS matrices Implementations Direct construction of quasi-involutory recursive-like MDS matrices from 2 -cyclic codes Cauchois Victor 1 Loidreau Pierre 1 Merkiche Nabil 23 1 DGA-MI


  1. Involutory recursive MDS matrices Quasi-involutory recursive-like MDS matrices Implementations Direct construction of quasi-involutory recursive-like MDS matrices from 2 -cyclic codes Cauchois Victor 1 Loidreau Pierre 1 Merkiche Nabil 23 1 DGA-MI / IRMAR 2 DGA-IP 3 Sorbonnes Universit´ e, UPMC, LIP6 FSE 2017 March 6, 2017 Cauchois, Loidreau, Merkiche Involutory recursive diffusion layers 1 / 22

  2. Involutory recursive MDS matrices Quasi-involutory recursive-like MDS matrices Implementations Motivations Definition MDS matrices are matrices such that any minor is non singular. MDS matrices are widely used in Blockciphers and Hash functions. Lightweight designs ⇒ circulant or recursive matrices. Involutory matrices ⇒ Both encryption and decryption with the same structure. No circulant involutory MDS matrix [GR14]. Cauchois, Loidreau, Merkiche Involutory recursive diffusion layers 2 / 22

  3. Involutory recursive MDS matrices Quasi-involutory recursive-like MDS matrices Implementations Agenda Recursive involutory MDS matrix ? We propose a new direct construction of MDS matrices that are recursive-like and quasi-involutory. Implementations and results Cauchois, Loidreau, Merkiche Involutory recursive diffusion layers 3 / 22

  4. Plan Involutory recursive MDS matrices 1 Quasi-involutory recursive-like MDS matrices 2 Implementations 3

  5. Involutory recursive MDS matrices Quasi-involutory recursive-like MDS matrices Implementations Recursive matrices m − 1 From g ( X ) = X m + g i X i ∈ F 2 n [ X ] , we build the matrix : � i =0   0 1 0 . . . 0 . . ... ... ... . .   . . C g =     0 0 1 . . . . . .   g 0 g 1 . . . g m − 2 g m − 1 Definition M is a recursive matrix ⇔ ∃ g ∈ F 2 n [ X ] monic of degree m such that M = C m g Cauchois, Loidreau, Merkiche Involutory recursive diffusion layers 4 / 22

  6. Involutory recursive MDS matrices Quasi-involutory recursive-like MDS matrices Implementations Companion matrices   X mod g ( X ) X 2 mod g ( X )   C g =  .  .   .   X m mod g ( X ) Successive powers of companion matrices have a similar description :  X i  mod g ( X ) X i +1 mod g ( X )   C i g =  , ∀ i ∈ N  .  .   .  X i + m − 1 mod g ( X ) Cauchois, Loidreau, Merkiche Involutory recursive diffusion layers 5 / 22

  7. Involutory recursive MDS matrices Quasi-involutory recursive-like MDS matrices Implementations Redundancy matrices of cyclic codes Let C be a [2 m, m ] 2 n cyclic code. It has a circulant generator matrix :   0 0 g 0 g 1 . . . g m . . . 0 0 g 0 g 1 . . . g m . . .   G =  . .  ... ... ... ... ... . .   . .   0 0 . . . g 0 g 1 . . . g m Assume g m = 1 , this code has a systematic generator matrix shaped as : X m  mod g ( X ) 1 0 0  . . . ...  X m +1  mod g ( X ) 0 1 0 ˜   G =  . . .  ... ... . . .   . . .   X 2 m − 1 mod g ( X ) 0 . . . 0 1 Cauchois, Loidreau, Merkiche Involutory recursive diffusion layers 6 / 22

  8. Involutory recursive MDS matrices Quasi-involutory recursive-like MDS matrices Implementations Involutory recursive MDS matrices ? A recursive matrix C m g is an involutory matrix if C 2 m = I m g Construct MDS cyclic codes ⇒ BCH codes. No element of even order in F 2 n ⇒ No BCH code yielding involutory recursive MDS matrix. Cauchois, Loidreau, Merkiche Involutory recursive diffusion layers 7 / 22

  9. Plan Involutory recursive MDS matrices 1 Quasi-involutory recursive-like MDS matrices 2 Implementations 3

  10. Involutory recursive MDS matrices Quasi-involutory recursive-like MDS matrices Implementations Skewing polynomial rings Let θ : x �→ x [1] the squaring in F 2 2 m . Definition The ring of 2 -polynomials, F 2 2 m [ X, θ ] , is defined as the set { � i a i X i , a i ∈ F 2 2 m } together with : Addition : usual polynomial addition. Multiplication : X ∗ a = θ ( a ) ∗ X = a [1] ∗ X . Cauchois, Loidreau, Merkiche Involutory recursive diffusion layers 8 / 22

  11. Involutory recursive MDS matrices Quasi-involutory recursive-like MDS matrices Implementations Skewing powers of companion matrices Let g � X � = X m + � m − 1 i =0 g i X i ∈ F 2 2 m [ X, θ ] . Theorem X i   mod ∗ g � X � X i +1 mod ∗ g � X �   C [ i − 1] C [ i − 2] . . . C [1] g C g =  .  g g .   .   X i + m − 1 mod ∗ g � X � Definition M is a recursive-like matrix ⇔ ∃ g ∈ F 2 2 m [ X, θ ] monic of degree m such that M = C [ m − 1] C [ m − 2] . . . C [1] g C g g g Cauchois, Loidreau, Merkiche Involutory recursive diffusion layers 9 / 22

  12. Involutory recursive MDS matrices Quasi-involutory recursive-like MDS matrices Implementations Redundancy matrices of 2 -cyclic codes Let C be a [2 m, m ] 2 2 m 2 -cyclic code. It has a circulant generator matrix : g 0 g 1 . . . g m 0 . . . 0   g [1] g [1] g [1] 0 . . . . . . 0 m  0 1  G =  . .  ... ... ... ... ... . .   . .   g [ m − 1] g [ m − 1] g [ m − 1] 0 . . . 0 . . . m 0 1 Assume g m = 1 , this code has a systematic generator matrix shaped as :  X m  mod ∗ g � X � 1 0 . . . 0 ...  X m +1  mod ∗ g � X � 0 1 0 ˜   G = . . .  ... ...  . . .   . . .   X 2 m − 1 mod ∗ g � X � 0 0 1 . . . Cauchois, Loidreau, Merkiche Involutory recursive diffusion layers 10 / 22

  13. Involutory recursive MDS matrices Quasi-involutory recursive-like MDS matrices Implementations Quasi-involutory Recursive-like MDS matrices A recursive-like matrix is a quasi-involutory matrix if C [2 m − 1] C [2 m − 2] . . . C [1] g C g = I m g g � [ m ] � C [ m − 1] C [ m − 2] . . . C [1] ( C [ m − 1] C [ m − 2] . . . C [1] g C g ) = I m g C g g g g g g yields a quasi-involutory recursive-like matrix if X 2 m − 1 mod ∗ g � X � = 0 There exist [2 m, m ] 2 2 m 2 -cyclic MDS matrix whose a redundancy matrix of a systematic generator matrix is quasi-involutory. Cauchois, Loidreau, Merkiche Involutory recursive diffusion layers 11 / 22

  14. Involutory recursive MDS matrices Quasi-involutory recursive-like MDS matrices Implementations 2 -cyclic Gabidulin codes Let λ be a normal element in F 2 2 m . The following matrix is the parity-check matrix of a Maximum Rank Distance (thus MDS) 2 -cyclic code, C :  λ [0] λ [1] λ [2 m − 1]  . . . λ [1] λ [2] λ [0] . . .   H λ =  . .  ... ... . .   . .   λ [ m − 1] λ [ m ] λ [ m − 2] . . . All roots of g unique monic polynomial generating C are roots of X 2 m − 1 ⇒ X 2 m − 1 mod ∗ g � X � = 0 . Thus g yields a quasi-involutory recursive-like matrix. Cauchois, Loidreau, Merkiche Involutory recursive diffusion layers 12 / 22

  15. Involutory recursive MDS matrices Quasi-involutory recursive-like MDS matrices Implementations Direct Construction Choose a normal element λ ∈ F 2 2 m . 1 Define 2  λ [0] λ [ m − 1]   λ [ m ] λ [2 m − 1]  . . . . . . . . . . ... ... H λ, 1 = . .  and H λ, 2 = . .     . . . .    λ [ m − 1] λ [2 m − 2] λ [2 m − 1] λ [ m − 2] . . . . . . Compute H λ = ( H λ, 1 | H λ, 2 ) 3 Compute M = H λ, 2 H − 1 λ, 1 . The inverse matrix is N = M [ m ] . 4 Compute C g from the first line of M . 5 M is then a quasi-involutory recursive-like MDS matrix, recursively generated by C g . Cauchois, Loidreau, Merkiche Involutory recursive diffusion layers 13 / 22

  16. Involutory recursive MDS matrices Quasi-involutory recursive-like MDS matrices Implementations An example with small parameters m = 4 Let β be a a root of the irreducible polynomial x 8 + x 4 + x 3 + x 2 + 1 ( 0x11c ) . β is a generator of the multiplication group of F 2 8 . We chose to consider the normal element λ = β 21 . We compute H β 21 :  β 21 β 42 β 84 β 168 β 81 β 162 β 69 β 138  β 42 β 84 β 168 β 81 β 162 β 69 β 138 β 21    β 84 β 168 β 81 β 162 β 69 β 138 β 21 β 42    β 168 β 81 β 162 β 69 β 138 β 21 β 42 β 84 Hence the MDS matrix M is written :  β 199 β 96 β 52 β 123  β 190 β 218 β 231 β 125   M =  β 194 β 227 β 224 β 66    β 76 β 54 β 217 β 28 Cauchois, Loidreau, Merkiche Involutory recursive diffusion layers 14 / 22

  17. Involutory recursive MDS matrices Quasi-involutory recursive-like MDS matrices Implementations An example with small parameters m = 4 Its inverse matrix is N = M [4] and is written :  β 124 β 6 β 67 β 183  β 235 β 173 β 126 β 215   N =  β 44 β 62 β 14 β 36    β 196 β 99 β 157 β 193 The companion matrix which recursively generates M is associated with g � X � = β 199 + β 96 X + β 52 X 2 + β 123 X 3 + X 4 and is written :   0 1 0 0 0 0 1 0   C g =   0 0 0 1   β 199 β 96 β 52 β 123 Cauchois, Loidreau, Merkiche Involutory recursive diffusion layers 15 / 22

  18. Plan Involutory recursive MDS matrices 1 Quasi-involutory recursive-like MDS matrices 2 Implementations 3

Recommend


More recommend