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 .

Recommend


More recommend