improved high order conversion from boolean to arithmetic
play

Improved High-Order Conversion From Boolean to Arithmetic Masking - PowerPoint PPT Presentation

Improved High-Order Conversion From Boolean to Arithmetic Masking Luk Bettale 1 ebastien Coron 2 Rina Zeitoun 1 Jean-S 1 IDEMIA, France 2 University of Luxembourg CHES 2018 Side-channel Attacks Differential Power Analysis [KJJ99] Group by


  1. Improved High-Order Conversion From Boolean to Arithmetic Masking Luk Bettale 1 ebastien Coron 2 Rina Zeitoun 1 Jean-S´ 1 IDEMIA, France 2 University of Luxembourg CHES 2018

  2. Side-channel Attacks

  3. Differential Power Analysis [KJJ99] Group by predicted SBox output bit Average trace 111 Differential trace 000

  4. Masking Countermeasure • Let x be some variable in a block-cipher. • Masking countermeasure: generate a random r , and manipulate the masked value x ′ x ′ = x ⊕ r instead of x . • r is random ⇒ x ′ is random ⇒ power consumption of x ′ is random ⇒ no information about x is leaked

  5. Arithmetic Masking • Some algorithms use arithmetic operations, for example IDEA, RC6, XTEA, SPECK, SHA-1. • For these algorithms, we can use arithmetic masking: x = A + r mod 2 k where we manipulate A and r separately. • Problem: how do we convert between Boolean and arithmetic masking ? • Goubin’s algorithm (CHES 01): first-order secure conversion between Boolean and arithmetic masking.

  6. Arithmetic Masking • Some algorithms use arithmetic operations, for example IDEA, RC6, XTEA, SPECK, SHA-1. • For these algorithms, we can use arithmetic masking: x = A + r mod 2 k where we manipulate A and r separately. • Problem: how do we convert between Boolean and arithmetic masking ? • Goubin’s algorithm (CHES 01): first-order secure conversion between Boolean and arithmetic masking.

  7. Second-order Attack • Second-order attack: E ( x ′ ) E ( r ) f ( E ( x ′ ) , E ( r )) correlated with x = x ′ ⊕ r • Requires more curves but can be practical

  8. Higher-order masking • Solution: n shares instead of 2 : x = x 1 ⊕ x 2 ⊕ · · · ⊕ x n • Any subset of n − 1 shares is uniformly and independently distributed • If we probe at most n − 1 shares x i , we learn nothing about x • ⇒ secure against a DPA attack of order n − 1 .

  9. Higher-order masking • Solution: n shares instead of 2 : x = x 1 ⊕ x 2 ⊕ · · · ⊕ x n • Any subset of n − 1 shares is uniformly and independently distributed • If we probe at most n − 1 shares x i , we learn nothing about x • ⇒ secure against a DPA attack of order n − 1 .

  10. Higher-order masking • High-order Boolean masking: x = x 1 ⊕ x 2 ⊕ · · · ⊕ x n • High-order arithmetic masking: x = A 1 + A 2 + . . . + A n mod 2 k • Problem: how do we convert between Boolean and arithmetic masking ? • This talk: high-order Boolean to arithmetic conversion algorithm, simpler and more efficient than [Cor17]. • complexity independent of the register size k • still with a proof of security in the ISW probing model

  11. Higher-order masking • High-order Boolean masking: x = x 1 ⊕ x 2 ⊕ · · · ⊕ x n • High-order arithmetic masking: x = A 1 + A 2 + . . . + A n mod 2 k • Problem: how do we convert between Boolean and arithmetic masking ? • This talk: high-order Boolean to arithmetic conversion algorithm, simpler and more efficient than [Cor17]. • complexity independent of the register size k • still with a proof of security in the ISW probing model

  12. Prior work and this talk n : number of shares k : arithmetic modulo 2 k ( k = 32 for HMAC-SHA-1). First-order High-order Direction complexity complexity Goubin’s algorithm B → A O (1) - [Gou01] A → B O ( k ) - B → A O ( n 2 · k ) [CGV14] - A → B B → A - O ( n 2 · log k ) [CGTV15] A → B O (log k ) 14 · 2 n + O ( n ) [Cor17] B → A - 10 · 2 n + O ( n ) - This talk B → A • Complexity independent of the register size k , as in [Cor17] • Exponential complexity, but one order of magnitude faster than [CGV14] and [CGTV15] for small values of n .

  13. Prior work and this talk n : number of shares k : arithmetic modulo 2 k ( k = 32 for HMAC-SHA-1). First-order High-order Direction complexity complexity Goubin’s algorithm B → A O (1) - [Gou01] A → B O ( k ) - B → A O ( n 2 · k ) [CGV14] - A → B B → A - O ( n 2 · log k ) [CGTV15] A → B O (log k ) 14 · 2 n + O ( n ) [Cor17] B → A - 10 · 2 n + O ( n ) - This talk B → A • Complexity independent of the register size k , as in [Cor17] • Exponential complexity, but one order of magnitude faster than [CGV14] and [CGTV15] for small values of n .

  14. Boolean to arithmetic conversion: comparison with prior work ( k = 32 bits)

  15. Comparison with CHES 2017 algorithm 14 · 2 n + O ( n ) [Cor17] B → A - 10 · 2 n + O ( n ) B → A - This talk • Our new algorithm is roughly 25% faster, and simpler. x ψ + R R F C D [Cor17] R F C x ψ + R C D This talk C

  16. Comparison with CHES 2017 algorithm 14 · 2 n + O ( n ) [Cor17] B → A - 10 · 2 n + O ( n ) B → A - This talk • Our new algorithm is roughly 25% faster, and simpler. x ψ + R R F C D [Cor17] R F C x ψ + R C D This talk C

  17. Our contribution • Our contribution: high-order conversion algorithm from Boolean to arithmetic masking • simplified variant of CHES 2017 algorithm • still with a proof of security in the ISW probing model. • Approach initiated by Hutter and Tunstall [HT16] (eprint) • but no proof of security against high-order attacks was provided by the authors. • 3rd order attack for any number of shares n described in [Cor17] • 3rd order attack against updated Hutter-Tunstall algorithm (see the proceedings)

  18. Our contribution • Our contribution: high-order conversion algorithm from Boolean to arithmetic masking • simplified variant of CHES 2017 algorithm • still with a proof of security in the ISW probing model. • Approach initiated by Hutter and Tunstall [HT16] (eprint) • but no proof of security against high-order attacks was provided by the authors. • 3rd order attack for any number of shares n described in [Cor17] • 3rd order attack against updated Hutter-Tunstall algorithm (see the proceedings)

  19. ISW security model • Simulation framework of [ISW03]: ( sk 1 , sk 2 , . . . , sk n ) m t probes Sim Block cipher c • Show that any t probes can be perfectly simulated from at most n − 1 of the sk i ’s. • Those n − 1 shares sk i are initially uniformly and independently distributed. • ⇒ the adversary learns nothing from the t probes, since he could perfectly simulate those t probes by himself.

  20. ISW security model • Simulation framework of [ISW03]: ( sk 1 , sk 2 , . . . , sk n ) m t probes Sim Block cipher c • Show that any t probes can be perfectly simulated from at most n − 1 of the sk i ’s. • Those n − 1 shares sk i are initially uniformly and independently distributed. • ⇒ the adversary learns nothing from the t probes, since he could perfectly simulate those t probes by himself.

  21. ISW security model • Simulation framework of [ISW03]: ( sk 1 , sk 2 , . . . , sk n ) m t probes Sim Block cipher c • Show that any t probes can be perfectly simulated from at most n − 1 of the sk i ’s. • Those n − 1 shares sk i are initially uniformly and independently distributed. • ⇒ the adversary learns nothing from the t probes, since he could perfectly simulate those t probes by himself.

  22. ISW security model • Simulation framework of [ISW03]: ( sk 1 , sk 2 , . . . , sk n ) m t probes Sim Block cipher c • Show that any t probes can be perfectly simulated from at most n − 1 of the sk i ’s. • Those n − 1 shares sk i are initially uniformly and independently distributed. • ⇒ the adversary learns nothing from the t probes, since he could perfectly simulate those t probes by himself.

  23. ISW security model • Simulation framework of [ISW03]: ( sk 1 , sk 2 , . . . , sk n ) m t probes Sim Block cipher c • Show that any t probes can be perfectly simulated from at most n − 1 of the sk i ’s. • Those n − 1 shares sk i are initially uniformly and independently distributed. • ⇒ the adversary learns nothing from the t probes, since he could perfectly simulate those t probes by himself.

  24. ISW security model • Simulation framework of [ISW03]: ( sk 1 , sk 2 , . . . , sk n ) m t probes Sim Block cipher c • Show that any t probes can be perfectly simulated from at most n − 1 of the sk i ’s. • Those n − 1 shares sk i are initially uniformly and independently distributed. • ⇒ the adversary learns nothing from the t probes, since he could perfectly simulate those t probes by himself.

  25. Security proofs for side-channel countermeasures • Never publish a high-order masking scheme without a proof of security ! • So many things can go wrong. • Many countermeasures without proofs have been broken in the past. • We have a poor intuition of high-order security.

  26. Goubin’s original conversion algorithm • Goubin’s theorem: the function (mod 2 k ) Ψ( x, r ) = ( x ⊕ r ) − r is affine with respect to r over F 2 . • This is surprising but true ! • Goubin’s Boolean to arithmetic conversion algorithm: x = x 1 ⊕ x 2 = ( x 1 ⊕ x 2 − x 2 ) + x 2 = Ψ( x 1 , x 2 ) + x 2 �� � � = x 1 ⊕ Ψ( x 1 , r ⊕ x 2 ) ⊕ Ψ( x 1 , r ) + x 2 (mod 2 k ) = A + x 2 • One can compute A without leaking information about x , thanks to the random r .

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