some cryptanalytic results on triad
play

Some Cryptanalytic Results on TRIAD Abhishek Kesarwani IIT Madras, - PowerPoint PPT Presentation

Some Cryptanalytic Results on TRIAD Abhishek Kesarwani IIT Madras, India INDOCRYPT 2019 16 December 2019 (Joint work Santanu Sarkar and Ayineedi Venkateswarlu) Outline 2 Introduction TRIAD adopts Trivium -like Structure Attacks on Trivium


  1. Some Cryptanalytic Results on TRIAD Abhishek Kesarwani IIT Madras, India INDOCRYPT 2019 16 December 2019 (Joint work Santanu Sarkar and Ayineedi Venkateswarlu)

  2. Outline 2 Introduction TRIAD adopts Trivium -like Structure Attacks on Trivium -like ciphers Our Contribution Conclusion

  3. ◮ Call for Lightweight Cryptographic Algorithms

  4. ◮ Call for Lightweight Cryptographic Algorithms ◮ Total 56 candidates selected for Round 1

  5. ◮ Call for Lightweight Cryptographic Algorithms ◮ Total 56 candidates selected for Round 1 ◮ TRIAD [2] is one of them

  6. TRIAD Family 4 TRIAD TRIAD-AE TRIAD-HASH Triad-SC Triad-MAC ◮ TRIAD-AE provides authenticated encryption with associated data

  7. TRIAD Family 4 TRIAD TRIAD-AE TRIAD-HASH Triad-SC Triad-MAC ◮ TRIAD-AE provides authenticated encryption with associated data ◮ TRIAD-HASH follows the extended sponge based construction

  8. TRIAD Family 5 TRIAD TRIAD-AE TRIAD-HASH Triad-SC Triad-MAC ◮ TRIAD-AE provides authenticated encryption with associated data ◮ TRIAD-HASH follows the extended sponge based construction

  9. TRIAD adopts Trivium -like Structure

  10. TRIAD - AE Vs Trivium

  11. TRIAD - AE Vs Trivium State size 256 bits 288 bits

  12. TRIAD - AE Vs Trivium State size 256 bits 288 bits Key size 128 bits 80 bits

  13. TRIAD - AE Vs Trivium State size 256 bits 288 bits Key size 128 bits 80 bits Nonce/IV size 96 bits 80 bits

  14. TRIAD - AE Vs Trivium State size 256 bits 288 bits Key size 128 bits 80 bits Nonce/IV size 96 bits 80 bits Initialization 1024 round 1152 round

  15. TRIAD - AE Vs Trivium State size 256 bits 288 bits Key size 128 bits 80 bits Nonce/IV size 96 bits 80 bits Initialization 1024 round 1152 round Type AEAD - AEAD - Authenticated encryption with associated data

  16. Attacks on Trivium -like ciphers

  17. Cube Attack 9 ◮ Introduced by Dinur and Shamir [3] in 2009

  18. Cube Attack 9 ◮ Introduced by Dinur and Shamir [3] in 2009 ◮ Attempts to guess atleast one bit of secret key

  19. Cube Attack 9 ◮ Introduced by Dinur and Shamir [3] in 2009 ◮ Attempts to guess atleast one bit of secret key ◮ With complexity less than the brute-force attack

  20. Cube Attack 9 ◮ Introduced by Dinur and Shamir [3] in 2009 ◮ Attempts to guess atleast one bit of secret key ◮ With complexity less than the brute-force attack ◮ Cube attacks are closely related to higher order differential attacks

  21. Cube Attack 9 ◮ Introduced by Dinur and Shamir [3] in 2009 ◮ Attempts to guess atleast one bit of secret key ◮ With complexity less than the brute-force attack ◮ Cube attacks are closely related to higher order differential attacks ◮ Cube attacks use algebraic rather than statistical techniques to find the secret key

  22. Cube Tester 10 ◮ Introduced by Aumasson et. al [1] in 2009

  23. Cube Tester 10 ◮ Introduced by Aumasson et. al [1] in 2009 ◮ Cube testers detect non-random behavior rather than performing key extraction

  24. Cube Tester 10 ◮ Introduced by Aumasson et. al [1] in 2009 ◮ Cube testers detect non-random behavior rather than performing key extraction ◮ Cube tester distinguishes a given cipher from a truly random scenario

  25. Cube Tester 10 ◮ Introduced by Aumasson et. al [1] in 2009 ◮ Cube testers detect non-random behavior rather than performing key extraction ◮ Cube tester distinguishes a given cipher from a truly random scenario ◮ Cube testers are based on efficient testing properties

  26. Cube Tester 10 ◮ Introduced by Aumasson et. al [1] in 2009 ◮ Cube testers detect non-random behavior rather than performing key extraction ◮ Cube tester distinguishes a given cipher from a truly random scenario ◮ Cube testers are based on efficient testing properties Distinguisher Non-randomness (control over the public variables only) (control over the public and private variables both)

  27. Structure of TRIAD-AE 11 z t = f ( K, IV ), where f is a Boolean function

  28. Cube and Superpoly 12 Example ◮ f ( k 1 , k 2 , k 3 , n 1 , n 2 , n 3 ) = k 1 + k 1 k 2 n 1 + k 3 n 1 n 2 + n 1 n 2

  29. Cube and Superpoly 12 Example ◮ f ( k 1 , k 2 , k 3 , n 1 , n 2 , n 3 ) = k 1 + k 1 k 2 n 1 + k 3 n 1 n 2 + n 1 n 2 ◮ Rewrite f as term ���� f ( k 1 , k 2 , k 3 , n 1 , n 2 , n 3 ) = ( k 3 + 1) n 1 n 2 +( k 1 + k 1 k 2 n 1 ) � �� � superpoly

  30. Cube and Superpoly 12 Example ◮ f ( k 1 , k 2 , k 3 , n 1 , n 2 , n 3 ) = k 1 + k 1 k 2 n 1 + k 3 n 1 n 2 + n 1 n 2 ◮ Rewrite f as term ���� f ( k 1 , k 2 , k 3 , n 1 , n 2 , n 3 ) = ( k 3 + 1) n 1 n 2 +( k 1 + k 1 k 2 n 1 ) � �� � superpoly ◮ { n 1 , n 2 } involved in term are referred as cube variables

  31. Cube and Superpoly 12 Example ◮ f ( k 1 , k 2 , k 3 , n 1 , n 2 , n 3 ) = k 1 + k 1 k 2 n 1 + k 3 n 1 n 2 + n 1 n 2 ◮ Rewrite f as term ���� f ( k 1 , k 2 , k 3 , n 1 , n 2 , n 3 ) = ( k 3 + 1) n 1 n 2 +( k 1 + k 1 k 2 n 1 ) � �� � superpoly ◮ { n 1 , n 2 } involved in term are referred as cube variables ◮ Observe � f ( · ) = k 3 + 1 = superpoly { n 1 ,n 2 }∈ F 2 2

  32. Algebraic Degree 13 ◮ The no. of variables in the highest order monomial with non-zero coefficient

  33. Algebraic Degree 13 ◮ The no. of variables in the highest order monomial with non-zero coefficient Ex. The algebraic degree of f w.r.t. IV as variable is 2

  34. Algebraic Degree 13 ◮ The no. of variables in the highest order monomial with non-zero coefficient Ex. The algebraic degree of f w.r.t. IV as variable is 2 ◮ Cryptographic primitives with low algebraic degree are vulnerable to many attacks

  35. Algebraic Degree 13 ◮ The no. of variables in the highest order monomial with non-zero coefficient Ex. The algebraic degree of f w.r.t. IV as variable is 2 ◮ Cryptographic primitives with low algebraic degree are vulnerable to many attacks Question: Can we do the algebraic calculation?

  36. Algebraic Degree 13 ◮ The no. of variables in the highest order monomial with non-zero coefficient Ex. The algebraic degree of f w.r.t. IV as variable is 2 ◮ Cryptographic primitives with low algebraic degree are vulnerable to many attacks Question: Can we do the algebraic calculation? Answer: It is a hard problem.

  37. Algebraic Degree 13 ◮ The no. of variables in the highest order monomial with non-zero coefficient Ex. The algebraic degree of f w.r.t. IV as variable is 2 ◮ Cryptographic primitives with low algebraic degree are vulnerable to many attacks Question: Can we do the algebraic calculation? Answer: It is a hard problem. Since after sufficient no. of rounds, a well-designed stream cipher has complicated expression

  38. Our Contribution

  39. Our Contribution 15 ◮ We give an algorithm which iteratively approximates the algebraic degree of TRIAD-AE

  40. Our Contribution 15 ◮ We give an algorithm which iteratively approximates the algebraic degree of TRIAD-AE ◮ We provide a method to search good cube

  41. Our Contribution 15 ◮ We give an algorithm which iteratively approximates the algebraic degree of TRIAD-AE ◮ We provide a method to search good cube ◮ We observe some cubes in the reduced version of the cipher

  42. Approximation of Algebraic Degree of TRIAD-AE 16 Let A t , B t and C t be the corresponding states of NFSRs 1 A , B and C (resp. of length n A , n B and n C ) at clock t given by 1 Non-linear feedback shift registers

  43. Approximation of Algebraic Degree of TRIAD-AE 16 Let A t , B t and C t be the corresponding states of NFSRs 1 A , B and C (resp. of length n A , n B and n C ) at clock t given by A t = ( a t , a t − 1 , . . . , a t − n A +1 ) , B t = ( b t , b t − 1 , . . . , b t − n B +1 ) , C t = ( c t , c t − 1 , . . . , c t − n C +1 ) . And the corresponding feedback functions are given by a t = c t − i 1 · c t − i 2 ⊕ l A ( s ( t − 1) ) , b t = a t − j 1 · a t − j 2 ⊕ b t − j 3 · c t − j 3 ⊕ l B ( s ( t − 1) ) , c t = b t − k 1 · b t − k 2 ⊕ l C ( s ( t − 1) ) , 1 Non-linear feedback shift registers

  44. Approximation of Algebraic Degree of TRIAD-AE 16 Let A t , B t and C t be the corresponding states of NFSRs 1 A , B and C (resp. of length n A , n B and n C ) at clock t given by A t = ( a t , a t − 1 , . . . , a t − n A +1 ) , B t = ( b t , b t − 1 , . . . , b t − n B +1 ) , C t = ( c t , c t − 1 , . . . , c t − n C +1 ) . And the corresponding feedback functions are given by a t = c t − i 1 · c t − i 2 ⊕ l A ( s ( t − 1) ) , b t = a t − j 1 · a t − j 2 ⊕ b t − j 3 · c t − j 3 ⊕ l B ( s ( t − 1) ) , c t = b t − k 1 · b t − k 2 ⊕ l C ( s ( t − 1) ) , where 1 ≤ j 1 < j 2 < n A and j 2 < j 3 < n B = n C . 1 Non-linear feedback shift registers

  45. Algorithm 1 17 ◮ To estimate the degree of b t , calculate the degree of quadratic and linear part separately and take their max

  46. Algorithm 1 17 ◮ To estimate the degree of b t , calculate the degree of quadratic and linear part separately and take their max ◮ Handle 4 different cases for clock t ◮ ( t − j 1 ) ≤ 0

  47. Algorithm 1 17 ◮ To estimate the degree of b t , calculate the degree of quadratic and linear part separately and take their max ◮ Handle 4 different cases for clock t ◮ ( t − j 1 ) ≤ 0 ◮ 1 + j 1 ≤ t ≤ j 2

Recommend


More recommend