experimentally verifying a complex algebraic attack on
play

Experimentally Verifying a Complex Algebraic Attack on the Grain-128 - PowerPoint PPT Presentation

Experimentally Verifying a Complex Algebraic Attack on the Grain-128 Cipher Using Dedicated Reconfigurable Hardware SHARCS 2012 Washington D.C. Itai Dinur 1 , Tim Gneysu 2 , Christof Paar 2 , Adi Shamir 1 , and Ralf Zimmermann 2 1


  1. Experimentally Verifying a Complex Algebraic Attack on the Grain-128 Cipher Using Dedicated Reconfigurable Hardware SHARCS 2012 – Washington D.C. Itai Dinur 1 , Tim Güneysu 2 , Christof Paar 2 , Adi Shamir 1 , and Ralf Zimmermann 2 1 Computer Science Dept., The Weizmann Institute, Israel 18.03.2012 2 Horst Görtz Institute for IT Security, Ruhr-University Bochum

  2. Outline  Introduction  Implementation  Problems and Solutions  Results and Conclusion SHARCS 2012 | Washington D.C. | 18.03.2012 2

  3. Introduction Experimentally Explaining The Title Experimentally Verifying a Complex Algebraic Attack on the Grain-128 Cipher Using Dedicated Reconfigurable Hardware SHARCS 2012 | Washington D.C. | 18.03.2012 3

  4. Introduction Experimentally Explaining The Title Experimentally Verifying a Complex Algebraic Attack on the Grain-128 Cipher Using Dedicated Reconfigurable Hardware SHARCS 2012 | Washington D.C. | 18.03.2012 4

  5. Introduction Experimentally Explaining The Title Experimentally Verifying a Complex Algebraic Attack on the Grain-128 Cipher Using Dedicated Reconfigurable Hardware SHARCS 2012 | Washington D.C. | 18.03.2012 5

  6. Introduction Experimentally Explaining The Title Experimentally Verifying a Complex Algebraic Attack on the Grain-128 Cipher Using Dedicated Reconfigurable Hardware SHARCS 2012 | Washington D.C. | 18.03.2012 6

  7. Introduction Experimentally Explaining The Title Experimentally Verifying a Complex Algebraic Attack on the Grain-128 Cipher Using Dedicated Reconfigurable Hardware SHARCS 2012 | Washington D.C. | 18.03.2012 7

  8. Introduction Grain-128  128-bit key, 96-bit IV  Boolean functions  256 clock cycles SHARCS 2012 | Washington D.C. | 18.03.2012 8

  9. Introduction Cube Attack (very brief  )  Algebraic Attack • Dinur/Shamir (FSE 2011), improved (Asiacrypt 2011) Complexity d*2 d+e-10 (d = 50, e = 39) • Implication: 2 128  2 85 • SHARCS 2012 | Washington D.C. | 18.03.2012 9

  10. Introduction Cube Attack (very brief  )  Algebraic Attack • Dinur/Shamir (FSE 2011), improved (Asiacrypt 2011) Complexity d*2 d+e-10 (d = 50, e = 39) • Implication: 2 128  2 85 •  Uses CubeTesters • Aumasson/Dinur/Meier/Shamir (FSE 2009) • Related to higher order differential attacks • Distinguishes (special) polynomials from random functions SHARCS 2012 | Washington D.C. | 18.03.2012 10

  11. Introduction Cube Attack (very brief  )  Algebraic Attack • Dinur/Shamir (FSE 2011), improved (Asiacrypt 2011) Complexity d*2 d+e-10 (d = 50, e = 39) • Implication: 2 128  2 85 •  Uses CubeTesters • Aumasson/Dinur/Meier/Shamir (FSE 2009) • Related to higher order differential attacks • Distinguishes (special) polynomials from random functions  Multiple Steps • Guess and generate scores • Determine most likely values of secret expression • Recover the key SHARCS 2012 | Washington D.C. | 18.03.2012 11

  12. Introduction Cube Attack - Partial Simulation  Motivation : • Attack complexity only estimated • Theoretical success probability realistic? SHARCS 2012 | Washington D.C. | 18.03.2012 12

  13. Introduction Cube Attack - Partial Simulation  Motivation : • Attack complexity only estimated • Theoretical success probability realistic?  Simulate correct guess for known key 1. Compute cube summations 2. Compute score of correct guess 3. Estimate position in sorted guess list SHARCS 2012 | Washington D.C. | 18.03.2012 13

  14. Introduction Cube Attack - Partial Simulation  Motivation : • Attack complexity only estimated • Theoretical success probability realistic?  Simulate correct guess for known key 1. Compute cube summations 2. Compute score of correct guess 3. Estimate position in sorted guess list Details: Dinur et al. (Asiacrypt 2011) SHARCS 2012 | Washington D.C. | 18.03.2012 14

  15. Outline  Introduction  Implementation  Problems and Solutions  Results and Conclusion SHARCS 2012 | Washington D.C. | 18.03.2012 15

  16. Implementation Hardware Design Goals  Considerations  Flexibility  Operability SHARCS 2012 | Washington D.C. | 18.03.2012 16

  17. Implementation Hardware Design Goals  Considerations • Needs high performance! • Data complexity? • Bottlenecks?  Flexibility  Operability SHARCS 2012 | Washington D.C. | 18.03.2012 17

  18. Implementation Hardware Design Goals  Considerations • Needs high performance! • Data complexity? • Bottlenecks?  Flexibility • Adaptable to modified cube attacks • Adaptable to modified parameter sets  Operability SHARCS 2012 | Washington D.C. | 18.03.2012 18

  19. Implementation Hardware Design Goals  Considerations • Needs high performance! • Data complexity? • Bottlenecks?  Flexibility • Adaptable to modified cube attacks • Adaptable to modified parameter sets  Operability • Fully working post-place and route design • Fully working on RIVYERA FPGA Cluster SHARCS 2012 | Washington D.C. | 18.03.2012 19

  20. Implementation RIVYERA Architecture  8 Spartan-3 5000 FPGAs SHARCS 2012 | Washington D.C. | 18.03.2012 20

  21. Implementation RIVYERA Architecture  8 Spartan-3 5000 FPGAs  16 Boards SHARCS 2012 | Washington D.C. | 18.03.2012 21

  22. Implementation RIVYERA Architecture  8 Spartan-3 5000 FPGAs  16 Boards  i7 Processor SHARCS 2012 | Washington D.C. | 18.03.2012 22

  23. Implementation The Algorithm - Hands-On SHARCS 2012 | Washington D.C. | 18.03.2012 23

  24. Implementation The Algorithm - Hands-On SHARCS 2012 | Washington D.C. | 18.03.2012 24

  25. Implementation The Algorithm - Hands-On SHARCS 2012 | Washington D.C. | 18.03.2012 25

  26. Implementation The Algorithm - Hands-On SHARCS 2012 | Washington D.C. | 18.03.2012 26

  27. Implementation The Algorithm - Hands-On  Focus on time consuming steps 1. Chose random key 2. Generate boolean functions (polynomials to evaluate) Compute 2 50 times the first output bit (Grain-128 Initialization) 3. 4. XOR the results in some way SHARCS 2012 | Washington D.C. | 18.03.2012 27

  28. Implementation The Algorithm - Hands-On  Focus on time consuming steps 1. Chose random key 2. Generate boolean functions (polynomials to evaluate) Compute 2 50 times the first output bit (Grain-128 Initialization) 3. 4. XOR the results in some way Sounds easy! Let’s try it in Software… SHARCS 2012 | Washington D.C. | 18.03.2012 28

  29. Implementation Software View  Prepare IV in an array Example • Unfilled: initial IV (unchanged) … 1 0 0 0 1 1 0 1 0 1 0 0 1 0 1 • Red: cube indices • Blue: dynamic variables SHARCS 2012 | Washington D.C. | 18.03.2012 29

  30. Implementation Software View  Prepare IV in an array Example • Unfilled: initial IV (unchanged) … 0 0 1 0 0 0 0 1 1 0 1 0 1 0 0 1 0 1 0 0 • Red: cube indices • Blue: dynamic variables  Update the IV: • Increment cube indices by 1 SHARCS 2012 | Washington D.C. | 18.03.2012 30

  31. Implementation Software View  Prepare IV in an array Example • Unfilled: initial IV (unchanged) … 0 0 1 0 0 0 0 1 1 0 1 0 1 0 0 1 0 0 1 1 0 • Red: cube indices • Blue: dynamic variables  Update the IV: • Increment cube indices by 1 SHARCS 2012 | Washington D.C. | 18.03.2012 31

  32. Implementation Software View  Prepare IV in an array Example • Unfilled: initial IV (unchanged) … 0 0 1 0 0 0 0 1 1 0 1 0 1 0 0 1 0 1 1 0 0 1 0 • Red: cube indices • Blue: dynamic variables  Update the IV: • Increment cube indices by 1 SHARCS 2012 | Washington D.C. | 18.03.2012 32

  33. Implementation Software View  Prepare IV in an array Example • Unfilled: initial IV (unchanged) … 0 0 1 0 0 0 0 1 0 1 0 0 1 0 0 1 0 1 0 • Red: cube indices • Blue: dynamic variables  Update the IV: • Increment cube indices by 1 • Evaluate polynomials 0 and 1 xor 0 and 1 and 1  Polynomial Evaluation • Loop over all Monomials • Simple Array-Lookup SHARCS 2012 | Washington D.C. | 18.03.2012 33

  34. Implementation Software View  Prepare IV in an array Example • Unfilled: initial IV (unchanged) … 0 0 1 0 0 0 0 1 0 1 0 0 1 0 0 1 0 1 0 • Red: cube indices • Blue: dynamic variables  Update the IV: • Increment cube indices by 1 • Evaluate polynomials 0 and 1 xor 0 and 1 and 1  Polynomial Evaluation • Loop over all Monomials • Simple Array-Lookup  But: Very slow in Software (2 50 Grain iterations per key) SHARCS 2012 | Washington D.C. | 18.03.2012 34

  35. Implementation Software View  Prepare IV in an array Example • Unfilled: initial IV (unchanged) … 0 0 1 0 0 0 0 1 0 1 0 0 1 0 0 1 0 1 0 • Red: cube indices • Blue: dynamic variables  Update the IV: Let’s try hardware! • Increment cube indices by 1 • Evaluate polynomials 0 and 1 xor 0 and 1 and 1  Polynomial Evaluation • Loop over all Monomials • Simple Array-Lookup  But: Very slow in Software (2 50 Grain iterations per key) SHARCS 2012 | Washington D.C. | 18.03.2012 35

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