high order masking of look up tables with common shares
play

High Order Masking of Look-up Tables with Common Shares J-S.Coron, - PowerPoint PPT Presentation

High Order Masking of Look-up Tables with Common Shares J-S.Coron, F.Rondepierre, R.Zeitoun 12th September 2018 Outline Outline 1 Introduction 1st Order Solution Higher Order Masking of Look-Up Tables 2 Higher Order: Optimizations 12th


  1. High Order Masking of Look-up Tables with Common Shares J-S.Coron, F.Rondepierre, R.Zeitoun 12th September 2018

  2. Outline Outline 1 Introduction 1st Order Solution Higher Order Masking of Look-Up Tables 2 Higher Order: Optimizations 12th September 2018 3 Conclusion 2

  3. Table of Contents Introduction 1 Introduction 1st Order Solution Higher Order Masking of Look-Up Tables 2 Higher Order: Optimizations 12th September 2018 3 Conclusion 3

  4. SCA Countermeasure Introduction Sharing Principle • Given a sensitive data x • Given t random values x 1 , . . . , x t • Let x 0 be such that: t � x = x i i =0 12th September 2018 • ( x 0 , . . . , x t ) is a sharing of x secure at order t 4

  5. SBox Evaluation Introduction The problematic • Given sensitive data x • Given a known table S • How to compute securely : x �→ S ( x ) 12th September 2018 5

  6. SBox Evaluation Introduction The problematic • Given sensitive data x • Given a known table S • How to compute securely for ℓ evaluations: x ( ℓ ) �→ S ( x ( ℓ ) ) 12th September 2018 5

  7. 1st Order Introduction Secure at 1st Order The ℓ -th evaluation of S is: x ( ℓ ) = ( x ( ℓ ) 0 , m ) �→ S ( x ( ℓ ) ) = ( y ( ℓ ) 0 , m ) 12th September 2018 6

  8. 1st Order Introduction Masked SBox Construction   S (0 ⊕ m ) ⊕ m   .   . T = . S ((2 k − 1) ⊕ m ) ⊕ m     Masked SBox Evaluation 12th September 2018 S ( x ) = ( T ( x 0 ) , m ) 7

  9. Higher Order Introduction Secure at Higher Order (Coron EUROCRYPT’14) The ℓ -th evaluation of S is: x ( ℓ ) = ( x ( ℓ ) 0 , x ( ℓ ) 1 , . . . , x ( ℓ ) 2 t ) �→ S ( x ( ℓ ) ) = ( y ( ℓ ) 0 , y ( ℓ ) 1 , . . . , y ( ℓ ) 2 t ) 12th September 2018 8

  10. Higher Order Introduction Example at 3rd Order x = 2 = (0 , 1 , 1 , 2)   S (0) 0 0 0     S (1) 0 0 0   S (2) 0 0 0     S (3) 0 0 0   12th September 2018 9

  11. Higher Order Introduction Example at 3rd Order x = 2 = (0 , 1 , 1 , 2 )   S (2) 0 0 0     S (3) 0 0 0   S (0) 0 0 0     S (1) 0 0 0   12th September 2018 9

  12. Higher Order Introduction Example at 3rd Order x = 2 = (0 , 1 , 1 , 2)   S (2) ⊕ 3 1 2 0     S (3) ⊕ 1 0 0 1   S (0) ⊕ 0 2 3 1     S (1) ⊕ 0 0 0 0   12th September 2018 9

  13. Higher Order Introduction Example at 3rd Order x = 2 = (0 , 1 , 1 , 2)     S (2) ⊕ 3 1 2 0 S (3) ⊕ 1 0 0 1         S (3) ⊕ 1 0 0 1 S (2) ⊕ 3 1 2 0     = ⇒ S (0) ⊕ 0 2 3 1 S (1) ⊕ 0 0 0 0         S (1) ⊕ 0 0 0 0 S (0) ⊕ 0 2 3 1     12th September 2018 9

  14. Higher Order Introduction Example at 3rd Order x = 2 = (0 , 1 , 1 , 2)   S (3) ⊕ 1 1 2 2     S (2) ⊕ 1 0 2 3   S (1) ⊕ 3 2 1 0     S (0) ⊕ 0 1 0 1   12th September 2018 9

  15. Higher Order Introduction Example at 3rd Order x = 2 = (0 , 1 , 1 , 2)   S (2) ⊕ 1 0 2 3     S (3) ⊕ 1 1 2 2   S (0) ⊕ 0 1 0 1     S (1) ⊕ 3 2 1 0   12th September 2018 9

  16. Higher Order Introduction Example at 3rd Order x = 2 = (0 , 1 , 1 , 2)   S (2) ⊕ 2 2 2 2     S (3) ⊕ 1 1 2 2   S (0) ⊕ 1 1 1 1     S (1) ⊕ 3 3 3 3   12th September 2018 9

  17. Higher Order Introduction Example at 3rd Order x = 2 = ( 0 , 1 , 1 , 2) S (2) ⊕ 2 2 2 2 12th September 2018 9

  18. Higher Order Introduction Example at 3rd Order x = 2 = (0 , 1 , 1 , 2) S (2) ⊕ 0 1 2 3 12th September 2018 9

  19. Higher Order Introduction Masked SBox Construction (Coron EUROCRYPT’14)  sharing of S (0)    . T (0) =   . . sharing of S (2 k − 1)     12th September 2018 10

  20. Higher Order Introduction Masked SBox Construction (Coron EUROCRYPT’14) new sharing of T (0) (0 ⊕ x 2t )     T (1) = .   . .  new sharing of T (0) ((2 k − 1) ⊕ x 2t )    12th September 2018 10

  21. Higher Order Introduction Masked SBox Construction (Coron EUROCRYPT’14) new sharing of T (1) (0 ⊕ x 2t − 1 )     T (2) = .   . .  new sharing of T (1) ((2 k − 1) ⊕ x 2t − 1 )    12th September 2018 10

  22. Higher Order Introduction Masked SBox Construction (Coron EUROCRYPT’14) new sharing of T (2 t − 1) (0 ⊕ x 1 )     T (2 t ) = .   . .  new sharing of T (2 t − 1) ((2 k − 1) ⊕ x 1 )    12th September 2018 10

  23. Higher Order Introduction Masked SBox Construction (Coron EUROCRYPT’14) new sharing of T (2 t − 1) (0 ⊕ x 1 )     T (2 t ) = .   . .  new sharing of T (2 t − 1) ((2 k − 1) ⊕ x 1 )    Masked SBox Evaluation 12th September 2018 S ( x ) = new sharing of T ( t ) ( x 0 ) 10

  24. Table of Contents Higher Order: Optimizations 1 Introduction 1st Order Solution Higher Order Masking of Look-Up Tables 2 Higher Order: Optimizations 12th September 2018 3 Conclusion 11

  25. Contributions Higher Order: Optimizations Our Contributions • Security proof at order t with n = t + 1 shares instead of n = 2 t + 1 shares (t-sni formalism) • Saves a factor 4 (running time) • A variant with increasing number of output shares • Saves a factor 2 (running time) • Adapt the common shares technique for multiple SBox evaluations • Saves a factor 2 (running time) 12th September 2018 12

  26. Common Shares Higher Order: Optimizations Common Shares (CGPZ CHES16) Two values a and b may be securely shared such that at most half of the shares are common: ( a 0 , . . . , a t 2 , m 0 , . . . m t − 1 2 ) ( b 0 , . . . , b t 2 , m 0 , . . . m t − 1 2 ) 12th September 2018 13

  27. Look-Up Tables with Common Shares Higher Order: Optimizations Secure at Higher Order The ℓ -th evaluation of S is: ( x ( ℓ ) 0 , x ( ℓ ) 1 , . . . , x ( ℓ ) 2 ) �→ S ( x ( ℓ ) ) = ( y ( ℓ ) 0 , y ( ℓ ) 1 , . . . , y ( ℓ ) ) 2 , m 0 , . . . , m t − 1 t t 12th September 2018 14

  28. Look-Up Tables with Common Shares Masked SBox Construction (Common Table) Higher Order: Optimizations  sharing of S (0)    . T (0) =   . . sharing of S (2 k − 1)     12th September 2018 15

  29. Look-Up Tables with Common Shares Masked SBox Construction (Common Table) Higher Order: Optimizations new sharing of T (0) (0 ⊕ m 0 )     T (1) = .   . .  new sharing of T (0) ((2 k − 1) ⊕ m 0 )    12th September 2018 15

  30. Look-Up Tables with Common Shares Masked SBox Construction (Common Table) Higher Order: Optimizations new sharing of T (1) (0 ⊕ m 1 )     T (2) = .   . .  new sharing of T (1) ((2 k − 1) ⊕ m 1 )    12th September 2018 15

  31. Look-Up Tables with Common Shares Masked SBox Construction (Common Table) Higher Order: Optimizations new sharing of T ( t − 1  2 ) (0 ⊕ m t − 1  2 )     2 ) =  .  T ( t +1 . .  new sharing of T ( t − 1  2 ) ((2 k − 1) ⊕ m t − 1   2 )   12th September 2018 15

  32. Look-Up Tables with Common Shares Masked SBox Construction (Common Table) Higher Order: Optimizations new sharing of T ( t − 1  2 ) (0 ⊕ m t − 1  2 )     2 ) =  .  T ( t +1 . .  new sharing of T ( t − 1  2 ) ((2 k − 1) ⊕ m t − 1   2 )   Masked SBox Evaluation 2 ) , . . . T ( t ) using shares x 1 , . . . , x t 1 Compute tables T ( t +3 12th September 2018 2 2 Evaluate using table T ( t ) : S ( x ) = new sharing of T ( t ) ( x 0 ) 15

  33. Performances AES Higher Order: Optimizations SBox Implementation 2 3 6 [RP10] 119 185 485 [Cor14] 2104 4413 17136 All optimizations 463 771 2767 Table: Software AES implementation, in thousand of clock cycles DES 12th September 2018 SBox Implementation 2 3 6 [CGP+12]+[CRV14] 219 290 602 [Cor14] 491 907 3075 All optimizations 203 308 764 Table: Software DES implementation, in thousand of clock cycles 16

  34. Table of Contents Conclusion 1 Introduction 1st Order Solution Higher Order Masking of Look-Up Tables 2 Higher Order: Optimizations 12th September 2018 3 Conclusion 17

  35. Conclusion Conclusion Conclusion • Generalization of SBox recomputation, proven secure at any order • Reduce the running time of common table by a factor of 2 • Reduce the running time by a factor of 8 (from Coron’14) • Remaining task: build a proof to generalize common shares in outputs ( x ( ℓ ) 0 , x ( ℓ ) 1 , . . . , x ( ℓ ) 2 ) �→ S ( x ( ℓ ) ) = ( y ( ℓ ) 0 , y ( ℓ ) 1 , . . . , y ( ℓ ) 2 ) 2 , m 0 , . . . , m t − 1 2 , m 0 , . . . , m t − 1 t t 12th September 2018 • Correct solution for generic small SBox (e.g. DES) 18

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