algebraic cryptanalysis of stark friendly designs
play

Algebraic Cryptanalysis of STARK-Friendly Designs: Application to - PowerPoint PPT Presentation

S C I E N C E P A S S I O N T E C H N O L O G Y Algebraic Cryptanalysis of STARK-Friendly Designs: Application to MARVELlous and MiMC Martin Albrecht Carlos Cid Lorenzo Grassi Dmitry Khovratovich Reinhard Lfenegger


  1. S C I E N C E P A S S I O N T E C H N O L O G Y Algebraic Cryptanalysis of STARK-Friendly Designs: Application to MARVELlous and MiMC Martin Albrecht – Carlos Cid – Lorenzo Grassi – Dmitry Khovratovich – Reinhard Lüfenegger – Christian Rechberger – Markus Schofnegger Asiacrypt 2019 > www.iaik.tugraz.at

  2. To Put the Cart Before the Horse... Our main contribution is a known-plaintext key-recovery attack on the block cipher J ARVIS with a single plaintext-ciphertext pair. Rounds Security level (bits) Attack complexity ( log 2 # ops ) 10 ( JARVIS -128) 128 72 12 ( JARVIS -192) 192 85 14 ( JARVIS -256) 256 98 Practically verified up to 6 rounds of JARVIS Extends to a preimage attack on the hash function FRIDAY 1 / 23

  3. To Put the Cart Before the Horse... Our main contribution is a known-plaintext key-recovery attack on the block cipher JARVIS with a single plaintext-ciphertext pair. Rounds Security level (bits) Attack complexity ( log 2 # ops ) 10 ( JARVIS -128) 128 72 12 ( JARVIS -192) 192 85 14 ( JARVIS -256) 256 98 Practically verified up to 6 rounds of JARVIS Extends to a preimage attack on the hash function FRIDAY 1 / 23

  4. Overview Introduction Preliminaries The MARVELlous Design Key-Recovery Attack on JARVIS Attack Idea Results 2 / 23

  5. Algebraic Cryptanalysis Model a cryptographic primitive as a system of multivariate polynomial equations f 1 ( x 1 , . . . , x n ) = ⋯ = f k ( x 1 , . . . , x n ) = 0 in several variables x 1 , . . . , x n over some finite field F � → In general, result is a non-linear equation system Solve the system (e.g. for a specific variable) � → Several techniques available. Gröbner bases are one of them. 3 / 23

  6. Algebraic Cryptanalysis Model a cryptographic primitive as a system of multivariate polynomial equations f 1 ( x 1 , . . . , x n ) = ⋯ = f k ( x 1 , . . . , x n ) = 0 in several variables x 1 , . . . , x n over some finite field F � → In general, result is a non-linear equation system Solve the system (e.g. for a specific variable) � → Several techniques available. Gröbner bases are one of them. 3 / 23

  7. Solving Equation Systems with Gröbner Bases Formally, a Gröbner basis is a special generating set for an ideal in a multivariate polynomial ring Informally, a Gröbner basis is a different representation of an equation system with the same solution set Gröbner bases assist in solving systems of polynomial equations over some (finite) field F Used together with factorisation algorithms for univariate polynomials 4 / 23

  8. Solving Equation Systems with Gröbner Bases Formally, a Gröbner basis is a special generating set for an ideal in a multivariate polynomial ring Informally, a Gröbner basis is a different representation of an equation system with the same solution set Gröbner bases assist in solving systems of polynomial equations over some (finite) field F Used together with factorisation algorithms for univariate polynomials 4 / 23

  9. Solving Equation Systems with Gröbner Bases Formally, a Gröbner basis is a special generating set for an ideal in a multivariate polynomial ring Informally, a Gröbner basis is a different representation of an equation system with the same solution set Gröbner bases assist in solving systems of polynomial equations over some (finite) field F Used together with factorisation algorithms for univariate polynomials 4 / 23

  10. Solving Equation Systems with Gröbner Bases Formally, a Gröbner basis is a special generating set for an ideal in a multivariate polynomial ring Informally, a Gröbner basis is a different representation of an equation system with the same solution set Gröbner bases assist in solving systems of polynomial equations over some (finite) field F Used together with factorisation algorithms for univariate polynomials 4 / 23

  11. MARVELlous MARVELlous [AD18] is a family of cryptographic primitives, comprising J ARVIS (block cipher) and FRIDAY (hash function) Designed to be efficient in the STARK setting “Algebraic” design that works with low-degree polynomials The hash function FRIDAY is based on the block cipher JARVIS 5 / 23

  12. MARVELlous MARVELlous [AD18] is a family of cryptographic primitives, comprising JARVIS (block cipher) and FRIDAY (hash function) Designed to be efficient in the STARK setting “Algebraic” design that works with low-degree polynomials The hash function FRIDAY is based on the block cipher JARVIS 5 / 23

  13. MARVELlous MARVELlous [AD18] is a family of cryptographic primitives, comprising JARVIS (block cipher) and FRIDAY (hash function) Designed to be efficient in the STARK setting “Algebraic” design that works with low-degree polynomials The hash function FRIDAY is based on the block cipher JARVIS 5 / 23

  14. MARVELlous MARVELlous [AD18] is a family of cryptographic primitives, comprising JARVIS (block cipher) and FRIDAY (hash function) Designed to be efficient in the STARK setting “Algebraic” design that works with low-degree polynomials The hash function FRIDAY is based on the block cipher JARVIS 5 / 23

  15. STARKs STARK [BBH+18] S calable T ransparent AR gument of K nowledge General goal: Given a public function f , a private input x and a public value y proof that f ( x ) = y without revealing x. Features of STARKs Arithmetisation-based Use Merkle-trees � → requirement of dedicated hash-function designs for efficiency 6 / 23

  16. STARKs STARK [BBH+18] S calable T ransparent AR gument of K nowledge General goal: Given a public function f , a private input x and a public value y proof that f ( x ) = y without revealing x. Features of STARKs Arithmetisation-based Use Merkle-trees � → requirement of dedicated hash-function designs for efficiency 6 / 23

  17. J ARVIS : the Design JARVIS is similar to MiMC [AGR+16] and works entirely over F 2 n , with n ∈ { 128 , 160 , 192 , 256 } MiMC JARVIS k i k i s i s i + 1 s i s i + 1 x 3 x − 1 B − 1 C B , C are affine polynomials of degree 4 and B − 1 the compositional inverse of B . 7 / 23

  18. Key-Reco very Attack on JARVIS I k p JARVIS ... c x − 1 B − 1 x − 1 B − 1 C C Go al: Given one plaintext p and corresponding ciphertext c = E k ( p ) recover the secret key k . Idea: Relate consecutive rounds by low-degree polynomial relations! 8 / 23

  19. Key-Reco very Attack on JARVIS I k = k 0 k 1 k r p ... c x − 1 B − 1 x − 1 B − 1 C C Go al: Given one plaintext p and corresponding ciphertext c = E k ( p ) recover the secret key k . Idea: Relate consecutive rounds by low-degree polynomial relations! 8 / 23

  20. Key-Reco very Attack on JARVIS II k i − 1 k i + 1 k i x − 1 B − 1 x − 1 B − 1 x − 1 B − 1 C C C Basic strategy Introduce variables x i for intermediate states between B − 1 and C in each round Relate each x i to the previous and next intermediate state x i − 1 and x i + 1 respectively 9 / 23

  21. Key-Reco very Attack on JARVIS II k i − 1 k i + 1 k i x i − 1 x i + 1 x − 1 B − 1 x − 1 B − 1 x i x − 1 B − 1 C C C Basic strategy Introduce variables x i for intermediate states between B − 1 and C in each round Relate each x i to the previous and next intermediate state x i − 1 and x i + 1 respectively 9 / 23

  22. Key-Reco very Attack on JARVIS II k i − 1 k i + 1 k i x i − 1 x i + 1 x − 1 B − 1 x − 1 B − 1 x i x − 1 B − 1 C C C Basic strategy Introduce variables x i for intermediate states between B − 1 and C in each round Relate each x i to the previous and next intermediate state x i − 1 and x i + 1 respectively 9 / 23

  23. Key-Reco very Attack on JARVIS III k i − 1 k i + 1 k i B − 1 x i − 1 B − 1 x i + 1 x − 1 x − 1 B − 1 x i x − 1 s i − 1 s i + 1 C C C Basic equations B ( x i ) = 1 C ( x i − 1 ) + k i − 1 C ( x i ) = B ( x i + 1 ) + k i 1 10 / 23

  24. Key-Reco very Attack on JARVIS III k i − 1 k i + 1 k i B − 1 x i − 1 B − 1 x i + 1 x − 1 x − 1 B − 1 x i x − 1 s i − 1 s i + 1 C C C Basic equations B ( x i ) = 1 C ( x i − 1 ) + k i − 1 C ( x i ) = B ( x i + 1 ) + k i 1 10 / 23

  25. Key-Reco very Attack on JARVIS III k i − 1 k i + 1 k i B − 1 x i − 1 B − 1 x i + 1 x − 1 x − 1 B − 1 x i x − 1 s i − 1 s i + 1 C C C Basic equations B ( x i ) = 1 C ( x i − 1 ) + k i − 1 C ( x i ) = B ( x i + 1 ) + k i 1 10 / 23

  26. Key-Reco very Attack on JARVIS III k i − 1 k i + 1 k i B − 1 x i − 1 B − 1 x i + 1 x − 1 x − 1 B − 1 x i x − 1 s i − 1 s i + 1 C C C Basic equations B ( x i ) = 1 C ( x i − 1 ) + k i − 1 C ( x i ) = B ( x i + 1 ) + k i 1 10 / 23

  27. Key-Reco very Attack on JARVIS III k i − 1 k i + 1 k i B − 1 x i − 1 B − 1 x i + 1 x − 1 x − 1 B − 1 x i x − 1 s i − 1 s i + 1 C C C Basic equations B ( x i ) = 1 C ( x i − 1 ) + k i − 1 C ( x i ) = B ( x i + 1 ) + k i 1 10 / 23

  28. Key-Reco very Attack on JARVIS IV k i − 1 k i + 1 k i B − 1 x i − 1 B − 1 x i + 1 x − 1 x − 1 B − 1 x i x − 1 C C C Idea for improvements: Only use every second intermediate state by finding affine polynomials B ′ , C ′ such that B ′ ○ B = C ′ ○ C ! 11 / 23

  29. Key-Reco very Attack on JARVIS V k i − 1 k i + 1 k i B − 1 x i − 1 B − 1 x i + 1 x − 1 x − 1 B − 1 x i x − 1 C C C Improved equations 12 / 23

  30. Key-Reco very Attack on JARVIS V k i − 1 k i + 1 k i B − 1 x i − 1 B − 1 x i + 1 x − 1 x − 1 B − 1 x i x − 1 C C C Improved equations = 1 C ( x i − 1 ) + k i − 1 12 / 23

Recommend


More recommend