the marvellous universe of arithmetization oriented
play

The Marvellous Universe of Arithmetization-Oriented Primitives - PowerPoint PPT Presentation

The Marvellous Universe of Arithmetization-Oriented Primitives Abdelrahaman Aly, Tomer Ashur , Eli Ben-Sasson, Siemen Dhooghe, Alan Szepieniec The Goal The goal is to design a hash function that: The Goal The goal is to design a hash


  1. The Marvellous Universe of Arithmetization-Oriented Primitives Abdelrahaman Aly, Tomer Ashur , Eli Ben-Sasson, Siemen Dhooghe, Alan Szepieniec

  2. The Goal ◮ The goal is to design a hash function that:

  3. The Goal ◮ The goal is to design a hash function that: ◮ is secure;

  4. The Goal ◮ The goal is to design a hash function that: ◮ is secure; ◮ operates on field elements (e.g., no bit fiddling);

  5. The Goal ◮ The goal is to design a hash function that: ◮ is secure; ◮ operates on field elements (e.g., no bit fiddling); ◮ minimizes the number of field multiplications.

  6. The Goal ◮ The goal is to design a ◮ AES! hash function that: ◮ is secure; ◮ operates on field elements (e.g., no bit fiddling); ◮ minimizes the number of field multiplications.

  7. The Goal ◮ The goal is to design a ◮ AES! hash function that: ◮ is secure; ◮ Is secure; ◮ operates on field elements (e.g., no bit fiddling); ◮ minimizes the number of field multiplications.

  8. The Goal ◮ The goal is to design a ◮ AES! hash function that: ◮ is secure; ◮ Is secure; ◮ operates on field ◮ natively operates on elements in GF(2 8 ); elements (e.g., no bit fiddling); ◮ minimizes the number of field multiplications.

  9. The Goal ◮ The goal is to design a ◮ AES! hash function that: ◮ is secure; ◮ Is secure; ◮ operates on field ◮ natively operates on elements in GF(2 8 ); elements (e.g., no bit ◮ well understood and fiddling); ◮ minimizes the number heavily cryptanaylzed; of field multiplications. but

  10. The Goal ◮ The goal is to design a ◮ AES! hash function that: ◮ is secure; ◮ Is secure; ◮ operates on field ◮ natively operates on elements in GF(2 8 ); elements (e.g., no bit ◮ well understood and fiddling); ◮ minimizes the number heavily cryptanaylzed; of field multiplications. but ◮ does not minimize the number of field multiplications.

  11. AES as a Starting Point ◮ AES has 4 operations: ◮ S-box ◮ ShiftRows ◮ MixColumns (a) S-box (b) ShiftRows ◮ AddRoundKey (c) (d) MixColumns AddRoundKey

  12. AES as a Starting Point ◮ AES has 4 operations: ◮ S-box ◮ ShiftRows ◮ MixColumns (a) S-box (b) ShiftRows ◮ AddRoundKey ◮ All the multiplications are inside the S-box (c) (d) MixColumns AddRoundKey

  13. The S-box ◮ The S-box consists of two operations: ◮ Multiplicative inverse (11 multiplications) (see Damg˚ ard & Keller FC’10) ◮ Affine polynomial (7 multiplications)

  14. Cost ◮ Multiplications per S-box: (11 + 7) = 18

  15. Cost ◮ Multiplications per S-box: (11 + 7) = 18 ◮ Multiplications per round: (11 + 7) · 16 = 288

  16. Cost ◮ Multiplications per S-box: (11 + 7) = 18 ◮ Multiplications per round: (11 + 7) · 16 = 288 ◮ Multiplications per AES evaluation: (11 + 7) · 16 10 = 2880 · ���� ���� � �� � state rounds S-box

  17. Observations ◮ Non-procedural computation

  18. Non-Procedural Computation ◮ Verification, not computation

  19. Non-Procedural Computation ◮ Verification, not computation ◮ Given ( x 1 , y 1 ) to verify that y 1 = 1 x 1 we can

  20. Non-Procedural Computation ◮ Verification, not computation ◮ Given ( x 1 , y 1 ) to verify that y 1 = 1 x 1 we can ◮ directly compute ( x 1 ) 254 ; or

  21. Non-Procedural Computation ◮ Verification, not computation ◮ Given ( x 1 , y 1 ) to verify that y 1 = 1 x 1 we can ◮ directly compute ( x 1 ) 254 ; or ◮ check if x 1 · y 1 = 1

  22. Non-Procedural Computation ◮ Verification, not computation ◮ Given ( x 1 , y 1 ) to verify that y 1 = 1 x 1 we can ◮ directly compute ( x 1 ) 254 ; or ◮ check if x 1 · y 1 = 1 ◮ Don’t forget 0 → 0: x (1 − xy ) = 0

  23. Non-Procedural Computation ◮ Verification, not computation ◮ Given ( x 1 , y 1 ) to verify that y 1 = 1 x 1 we can ◮ directly compute ( x 1 ) 254 ; or ◮ check if x 1 · y 1 = 1 ◮ Don’t forget 0 → 0: x (1 − xy ) = 0 ◮ Cost of the multiplicative inverse 11 2

  24. Cost ◮ Multiplications per AES evaluation (old): (11 + 7) · 16 10 = 2880 · ���� ���� � �� � state rounds S-box

  25. Cost ◮ Multiplications per AES evaluation (old): (11 + 7) · 16 10 = 2880 · ���� ���� � �� � state rounds S-box ◮ Multiplications per AES evaluation (new): (2 + 7) · 16 10 = 1440 (50% of AES-128) · ���� ���� � �� � state rounds S-box

  26. The Affine Polynomial i c i · 2 2 i (linearized polynomials) ◮ Polynomials of the form � are efficiently computable

  27. The Affine Polynomial i c i · 2 2 i (linearized polynomials) ◮ Polynomials of the form � are efficiently computable ◮ The inverse of a low degree, linearized polynomial is not linearized nor low-degree

  28. The Affine Polynomial i c i · 2 2 i (linearized polynomials) ◮ Polynomials of the form � are efficiently computable ◮ The inverse of a low degree, linearized polynomial is not linearized nor low-degree ◮ Take two linearized polynomials of degree 4 and compose one with the inverse of the other. This

  29. The Affine Polynomial i c i · 2 2 i (linearized polynomials) ◮ Polynomials of the form � are efficiently computable ◮ The inverse of a low degree, linearized polynomial is not linearized nor low-degree ◮ Take two linearized polynomials of degree 4 and compose one with the inverse of the other. This ◮ Requires many multiplications to compute directly; but

  30. The Affine Polynomial i c i · 2 2 i (linearized polynomials) ◮ Polynomials of the form � are efficiently computable ◮ The inverse of a low degree, linearized polynomial is not linearized nor low-degree ◮ Take two linearized polynomials of degree 4 and compose one with the inverse of the other. This ◮ Requires many multiplications to compute directly; but ◮ requires only (2 + 2) = 4 a few multiplications to verify.

  31. Cost ◮ Multiplications per AES evaluation (old): (2 + 7) · 16 10 = 1440 (50% of AES-128) · ���� ���� � �� � state rounds S-box

  32. Cost ◮ Multiplications per AES evaluation (old): (2 + 7) · 16 10 = 1440 (50% of AES-128) · ���� ���� � �� � state rounds S-box ◮ Multiplications per AES evaluation (new): (2 + (2 + 2)) · 16 10 = 960 (33% of AES-128) · ���� ���� � �� � state rounds S-box

  33. Observations ◮ Non-determinism ◮ Cost of multiplication is independent of the field size

  34. Reducing the State ◮ Instead of a 4 × 4 state of bytes, we now use a 1 x 1 state of 128-bit elements.

  35. Reducing the State ◮ Instead of a 4 × 4 state of bytes, we now use a 1 x 1 state of 128-bit elements. ◮ No need for ShiftRows and MixColumns

  36. Reducing the State ◮ Instead of a 4 × 4 state of bytes, we now use a 1 x 1 state of 128-bit elements. ◮ No need for ShiftRows and MixColumns ◮ One S-box per round

  37. Cost ◮ Multiplications per AES evaluation (old): (2 + (2 + 2)) · 16 10 = 960 (33% of AES-128) · ���� ���� � �� � state rounds S-box

  38. Cost ◮ Multiplications per AES evaluation (old): (2 + (2 + 2)) · 16 10 = 960 (33% of AES-128) · ���� ���� � �� � state rounds S-box ◮ Multiplications per AES evaluation (new): (2 + (2 + 2)) 1 10 = 60 (2% of AES-128) · · ���� ���� � �� � state rounds S-box

  39. Setting the Number of Rounds ◮ The way to determine the proper number of rounds is to try all known attacks, see which one reaches most rounds, add a safety margin, and viola!

  40. Observations ◮ Non-determinism ◮ Cost of multiplication is independent of the field size ◮ Increasing the field size kills statistical attacks (e.g., differential and linear cryptanalysis) faster

  41. Jarvis

  42. Alas

  43. Vision ◮ An m × 1 state ◮ MDS matrix to mix the elements ◮ Alternate between a linearized polynomial of low degree and its inverse ◮ Particular attention to Gr¨ obner basis attacks

  44. Vision

  45. Rescue ◮ Operates over prime fields ◮ Alternate between x α (e.g., α = 3) and x 1 a (resp., cubic root)

  46. Rescue

  47. Breaking News

  48. Cleaning Roberto’s Mess

  49. The Team

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