how to take a function apart with sboxu
play

How to Take a Function Apart with SboxU (Also Featuring some New - PowerPoint PPT Presentation

leo.perrin@inria.fr @lpp_crypto How to Take a Function Apart with SboxU (Also Featuring some New Results on Ortho-Derivatives) Anne Canteaut 1 , Lo Perrin 1 1 Inria, France B oolean F unctions and their A pplications 2020 A wild vectorial


  1. leo.perrin@inria.fr @lpp_crypto How to Take a Function Apart with SboxU (Also Featuring some New Results on Ortho-Derivatives) Anne Canteaut 1 , Léo Perrin 1 1 Inria, France B oolean F unctions and their A pplications 2020

  2. A wild vectorial Boolean function appears! What do you do?

  3. What do you do? A wild vectorial Boolean function appears!

  4. A wild vectorial Boolean function appears! What do you do?

  5. Basic Functionalities CCZ-Equivalence Ortho-Derivative Conclusion Outline Basic Functionalities 1 CCZ-Equivalence 2 3 Ortho-Derivative 4 Conclusion 2 / 17

  6. Basic Functionalities CCZ-Equivalence Installation Ortho-Derivative Core Functionalities Conclusion Plan of this Section Basic Functionalities 1 Installation Core Functionalities CCZ-Equivalence 2 Ortho-Derivative 3 4 Conclusion 2 / 17

  7. Basic Functionalities CCZ-Equivalence Installation Ortho-Derivative Core Functionalities Conclusion Plan of this Section Basic Functionalities 1 Installation Core Functionalities CCZ-Equivalence 2 Ortho-Derivative 3 4 Conclusion 2 / 17

  8. Demo Basic Functionalities CCZ-Equivalence Installation Ortho-Derivative Core Functionalities Conclusion How to You need to have SAGE installed Then head to https://github.com/lpp-crypto/sboxU 3 / 17

  9. SAGE SBox Supports output size input Assumes output size input size size Sub-routines written in Sub-routines written in Python or Cython Python or multi-threaded C++ Built-in SAGE Cutting functionalities functionalities sboxU Basic Functionalities CCZ-Equivalence Installation Ortho-Derivative Core Functionalities Conclusion Sbox from SAGE vs. sboxU There are already many functions for investigating vectorial boolean functions in SAGE: Class SBox from sage.crypto.sbox (or sage.crypto.mq.sbox in older versions) Module boolean_function from sage.crypto 4 / 17

  10. sboxU Basic Functionalities CCZ-Equivalence Installation Ortho-Derivative Core Functionalities Conclusion Sbox from SAGE vs. sboxU There are already many functions for investigating vectorial boolean functions in SAGE: Class SBox from sage.crypto.sbox (or sage.crypto.mq.sbox in older versions) Module boolean_function from sage.crypto SAGE SBox Supports output size ̸ = input Assumes output size = input size size Sub-routines written in Sub-routines written in Python or Cython Python or multi-threaded C++ Built-in SAGE Cutting functionalities functionalities 4 / 17

  11. Basic Functionalities CCZ-Equivalence Installation Ortho-Derivative Core Functionalities Conclusion Plan of this Section Basic Functionalities 1 Installation Core Functionalities CCZ-Equivalence 2 Ortho-Derivative 3 4 Conclusion 4 / 17

  12. Demo Basic Functionalities CCZ-Equivalence Installation Ortho-Derivative Core Functionalities Conclusion Some Tools DDT/LAT (+ Pollock representation thereof) 1 ANF, algebraic degree 2 3 Finite field arithmetic 4 Linear mappings 5 / 17

  13. Basic Functionalities CCZ-Equivalence Definition and Basic Theorems Ortho-Derivative How Can sboxU Help? Conclusion Plan of this Section Basic Functionalities 1 CCZ-Equivalence 2 Definition and Basic Theorems How Can sboxU Help? Ortho-Derivative 3 4 Conclusion 5 / 17

  14. Basic Functionalities CCZ-Equivalence Definition and Basic Theorems Ortho-Derivative How Can sboxU Help? Conclusion Plan of this Section Basic Functionalities 1 CCZ-Equivalence 2 Definition and Basic Theorems How Can sboxU Help? Ortho-Derivative 3 4 Conclusion 5 / 17

  15. Definition (EA-Equivalence; EA-mapping) F and G are E(xtented) A(ffine) equivalent if G x B F A x C x , where A B C are affine and A B are permutations; so that 1 A 0 n n x G x x x F x x 2 1 2 CA B Basic Functionalities CCZ-Equivalence Definition and Basic Theorems Ortho-Derivative How Can sboxU Help? Conclusion CCZ- and EA-equivalence Definition (CCZ-Equivalence) F : F n 2 → F m 2 and G : F n 2 → F m 2 are C(arlet)-C(harpin)-Z(inoviev) equivalent if { } ({ }) ( x , G ( x )) , ∀ x ∈ F n ( x , F ( x )) , ∀ x ∈ F n Γ G = = L = L (Γ F ) , 2 2 where L : F n + m → F n + m is an affine permutation. 2 2 6 / 17

  16. Basic Functionalities CCZ-Equivalence Definition and Basic Theorems Ortho-Derivative How Can sboxU Help? Conclusion CCZ- and EA-equivalence Definition (CCZ-Equivalence) F : F n 2 → F m 2 and G : F n 2 → F m 2 are C(arlet)-C(harpin)-Z(inoviev) equivalent if { } ({ }) ( x , G ( x )) , ∀ x ∈ F n ( x , F ( x )) , ∀ x ∈ F n Γ G = = L = L (Γ F ) , 2 2 where L : F n + m → F n + m is an affine permutation. 2 2 Definition (EA-Equivalence; EA-mapping) F and G are E(xtented) A(ffine) equivalent if G ( x ) = ( B ◦ F ◦ A )( x ) + C ( x ) , where A , B , C are affine and A , B are permutations; so that [ ] ({ A − 1 0 { } }) ( x , G ( x )) , ∀ x ∈ F n ( x , F ( x )) , ∀ x ∈ F n = . 2 CA − 1 2 B 6 / 17

  17. EA-class EA-class EA-class EA-class EA-class F 4 F 1 F F 2 F F 3 G Basic Functionalities CCZ-Equivalence Definition and Basic Theorems Ortho-Derivative How Can sboxU Help? Conclusion Some Algorithmic Problems with CCZ-Equivalence CCZ-class F 7 / 17

  18. F 4 F 1 F F 2 F 3 G Basic Functionalities CCZ-Equivalence Definition and Basic Theorems Ortho-Derivative How Can sboxU Help? Conclusion Some Algorithmic Problems with CCZ-Equivalence CCZ-class EA-class EA-class EA-class EA-class EA-class F 7 / 17

  19. F G Basic Functionalities CCZ-Equivalence Definition and Basic Theorems Ortho-Derivative How Can sboxU Help? Conclusion Some Algorithmic Problems with CCZ-Equivalence CCZ-class EA-class EA-class EA-class EA-class EA-class F 4 F 1 F 2 F F 3 7 / 17

  20. G Basic Functionalities CCZ-Equivalence Definition and Basic Theorems Ortho-Derivative How Can sboxU Help? Conclusion Some Algorithmic Problems with CCZ-Equivalence CCZ-class EA-class EA-class EA-class EA-class EA-class F 4 F 1 F ′ F 2 F F 3 7 / 17

  21. Basic Functionalities CCZ-Equivalence Definition and Basic Theorems Ortho-Derivative How Can sboxU Help? Conclusion Some Algorithmic Problems with CCZ-Equivalence CCZ-class EA-class EA-class EA-class EA-class EA-class F 4 F 1 F ′ F 2 F F 3 G 7 / 17

  22. Basic Functionalities CCZ-Equivalence Definition and Basic Theorems Ortho-Derivative How Can sboxU Help? Conclusion Plan of this Section Basic Functionalities 1 CCZ-Equivalence 2 Definition and Basic Theorems How Can sboxU Help? Ortho-Derivative 3 4 Conclusion 7 / 17

  23. Finding permutations ! Demo Demo Basic Functionalities CCZ-Equivalence Definition and Basic Theorems Ortho-Derivative How Can sboxU Help? Conclusion Exploring a CCZ-class Algorithms used here are based on: an efficient vector space search algorithm from “Anomalies and Vector Space Search: Tools for S-Box Analysis” (ASIACRYPT’19), and the framework based on Walsh zeroes we introduced in “On CCZ-equivalence, extended-affine equivalence, and function twisting” , FFA’19 Finding representatives of EA-classes 8 / 17

  24. Demo Demo Basic Functionalities CCZ-Equivalence Definition and Basic Theorems Ortho-Derivative How Can sboxU Help? Conclusion Exploring a CCZ-class Algorithms used here are based on: an efficient vector space search algorithm from “Anomalies and Vector Space Search: Tools for S-Box Analysis” (ASIACRYPT’19), and the framework based on Walsh zeroes we introduced in “On CCZ-equivalence, extended-affine equivalence, and function twisting” , FFA’19 Finding representatives of EA-classes Finding permutations ! 8 / 17

  25. Definition (Walsh spectrum) b F x . The Walsh spectrum is the 1 a x Recall that F a b x number of occurrences of each number in the LAT. The extended Walsh spectrum considers only absolute values. Differential and extended Walsh spectra are constant in a CCZ -class. The algebraic degree and the thickness spectrum are constant in an EA -class. Demo Basic Functionalities CCZ-Equivalence Definition and Basic Theorems Ortho-Derivative How Can sboxU Help? Conclusion Class Invariants Definition (Differential spectrum) { } Recall that DDT F [ a , b ] = # x , F ( x + a ) + F ( x ) = b . The differential spectrum is the number of occurrences of each number in the DDT. 9 / 17

  26. Differential and extended Walsh spectra are constant in a CCZ -class. The algebraic degree and the thickness spectrum are constant in an EA -class. Demo Basic Functionalities CCZ-Equivalence Definition and Basic Theorems Ortho-Derivative How Can sboxU Help? Conclusion Class Invariants Definition (Differential spectrum) { } Recall that DDT F [ a , b ] = # x , F ( x + a ) + F ( x ) = b . The differential spectrum is the number of occurrences of each number in the DDT. Definition (Walsh spectrum) Recall that W F [ a , b ] = ∑ x ( − 1 ) a · x + b · F ( x ) . The Walsh spectrum is the number of occurrences of each number in the LAT. The extended Walsh spectrum considers only absolute values. 9 / 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