new techniques for searching di ff erential trails in
play

New Techniques for Searching Di ff erential Trails in Keccak Guozhen - PowerPoint PPT Presentation

New Techniques for Searching Di ff erential Trails in Keccak Guozhen Liu, Weidong Qiu, Yi Tu Nanyang Technological University, Singapore Shanghai Jiao Tong University, China 3-Round Di ff erential Trail Core Search of Keccak Permutation 1 / 21


  1. New Techniques for Searching Di ff erential Trails in Keccak Guozhen Liu, Weidong Qiu, Yi Tu Nanyang Technological University, Singapore Shanghai Jiao Tong University, China 3-Round Di ff erential Trail Core Search of Keccak Permutation 1 / 21

  2. Overview Introduction 1 Brief Description of Keccak -f[1600] Previous Works on Di ff erential Trail Search New 3-Round Trial Core Search Strategy 2 Classification of Search Space Ideal Improvement Assumption General Search Algorithm Summary of Search Result 3-Round Di ff erential Trail Core Search of Keccak Permutation 2 / 21

  3. Introduction Brief Description of Keccak -f[1600] Keccak -f[1600] - the SHA3 Permutation Keccak -f[1600] permutation uses XOR, AND and NOT operations in its round function. The state size is 1600 bits, organized as a 5 × 5 array of 64-bit lanes with ( x, y, z ) coordinates. Each round consists of 5 steps, i.e., the linear θ , ρ , π , ι operation, and the nonlinear χ . R = ι ◦ χ ◦ π ◦ ρ ◦ θ 2 4 rounds. 3-Round Di ff erential Trail Core Search of Keccak Permutation 3 / 21

  4. Introduction Brief Description of Keccak -f[1600] Round Function of Keccak -f[1600] R = ι ◦ χ ◦ π ◦ ρ ◦ θ y z z x θ step adds two columns to current bit position (x,y,z). column sum c [ x ][ z ] = � 4 y =0 a [ x ][ y ][ z ] a [ x ][ y ][ z ] = c [ x − 1][ z ] ⊕ a [ x ][ y ][ z ] ⊕ c [ x + 1][ z − 1] 3-Round Di ff erential Trail Core Search of Keccak Permutation 4 / 21

  5. Introduction Brief Description of Keccak -f[1600] Round Function of Keccak -f[1600] R = ι ◦ χ ◦ π ◦ ρ ◦ θ ρ step: lane-level rotation. It rotates the 64 bits of each lane by a specific o ff set , which is determined by the coordinates [x,y] of the lane. 3-Round Di ff erential Trail Core Search of Keccak Permutation 5 / 21

  6. Introduction Brief Description of Keccak -f[1600] Round Function of Keccak -f[1600] R = ι ◦ χ ◦ π ◦ ρ ◦ θ π step: permutation on lanes. It rearranges the 25 bits of each slice. a [ y ][2 x + 3 y ][ z ] = a [ x ][ y ][ z ] . 3-Round Di ff erential Trail Core Search of Keccak Permutation 6 / 21

  7. Introduction Brief Description of Keccak -f[1600] Round Function of Keccak -f[1600] R = ι ◦ χ ◦ π ◦ ρ ◦ θ χ is the only nonlinear component. It is a row wise 5-bit Sbox. 3-Round Di ff erential Trail Core Search of Keccak Permutation 7 / 21

  8. Introduction Brief Description of Keccak -f[1600] Round Function of Keccak -f[1600] R = ι ◦ χ ◦ π ◦ ρ ◦ θ ι step: add a round constant to the state Add a round-dependent constant to the first lane to destroy the symmetry. Since it has no e ff ect on this kind of di ff erential trail search, we ignore it. 3-Round Di ff erential Trail Core Search of Keccak Permutation 8 / 21

  9. Introduction Previous Works on Di ff erential Trail Search Previous Results on Exhaustive Trail Search of Keccak -f[1600] Di ff erential Propagation Analysis from [DVA12] 3-round trails with propagation weight below T 3 = 36 are searched completely. Lower bound of 6-round trails is 74. New techniques for trail search [MDVA17] 3-round trail cores with threshold propagation weight T 3 = 45 are searched exhaustively. Lower bound on propagation weight of 4/5/6-round trails are improved accordingly. Our results We set T 3 = 53 for our search strategy. There is no theoretical proof for a satisfactory lower bound, but we indeed found many new trail cores. 3-Round Di ff erential Trail Core Search of Keccak Permutation 9 / 21

  10. New 3-Round Trial Core Search Strategy Classification of Search Space θ Property and 3-Round Trail Core Column Parity p of state α is the parity of all columns, i.e., p = P ( α ) . In CP Kernel and out CP Kernel. If p = 0 , θ has no e ff ect on α , α is called in CP Kernel denoted as | K | , otherwise, it’s out CP Kernel, denoted as | N | . We use parity and Kernel to represent column parity and column y z parity kernel. z x 3-round trail core χ λ λ β 0 ��� α 1 − → β 1 − → α 2 − → β 2 A 3-round trail core is denoted by ( α 1 , α 2 ) or ( β 1 , β 2 ) . Target 3-round trail cores The 3-round trail core ( β 1 , β 2 ) with propagation weight w rev ( α 1 ) a + w ( β 1 ) + w ( β 2 ) ≤ T 3 . a w rev ( α 1 ) refers to the optimal weight of β 0 which can propagate to α 1 3-Round Di ff erential Trail Core Search of Keccak Permutation 10 / 21

  11. <latexit sha1_base64="wru6bG+JPhHs0P57svuamOHSbA=">ACmXicfZHLSsNAFIYn8V5vVcGNm2ARXJVMFXThwgtKcaVoVWhKOJlOm6GTCzMnagl9J5/FnW/jtI2gRjw8P/83lnCVQqPrflj2zOzc/MLiUmV5ZXVtvbqx+aCTDHeYolM1FMAmksR8xYKlPwpVRyiQPLHYHAxzh+fudIie9xmPJOBP1Y9AQDNJZfNApiH4rveqRD9EUCp5yT1pTujCyAs4ljIWCt8dFRz9h6Nljn5xjX+4RplrfHEHfrXm1t1JOWVBC1EjRd341Xevm7As4jEyCVq3qZtiJweFgk+qniZ5imwAfR528gYIq47+aSzI2fPOF2nlyizYnQm7ncih0jrYRSYnRFgqH9nY/OvrJ1h7iTizjNkMdselEvkw4mznhMTlcozlAOjQCmhHmrw0JQwNAMs2KaQH9/uSweGnXq1untYe30vGjHItkhu2SfUHJETkmT3JAWYda2dWJdWlf2jn1mN+3r6VbKpgt8qPsu08nEdEL</latexit> <latexit sha1_base64="wru6bG+JPhHs0P57svuamOHSbA=">ACmXicfZHLSsNAFIYn8V5vVcGNm2ARXJVMFXThwgtKcaVoVWhKOJlOm6GTCzMnagl9J5/FnW/jtI2gRjw8P/83lnCVQqPrflj2zOzc/MLiUmV5ZXVtvbqx+aCTDHeYolM1FMAmksR8xYKlPwpVRyiQPLHYHAxzh+fudIie9xmPJOBP1Y9AQDNJZfNApiH4rveqRD9EUCp5yT1pTujCyAs4ljIWCt8dFRz9h6Nljn5xjX+4RplrfHEHfrXm1t1JOWVBC1EjRd341Xevm7As4jEyCVq3qZtiJweFgk+qniZ5imwAfR528gYIq47+aSzI2fPOF2nlyizYnQm7ncih0jrYRSYnRFgqH9nY/OvrJ1h7iTizjNkMdselEvkw4mznhMTlcozlAOjQCmhHmrw0JQwNAMs2KaQH9/uSweGnXq1untYe30vGjHItkhu2SfUHJETkmT3JAWYda2dWJdWlf2jn1mN+3r6VbKpgt8qPsu08nEdEL</latexit> <latexit sha1_base64="wru6bG+JPhHs0P57svuamOHSbA=">ACmXicfZHLSsNAFIYn8V5vVcGNm2ARXJVMFXThwgtKcaVoVWhKOJlOm6GTCzMnagl9J5/FnW/jtI2gRjw8P/83lnCVQqPrflj2zOzc/MLiUmV5ZXVtvbqx+aCTDHeYolM1FMAmksR8xYKlPwpVRyiQPLHYHAxzh+fudIie9xmPJOBP1Y9AQDNJZfNApiH4rveqRD9EUCp5yT1pTujCyAs4ljIWCt8dFRz9h6Nljn5xjX+4RplrfHEHfrXm1t1JOWVBC1EjRd341Xevm7As4jEyCVq3qZtiJweFgk+qniZ5imwAfR528gYIq47+aSzI2fPOF2nlyizYnQm7ncih0jrYRSYnRFgqH9nY/OvrJ1h7iTizjNkMdselEvkw4mznhMTlcozlAOjQCmhHmrw0JQwNAMs2KaQH9/uSweGnXq1untYe30vGjHItkhu2SfUHJETkmT3JAWYda2dWJdWlf2jn1mN+3r6VbKpgt8qPsu08nEdEL</latexit> <latexit sha1_base64="wru6bG+JPhHs0P57svuamOHSbA=">ACmXicfZHLSsNAFIYn8V5vVcGNm2ARXJVMFXThwgtKcaVoVWhKOJlOm6GTCzMnagl9J5/FnW/jtI2gRjw8P/83lnCVQqPrflj2zOzc/MLiUmV5ZXVtvbqx+aCTDHeYolM1FMAmksR8xYKlPwpVRyiQPLHYHAxzh+fudIie9xmPJOBP1Y9AQDNJZfNApiH4rveqRD9EUCp5yT1pTujCyAs4ljIWCt8dFRz9h6Nljn5xjX+4RplrfHEHfrXm1t1JOWVBC1EjRd341Xevm7As4jEyCVq3qZtiJweFgk+qniZ5imwAfR528gYIq47+aSzI2fPOF2nlyizYnQm7ncih0jrYRSYnRFgqH9nY/OvrJ1h7iTizjNkMdselEvkw4mznhMTlcozlAOjQCmhHmrw0JQwNAMs2KaQH9/uSweGnXq1untYe30vGjHItkhu2SfUHJETkmT3JAWYda2dWJdWlf2jn1mN+3r6VbKpgt8qPsu08nEdEL</latexit> New 3-Round Trial Core Search Strategy Classification of Search Space Classification of 3-Round Trail Core χ 0 χ 1 χ 2 λ λ λ α 0 → β 0 → α 1 → β 1 → α 2 → β 2 → α 3 − − − − − − According to whether α 1 and α 2 are in Kernel , 3-round trail cores can be classified into 4 1 categories. | K | K | trail cores, both α 1 and α 2 are in Kernel. | N | K | and | N | N | trail cores, with always α 1 out Kernel. (In our work, trail cores with either of the features are covered by the same strategy.) | K | N | trail cores with only α 2 in Kernel. For the last two cases, the search strategy are quite similar. But for | N | K | and | N | N | trails, the 2 trail core search starts from out Kernel α 1 , and from out Kernel α 2 for | K | N | trails. 3-Round Di ff erential Trail Core Search of Keccak Permutation 11 / 21

  12. New 3-Round Trial Core Search Strategy Classification of Search Space Search strategy for | K | K | trail cores First prepare all the theoretical candidate β 1 structures for in Kernel α 1 with m orbitals 1 . Store 1 them in a look up table. According to β 1 can propagate to α 1 which is in Kernel through λ − 1 = ρ − 1 ◦ π − 1 , construct the 2 possible α 1 Based on the relationship between α 1 and β 1 , filter α 1 , and extend forward by one round to obtain 3 the target three round trails 1 A group of 2 active bits in the same column is called an orbital 3-Round Di ff erential Trail Core Search of Keccak Permutation 12 / 21

  13. New 3-Round Trial Core Search Strategy Classification of Search Space An Example - | K | K | Trail Search Algorithm 4 orbitals at α 1 propagate to 3 slices at β 1 with { 3,3,2 } pattern From the look up table, we enumerate all the possible valid slice for z ′ 1 to obtain p ′′ 1 , p ′′ 2 and p ′′ 3 . Through λ − 1 = θ − 1 ◦ ρ − 1 ◦ π − 1 , p 1 , p 2 , and p 3 are determined. Then q 1 , q 2 , q 3 can be enumerated according to the orbital relation. Through π ◦ ρ ◦ θ , q ′′ 3 is determined. According to the valid 2-bit slices stored in the look up table, p ′′ 4 can be obtained, so p 4 is fixed, after that, q 4 can be enumerated according to the orbital relation. Until now, all the four orbitals with 8 bits are determined. Then we filter α 1 by checking q ′′ 1 , q ′′ 2 and q ′′ 4 are all at slice z ′ 2 or not and they result in in kernel slice at α 2 or not. Extend one round to get the target three round trail cores. 3-Round Di ff erential Trail Core Search of Keccak Permutation 13 / 21

Recommend


More recommend