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

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