shorter linear straight line programs for mds matrices
play

Shorter Linear Straight-Line Programs for MDS Matrices Yet another - PowerPoint PPT Presentation

Motivation Previous Work Shorter Linear Straight-Line Programs Results Conclusion Shorter Linear Straight-Line Programs for MDS Matrices Yet another XOR Count Paper Thorsten Kranz 1 , Gregor Leander 1 , Ko Stoffelen 2 , Friedrich Wiemer 1 1


  1. Motivation Previous Work Shorter Linear Straight-Line Programs Results Conclusion Shorter Linear Straight-Line Programs for MDS Matrices Yet another XOR Count Paper Thorsten Kranz 1 , Gregor Leander 1 , Ko Stoffelen 2 , Friedrich Wiemer 1 1 Horst Görtz Institute for IT Security, Ruhr-Universität Bochum, Germany 2 Digital Security Group, Radboud University, Nijmegen, The Netherlands

  2. Motivation Previous Work Shorter Linear Straight-Line Programs Results Conclusion Lightweight Cryptography Cryptographic systems might have to fulfill special constraints.

  3. Motivation Previous Work Shorter Linear Straight-Line Programs Results Conclusion Lightweight Cryptography Cryptographic systems might have to fulfill special constraints. Typical Goal Minimize the chip-area.

  4. Motivation Previous Work Shorter Linear Straight-Line Programs Results Conclusion Linear Layers Matrix multiplication(s). Often MDS matrices.       x 0 y 0 02 03 01 01 x 1 y 1 01 02 03 01        = x i , y i ∈ F 2 8        , x 2 y 2 01 01 02 03     03 01 01 02 x 3 y 3

  5. Motivation Previous Work Shorter Linear Straight-Line Programs Results Conclusion Goal: Small round-based implementation       x 0 y 0 02 03 01 01 x 1 y 1 01 02 03 01        = x i , y i ∈ F 2 8        , x 2 y 2 01 01 02 03     x 3 y 3 03 01 01 02

  6. Motivation Previous Work Shorter Linear Straight-Line Programs Results Conclusion Goal: Small round-based implementation       x 0 y 0 02 03 01 01 x 1 y 1 01 02 03 01        = x i , y i ∈ F 2 8        , x 2 y 2 01 01 02 03     x 3 y 3 03 01 01 02 . Combinational . . . . . Logic

  7. Motivation Previous Work Shorter Linear Straight-Line Programs Results Conclusion Metric: XOR count Implement matrix multiplication only with XOR operations. Use as few XORs as possible. Idea: Low XOR count = Low chip-area Note: No intermediate result needs to be recomputed.

  8. Motivation Previous Work Shorter Linear Straight-Line Programs Results Conclusion Outline Previous Work 1 Shorter Linear Straight-Line Programs 2 Results 3

  9. Motivation Previous Work Shorter Linear Straight-Line Programs Results Conclusion Outline Previous Work 1 Shorter Linear Straight-Line Programs 2 Results 3

  10. Motivation Previous Work Shorter Linear Straight-Line Programs Results Conclusion Previous Work FSE 2018: Jean, Peyrin, Sim, Tourteaux Optimizing Implementations of Lightweight Building Blocks FSE 2017: C. Li and Q. Wang Design of Lightweight Linear Diffusion Layers from Near-MDS Matrices FSE 2017: Sarkar and Syed Lightweight Diffusion Layer: Importance of Toeplitz Matrices CRYPTO 2016: Beierle, Kranz, Leander Lightweight Multiplication in GF ( 2 n ) with Applications to MDS Matrices FSE 2016: Liu and Sim Lightweight MDS Generalized Circulant Matrices FSE 2016: Y. Li and M. Wang On the Construction of Lightweight Circulant Involutory MDS Matrices FSE 2015: Sim, Khoo, Oggier, Peyrin Lightweight MDS Involution Matrices

  11. Motivation Previous Work Shorter Linear Straight-Line Programs Results Conclusion Previous Work Searching many matrices.

  12. Motivation Previous Work Shorter Linear Straight-Line Programs Results Conclusion Previous Work Searching many matrices. Cauchy

  13. Motivation Previous Work Shorter Linear Straight-Line Programs Results Conclusion Previous Work Searching many matrices. Cauchy , Vandermonde

  14. Motivation Previous Work Shorter Linear Straight-Line Programs Results Conclusion Previous Work Searching many matrices. Cauchy , Vandermonde , Circulant

  15. Motivation Previous Work Shorter Linear Straight-Line Programs Results Conclusion Previous Work Searching many matrices. Cauchy , Vandermonde , Circulant , Hadamard

  16. Motivation Previous Work Shorter Linear Straight-Line Programs Results Conclusion Previous Work Searching many matrices. Cauchy , Vandermonde , Circulant , Hadamard , Hadamard-Cauchy

  17. Motivation Previous Work Shorter Linear Straight-Line Programs Results Conclusion Previous Work Searching many matrices. Cauchy , Vandermonde , Circulant , Hadamard , Hadamard-Cauchy , Toeplitz

  18. Motivation Previous Work Shorter Linear Straight-Line Programs Results Conclusion Previous Work Searching many matrices. Cauchy , Vandermonde , Circulant , Hadamard , Hadamard-Cauchy , Toeplitz , Arbitrary

  19. Motivation Previous Work Shorter Linear Straight-Line Programs Results Conclusion Previous Work Searching many matrices. Cauchy , Vandermonde , Circulant , Hadamard , Hadamard-Cauchy , Toeplitz , Arbitrary Optimizing element multiplication.

  20. Motivation Previous Work Shorter Linear Straight-Line Programs Results Conclusion Counting XORs: Overhead and Fixed Cost The XOR count is typically split into overhead and fixed cost. Matrix Multiplication       x 1 y 1 α 1 , 1 α 1 , 2 . . . α 1 , n x 2 y 2       α 2 , 1        = α i , j , x i , y i ∈ F 2 k . . . ...  ,  .   .   .  . . .     x n y n α n , 1 α n , n � XOR ( α i , j ) + n · ( n − 1 ) · k � �� � i , j Fixed Cost � �� � Overhead

  21. Motivation Previous Work Shorter Linear Straight-Line Programs Results Conclusion Counting XORs: Overhead and Fixed Cost The XOR count is typically split into overhead and fixed cost. Matrix Multiplication       x 1 y 1 α 1 , 1 α 1 , 2 . . . α 1 , n x 2 y 2       α 2 , 1        = α i , j , x i , y i ∈ F 2 k . . . ...  ,  .   .   .  . . .     x n y n α n , 1 α n , n � XOR ( α i , j ) + n · ( n − 1 ) · k � �� � i , j Fixed Cost � �� � Overhead

  22. Motivation Previous Work Shorter Linear Straight-Line Programs Results Conclusion Counting XORs: Overhead and Fixed Cost The XOR count is typically split into overhead and fixed cost. Matrix Multiplication       x 1 y 1 α 1 , 1 α 1 , 2 . . . α 1 , n x 2 y 2       α 2 , 1        = α i , j , x i , y i ∈ F 2 k . . . ...  ,  .   .   .  . . .     x n y n α n , 1 α n , n � XOR ( α i , j ) + n · ( n − 1 ) · k � �� � i , j Fixed Cost � �� � Overhead

  23. Motivation Previous Work Shorter Linear Straight-Line Programs Results Conclusion Counting XORs: Overhead and Fixed Cost The XOR count is typically split into overhead and fixed cost. Matrix Multiplication       x 1 y 1 α 1 , 1 α 1 , 2 . . . α 1 , n x 2 y 2       α 2 , 1        = α i , j , x i , y i ∈ F 2 k . . . ...  ,  .   .   .  . . .     x n y n α n , 1 α n , n � XOR ( α i , j ) + n · ( n − 1 ) · k � �� � i , j Fixed Cost � �� � Overhead

  24. Motivation Previous Work Shorter Linear Straight-Line Programs Results Conclusion Counting XORs: Overhead and Fixed Cost The XOR count is typically split into overhead and fixed cost. Matrix Multiplication       x 1 y 1 α 1 , 1 α 1 , 2 . . . α 1 , n x 2 y 2       α 2 , 1        = α i , j , x i , y i ∈ F 2 k . . . ...  ,  .   .   .  . . .     x n y n α n , 1 α n , n � XOR ( α i , j ) + n · ( n − 1 ) · k � �� � i , j Fixed Cost � �� � Overhead

  25. Motivation Previous Work Shorter Linear Straight-Line Programs Results Conclusion Counting XORs: Overhead and Fixed Cost The XOR count is typically split into overhead and fixed cost. Matrix Multiplication       x 1 y 1 α 1 , 1 α 1 , 2 . . . α 1 , n x 2 y 2       α 2 , 1        = α i , j , x i , y i ∈ F 2 k . . . ...  ,  .   .   .  . . .     x n y n α n , 1 α n , n � XOR ( α i , j ) + n · ( n − 1 ) · k � �� � i , j Fixed Cost � �� � Overhead

  26. Motivation Previous Work Shorter Linear Straight-Line Programs Results Conclusion Counting XORs: Overhead and Fixed Cost The XOR count is typically split into overhead and fixed cost. Matrix Multiplication       x 1 y 1 α 1 , 1 α 1 , 2 . . . α 1 , n x 2 y 2       α 2 , 1        = α i , j , x i , y i ∈ F 2 k . . . ...  ,  .   .   .  . . .     x n y n α n , 1 α n , n � XOR ( α i , j ) + n · ( n − 1 ) · k � �� � i , j Fixed Cost � �� � Overhead

Recommend


More recommend