multiplicative masking for aes in hardware
play

Multiplicative Masking for AES in Hardware CHES 2018 Lauren De - PowerPoint PPT Presentation

Multiplicative Masking for AES in Hardware CHES 2018 Lauren De Meyer, Oscar Reparaz, Begl Bilgin P ROBLEM : SIDE - CHANNEL ANALYSIS 2 S OLUTION : M ASKING 3 E XTRA P ROBLEM : G LITCHES ! 4 B OOLEAN M ASKING ! = # $ , # & , , # (


  1. Multiplicative Masking for AES in Hardware CHES 2018 Lauren De Meyer, Oscar Reparaz, Begül Bilgin

  2. P ROBLEM : SIDE - CHANNEL ANALYSIS 2

  3. S OLUTION : M ASKING 3

  4. E XTRA P ROBLEM : G LITCHES ! 4

  5. B OOLEAN M ASKING ! = # $ , # & , … , # ( ⇔ # = * # + + Tricky: Nonlinear functions 5

  6. M USEUM OF C RYPTO A RT Moradi et al. Bilgin et al. De Cnudde et al. 6 Gross et al.

  7. O UR R ESULT : De Cnudde et al. Gross et al. This Work 2016 2017 2018 • 1 st order S-box: 2348 GE 2432 GE 1685 GE 0.71x • 2 nd order S-box: 0.82x 4744 GE 3891 GE 4759 GE 7

  8. H OW ?

  9. B ACK TO THE B EGINNING SubBytes ShiftRows MixColumns AddRoundKey 9

  10. B ACK TO THE B EGINNING Akkar-Giraud 2001 SubBytes Multiplicative Boolean → Multiplicative → Boolean ShiftRows MixColumns AddRoundKey Genelle et al. 2010 10

  11. P ROBLEM Akkar-Giraud 2001 Golić-Tymen 2002 The Zero Problem ! = # $ , # & , … , # ( ⇔ 0 = + # , , # , = 0 11

  12. S OLUTION Damgård-Keller 2010 Akkar-Giraud 2001 Golić-Tymen 2002 Genelle et al. 2010 ! " = $1 if " = 0 0 if " ≠ 0 !(") 1 1 0 0 GF Inversion 12

  13. M ASKED GF I NVERSION Boolean to Multiplicative Local Inversion Multiplicative to Boolean ! " 13

  14. M ASKED GF I NVERSION Boolean to Multiplicative Local Inversion Multiplicative to Boolean ! " 14

  15. F IRST -O RDER M ASKED C ONVERSIONS ! = # ⊕ % % " ! " '$ % $ % $ % '$ & # " # $ # & # $ ! # " $ ( ( ( ( 15

  16. F IRST -O RDER M ASKED C ONVERSIONS ! = # $% ⋅ (( ⊕ *) % " # ! " '$ % $ % $ * '$ & # " # $ ( & # $ ! # " $ ( ( ( ( 1. Expansion 16

  17. F IRST -O RDER M ASKED C ONVERSIONS $ = # &' ⋅ (" ⊕ !) # ! " 2. Synchronization 17

  18. F IRST -O RDER M ASKED C ONVERSIONS # = " %& ⋅ ! " ! 3. Compression 18

  19. F IRST -O RDER M ASKED C ONVERSIONS # = " %& ⋅ ! # %& = " ⋅ ! %& ⇔ " ! 3. Compression 19

  20. F IRST -O RDER M ASKED C ONVERSIONS % = $ "# ⋅ ! % "# = $ ⋅ ! "# ⇔ $ ! "# 20

  21. F IRST -O RDER M ASKED C ONVERSIONS # $% = " ⋅ (! ⊕ *) " ! * 1. Expansion 21

  22. F IRST -O RDER M ASKED C ONVERSIONS # $% = " ⋅ (! ⊕ *) " ! * 2. Synchronization 22

  23. F IRST -O RDER M ASKED C ONVERSIONS " #$ = ! ⊕ ' ! ' 3. Compression 23

  24. S ECOND -O RDER M ASKED C ONVERSIONS 3 1 2 1 2 3 1 2 1 2 3 3 24

  25. S ECOND -O RDER M ASKED C ONVERSIONS 3 1 2 1 2 3 1 2 1 2 3 3 Extra Remasking Required 25

  26. S ECOND -O RDER M ASKED C ONVERSIONS 3 1 2 1 2 3 1 2 1 2 3 3 Still only 1 inversion! Extra Remasking Required 26

  27. M ASKED GF I NVERSION Boolean to Multiplicative Local Inversion Multiplicative to Boolean ! " 27

  28. M ASKED K RONECKER D ELTA . / ! " # . 3 ! " $ . 0 ! " % . 5 ! " & . 1 +(") ! " ' . 4 " ( ! . 2 ! " ) " * ! 6 7 = 7 9 7 / 7 0 7 1 7 2 7 3 7 4 7 5 28

  29. A N I NTERESTING O BSERVATION $ " % " ( % ' $ ' ! " = $ " % " ⊕ $ " % ' ⊕ ( = $ " % ⊕ ( × × × × ! ' = $ ' % ⊕ ( ! " ! ' Gross et al. 2016 29

  30. M ASKED K RONECKER D ELTA . / ! " # Independent of . . 3 0 ! " $ . 0 ! " % . 5 " & ! . 1 +(") " ' ! . 4 " ( ! . 2 ! " ) Independent of . ! " * 2 30

  31. M ASKED K RONECKER D ELTA . / ! " # . 1 ! " $ . 0 ! " % . / ! " & . +(") / " ' ! . 1 ⊕ . 0 " ( ! . 0 ! " ) ! " * 31

  32. M ASKED K RONECKER D ELTA . / , . 1 , . 2 " # ! . 6 , . // , . 8 ⊕ . /1 ! " $ . 3 , . 4 , . 5 ! " % . 1 ⊕ . 7 , . 3 ⊕ . /9 , . /2 ! " & . 6 , . 7 , . 8 +(") ! " ' . / , . 4 , . 2 ⊕ . 5 " ( ! . /9 , . // , . /1 ! " ) " * ! 32

  33. M ASKED GF I NVERSION No registers Boolean to Multiplicative Local Inversion Multiplicative to Boolean ! " Precompute 33

  34. R ESULTS

  35. S- BOX A REA De Cnudde et al. Gross et al. This Work 2016 2017 2018 • 1 st order: 2348 GE 2432 GE 1685 GE 0.71x • 2 nd order: 0.82x 4744 GE 3891 GE 4759 GE 35

  36. AES A REA De Cnudde et al. Gross et al. This Work 2016 2017 2018 • 1 st order: 7682 GE 7337 GE 6557 GE 0.89x • 2 nd order: 0.91x 10931 GE 12640 GE 12024 GE 36

  37. R ANDOMNESS P ER S- BOX De Cnudde et al. Gross et al. This Work 2016 2017 2018 ⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅ ⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅ ⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅ • 1 st order: ⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅ ⋅⋅⋅⋅⋅⋅ 54 18 19 ⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅ ⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅ ⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅ ⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅ ⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅ ⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅ ⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅ ⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅ ⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅ • 2 nd order: ⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅ ⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅ ⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅ ⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅ 162 54 53 37

  38. L ATENCY P ER E NCRYPTION De Cnudde et al. Gross et al. This Work 2016 2017 2018 246 256 276 # clock cycles 38

  39. TVLA: 1 ST ORDER AES First Order Second Order 39

  40. TVLA: 2 ND ORDER AES First Order Third Order 40

  41. TVLA: B IVARIATE 1000 45 1000 45 40 40 800 800 35 35 30 30 600 600 25 25 20 20 400 400 15 15 10 10 200 200 5 5 0 0 200 400 600 800 1000 200 400 600 800 1000 41

  42. T AKE -A WAY ü Keep it Simple J ü Find inspiration in early works ü Push the limits: ü Reuse Randomness ü Customize! 42

  43. Thank You

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