Optimising masking costs of CAESAR candidates · Optimising masking costs of CAESAR candidates Ko...

32
Introduction Nonlinear operations Comparing designs Conclusions Radboud University Optimising masking costs of CAESAR candidates Ko Stoffelen & Lejla Batina Digital Security, Radboud University [email protected] DIAC 2015 September 29, 2015 Ko Stoffelen DIAC 2015 1 / 24

Transcript of Optimising masking costs of CAESAR candidates · Optimising masking costs of CAESAR candidates Ko...

Page 1: Optimising masking costs of CAESAR candidates · Optimising masking costs of CAESAR candidates Ko Sto elen & Lejla Batina Digital Security, Radboud University k.stoffelen@cs.ru.nl

IntroductionNonlinear operations

Comparing designsConclusions

Radboud University

Optimising masking costs of CAESAR candidates

Ko Stoffelen & Lejla Batina

Digital Security, Radboud [email protected]

DIAC 2015September 29, 2015

Ko Stoffelen DIAC 2015 1 / 24

Page 2: Optimising masking costs of CAESAR candidates · Optimising masking costs of CAESAR candidates Ko Sto elen & Lejla Batina Digital Security, Radboud University k.stoffelen@cs.ru.nl

IntroductionNonlinear operations

Comparing designsConclusions

Radboud University

Masking

• Countermeasure against side-channel analysis

• Arithmetic vs. Boolean

• Costs factor 2–8 in terms of cycles [Mes01]

• Costs grow quadratically for nonlinear gates, e.g.:

z = x ∧ y → [x ′ = x ⊕ xm]

[y ′ = y ⊕ ym]

z ′ = x ′ ∧ y ′

zm = (xm ∧ y ′)⊕ (ym ∧ x ′)⊕ (xm ∧ ym)

Ko Stoffelen DIAC 2015 2 / 24

Page 3: Optimising masking costs of CAESAR candidates · Optimising masking costs of CAESAR candidates Ko Sto elen & Lejla Batina Digital Security, Radboud University k.stoffelen@cs.ru.nl

IntroductionNonlinear operations

Comparing designsConclusions

Radboud University

Goal

• How can the costs of applying masking countermeasures tociphers be reduced?

• By reducing nonlinear operations?• By design?

Ko Stoffelen DIAC 2015 3 / 24

Page 4: Optimising masking costs of CAESAR candidates · Optimising masking costs of CAESAR candidates Ko Sto elen & Lejla Batina Digital Security, Radboud University k.stoffelen@cs.ru.nl

IntroductionNonlinear operations

Comparing designsConclusions

Radboud University

Goal

• How can the costs of applying masking countermeasures tociphers be reduced?

• By reducing nonlinear operations?• By design?

Ko Stoffelen DIAC 2015 3 / 24

Page 5: Optimising masking costs of CAESAR candidates · Optimising masking costs of CAESAR candidates Ko Sto elen & Lejla Batina Digital Security, Radboud University k.stoffelen@cs.ru.nl

IntroductionNonlinear operations

Comparing designsConclusions

Radboud University

Context – CAESAR competition

ACORN ++AE AEGIS AES-CMCC AES-COBRAAES-COPA AES-CPFB AES-JAMBU AES-OTR AEZArtemia Ascon AVALANCHE Calico CBACBEAM CLOC Deoxys ELmD EnchiladaFASER HKC HS1-SIV ICEPOLE iFeed[AES]Joltik Julius Ketje Keyak KIASULAC Marble McMambo Minalpher MORUSNORX OCB OMD PAEQ PAESPANDA π-Cipher POET POLAWIS PRIMATEsPrøst Raviyoyla Sablier SCREAM SHELLSILC Silver STRIBOB Tiaoxin TriviA-ckWheesht YAES

Ko Stoffelen DIAC 2015 4 / 24

Page 6: Optimising masking costs of CAESAR candidates · Optimising masking costs of CAESAR candidates Ko Sto elen & Lejla Batina Digital Security, Radboud University k.stoffelen@cs.ru.nl

IntroductionNonlinear operations

Comparing designsConclusions

Radboud University

Context – CAESAR competition

ACORN ++AE AEGIS AES-CMCC AES-COBRAAES-COPA AES-CPFB AES-JAMBU AES-OTR AEZArtemia Ascon AVALANCHE Calico CBACBEAM CLOC Deoxys ELmD EnchiladaFASER HKC HS1-SIV ICEPOLE iFeed[AES]Joltik Julius Ketje Keyak KIASULAC Marble McMambo Minalpher MORUSNORX OCB OMD PAEQ PAESPANDA π-Cipher POET POLAWIS PRIMATEsPrøst Raviyoyla Sablier SCREAM SHELLSILC Silver STRIBOB Tiaoxin TriviA-ckWheesht YAES

Ko Stoffelen DIAC 2015 5 / 24

Page 7: Optimising masking costs of CAESAR candidates · Optimising masking costs of CAESAR candidates Ko Sto elen & Lejla Batina Digital Security, Radboud University k.stoffelen@cs.ru.nl

IntroductionNonlinear operations

Comparing designsConclusions

Radboud University

Context – CAESAR competition

ACORN ++AE AEGIS AES-CMCC AES-COBRAAES-COPA AES-CPFB AES-JAMBU AES-OTR AEZArtemia Ascon AVALANCHE Calico CBACBEAM CLOC Deoxys ELmD EnchiladaFASER HKC HS1-SIV ICEPOLE iFeed[AES]Joltik Julius Ketje Keyak KIASULAC Marble McMambo Minalpher MORUSNORX OCB OMD PAEQ PAESPANDA π-Cipher POET POLAWIS PRIMATEsPrøst Raviyoyla Sablier SCREAM SHELLSILC Silver STRIBOB Tiaoxin TriviA-ckWheesht YAES

Ko Stoffelen DIAC 2015 6 / 24

Page 8: Optimising masking costs of CAESAR candidates · Optimising masking costs of CAESAR candidates Ko Sto elen & Lejla Batina Digital Security, Radboud University k.stoffelen@cs.ru.nl

IntroductionNonlinear operations

Comparing designsConclusions

Radboud University

Context – CAESAR competition

(S-boxes of)

8x8 5x5 4x4

AES Ascon JoltikAES−1 ICEPOLE Joltik−1

iSCREAM Ketje/Keyak LACSCREAM PRIMATE MinalpherSCREAM−1 PRIMATE−1 Prøst

RECTANGLERECTANGLE−1

Ko Stoffelen DIAC 2015 7 / 24

Page 9: Optimising masking costs of CAESAR candidates · Optimising masking costs of CAESAR candidates Ko Sto elen & Lejla Batina Digital Security, Radboud University k.stoffelen@cs.ru.nl

IntroductionNonlinear operations

Comparing designsConclusions

Radboud University

Optimising masking costs

Nonlinear operations

Ko Stoffelen DIAC 2015 8 / 24

Page 10: Optimising masking costs of CAESAR candidates · Optimising masking costs of CAESAR candidates Ko Sto elen & Lejla Batina Digital Security, Radboud University k.stoffelen@cs.ru.nl

IntroductionNonlinear operations

Comparing designsConclusions

Radboud University

Multiplicative complexity (MC)

• Most nonlinear operations in the nonlinear part of the primitive:the S-box

• MC: minimal number of AND/OR gates required to implementfunction

• Goal is to compute the MC of CAESAR S-boxes

Ko Stoffelen DIAC 2015 9 / 24

Page 11: Optimising masking costs of CAESAR candidates · Optimising masking costs of CAESAR candidates Ko Sto elen & Lejla Batina Digital Security, Radboud University k.stoffelen@cs.ru.nl

IntroductionNonlinear operations

Comparing designsConclusions

Radboud University

Multiplicative complexity (MC)

• Most nonlinear operations in the nonlinear part of the primitive:the S-box

• MC: minimal number of AND/OR gates required to implementfunction

• Goal is to compute the MC of CAESAR S-boxes

Ko Stoffelen DIAC 2015 9 / 24

Page 12: Optimising masking costs of CAESAR candidates · Optimising masking costs of CAESAR candidates Ko Sto elen & Lejla Batina Digital Security, Radboud University k.stoffelen@cs.ru.nl

IntroductionNonlinear operations

Comparing designsConclusions

Radboud University

Multiplicative complexity (MC)

• Most nonlinear operations in the nonlinear part of the primitive:the S-box

• MC: minimal number of AND/OR gates required to implementfunction

• Goal is to compute the MC of CAESAR S-boxes

Ko Stoffelen DIAC 2015 9 / 24

Page 13: Optimising masking costs of CAESAR candidates · Optimising masking costs of CAESAR candidates Ko Sto elen & Lejla Batina Digital Security, Radboud University k.stoffelen@cs.ru.nl

IntroductionNonlinear operations

Comparing designsConclusions

Radboud University

Minimizing AND/OR gates

• Existing logic synthesis tools not very helpful• E.g. Espresso, SIS, misII, Logic Friday, ABC, . . .

• Instead: convert to SAT and let SAT solvers do the work

• Converting problem to SAT nontrivial, butfeasible [CHM11, Mou15]

Ko Stoffelen DIAC 2015 10 / 24

Page 14: Optimising masking costs of CAESAR candidates · Optimising masking costs of CAESAR candidates Ko Sto elen & Lejla Batina Digital Security, Radboud University k.stoffelen@cs.ru.nl

IntroductionNonlinear operations

Comparing designsConclusions

Radboud University

Reducing decisional MC to SAT

q0 = a0 + a1 · x0 + a2 · x1 + a3 · x2 + a4 · x3

q1 = a5 + a6 · x0 + a7 · x1 + a8 · x2 + a9 · x3

t0 = q0 · q1

q2 = a10 + a11 · x0 + a12 · x1 + a13 · x2 + a14 · x3 + a15 · t0

q3 = a16 + a17 · x0 + a18 · x1 + a19 · x2 + a20 · x3 + a21 · t0

t1 = q2 · q3

q4 = a22 + a23 · x0 + a24 · x1 + a25 · x2 + a26 · x3 + a27 · t0 + a28 · t1

q5 = a29 + a30 · x0 + a31 · x1 + a32 · x2 + a33 · x3 + a34 · t0 + a35 · t1

t2 = q4 · q5

y0 = a36x0 + a37 · x1 + a38 · x2 + a39 · x3 + a40 · t0 + a41 · t1 + a42 · t2

y1 = a43x0 + a44 · x1 + a45 · x2 + a46 · x3 + a47 · t0 + a48 · t1 + a49 · t2

y2 = a50x0 + a51 · x1 + a52 · x2 + a53 · x3 + a54 · t0 + a55 · t1 + a56 · t2

y3 = a57x0 + a58 · x1 + a59 · x2 + a60 · x3 + a61 · t0 + a62 · t1 + a63 · t2

Ko Stoffelen DIAC 2015 11 / 24

Page 15: Optimising masking costs of CAESAR candidates · Optimising masking costs of CAESAR candidates Ko Sto elen & Lejla Batina Digital Security, Radboud University k.stoffelen@cs.ru.nl

IntroductionNonlinear operations

Comparing designsConclusions

Radboud University

Our work

• Generate logic formulas in ANF for given S-box and MC

• Convert ANF to CNF

• Let MiniSAT, CryptoMiniSAT, Plingeling, Treengeling do thework on big machine

• Translate back to S-box implementation

Ko Stoffelen DIAC 2015 12 / 24

Page 16: Optimising masking costs of CAESAR candidates · Optimising masking costs of CAESAR candidates Ko Sto elen & Lejla Batina Digital Security, Radboud University k.stoffelen@cs.ru.nl

IntroductionNonlinear operations

Comparing designsConclusions

Radboud University

Results

S-box MC S-box MC

AES ≤ 32 [BP10] PRIMATE−1 ∈ {6, 7, 8, 9, 10}*AES−1 ≤ 32 [BP10] Joltik 4iSCREAM ≤ 12 [GLSV14] Joltik−1 4*SCREAM ≤ 12 [GLS+15] LAC 4*SCREAM−1 ≤ 12 [GLS+15] Minalpher 5*Ascon 5 Prøst 4ICEPOLE 6* RECTANGLE 4Ketje/Keyak 5 RECTANGLE−1 4*PRIMATE ∈ {6, 7}*

Ko Stoffelen DIAC 2015 13 / 24

Page 17: Optimising masking costs of CAESAR candidates · Optimising masking costs of CAESAR candidates Ko Sto elen & Lejla Batina Digital Security, Radboud University k.stoffelen@cs.ru.nl

IntroductionNonlinear operations

Comparing designsConclusions

Radboud University

Intermezzo – bitslice gate complexity

• Minimal number of AND/OR/XOR/NOT operations

• Largely been done for 4x4 S-boxes [UDCI+11]

• Provably optimal bitsliced implementations using provablyminimal nonlinear operations

Ko Stoffelen DIAC 2015 14 / 24

Page 18: Optimising masking costs of CAESAR candidates · Optimising masking costs of CAESAR candidates Ko Sto elen & Lejla Batina Digital Security, Radboud University k.stoffelen@cs.ru.nl

IntroductionNonlinear operations

Comparing designsConclusions

Radboud University

Intermezzo – work in progress. . .

S-box BGC Mine Authors

Ascon 5 AND, 11 XOR, 6 NOT

ICEPOLEKetje/Keyak ≤ 15 5 AND, 5 XOR, 5 NOT 5 AND, 5 XOR, 5 NOT

PRIMATE 6 AND, 1 OR, 37 XOR, 3 NOT

PRIMATE−1

Joltik 11 4 OR, 4 XOR, 3 NOT 4 NOR, 3 XOR, 1 XNOR

Joltik−1 11 4 OR, 4 XOR, 3 NOT

LAC 13 2 AND, 2 OR, 6 XOR, 3 NOT

MinalpherPrøst 4 AND, 4 XOR

RECTANGLE ≤ 12 2 AND, 2 OR, 7 XOR, 1 NOT 1 AND, 3 OR, 7 XOR, 1 NOT

RECTANGLE−1

Disclaimer: not optimal in number of NOT

Ko Stoffelen DIAC 2015 15 / 24

Page 19: Optimising masking costs of CAESAR candidates · Optimising masking costs of CAESAR candidates Ko Sto elen & Lejla Batina Digital Security, Radboud University k.stoffelen@cs.ru.nl

IntroductionNonlinear operations

Comparing designsConclusions

Radboud University

Intermezzo – Joltik

1 y0 = x0|x1

2 t0 = ¬x3

3 y0 = y0 ⊕ t0

4 t0 = x1|x2

5 t0 = ¬t0

6 y1 = x0 ⊕ t0

7 t0 = y0|y1

8 t0 = ¬t0

9 y3 = t0 ⊕ x2

10 t0 = x2|y0

11 y2 = t0 ⊕ x1

Ko Stoffelen DIAC 2015 16 / 24

Page 20: Optimising masking costs of CAESAR candidates · Optimising masking costs of CAESAR candidates Ko Sto elen & Lejla Batina Digital Security, Radboud University k.stoffelen@cs.ru.nl

IntroductionNonlinear operations

Comparing designsConclusions

Radboud University

Intermezzo – Joltik−1

1 y2 = x0|x1

2 t0 = ¬x3

3 y2 = y2 ⊕ t0

4 t0 = x0|y2

5 y1 = t0 ⊕ x2

6 t0 = y1|y2

7 t0 = ¬t0

8 y0 = t0 ⊕ x1

9 t0 = y0|y1

10 t0 = ¬t0

11 y3 = t0 ⊕ x0

Ko Stoffelen DIAC 2015 17 / 24

Page 21: Optimising masking costs of CAESAR candidates · Optimising masking costs of CAESAR candidates Ko Sto elen & Lejla Batina Digital Security, Radboud University k.stoffelen@cs.ru.nl

IntroductionNonlinear operations

Comparing designsConclusions

Radboud University

Intermezzo – LAC

1 t0 = ¬x1

2 t1 = t0|x0

3 t1 = x2 ⊕ t1

4 t2 = x0 ⊕ x3

5 t3 = ¬t2

6 t2 = t3|t1

7 y3 = t3 ⊕ t1

8 y0 = x0 ⊕ t2

9 t2 = t0&y3

10 y2 = t1 ⊕ t2

11 t2 = ¬x0

12 t2 = t2&y2

13 y1 = x1 ⊕ t2

Ko Stoffelen DIAC 2015 18 / 24

Page 22: Optimising masking costs of CAESAR candidates · Optimising masking costs of CAESAR candidates Ko Sto elen & Lejla Batina Digital Security, Radboud University k.stoffelen@cs.ru.nl

IntroductionNonlinear operations

Comparing designsConclusions

Radboud University

Optimising masking costs

Comparing designs

Ko Stoffelen DIAC 2015 19 / 24

Page 23: Optimising masking costs of CAESAR candidates · Optimising masking costs of CAESAR candidates Ko Sto elen & Lejla Batina Digital Security, Radboud University k.stoffelen@cs.ru.nl

IntroductionNonlinear operations

Comparing designsConclusions

Radboud University

High-level operations

• Table lookups

• Bitwise Boolean functions

• Shifts and rotates

• Modular addition/multiplication

• Modular polynomial multiplication

Ko Stoffelen DIAC 2015 20 / 24

Page 24: Optimising masking costs of CAESAR candidates · Optimising masking costs of CAESAR candidates Ko Sto elen & Lejla Batina Digital Security, Radboud University k.stoffelen@cs.ru.nl

IntroductionNonlinear operations

Comparing designsConclusions

Radboud University

Results

OperationTablelookups

BitwiseBoolean

Shifts/rotates

Mod. add.and mult.

Mod. poly.mult.

AES 256 bytes XOR Fixed XAES tables 4096 bytes XOR FixedAES bitsliced AND,OR,XOR Fixed XiSCREAM 512 bytes AND,OR,XOR Fixed × mod 256SCREAM 512 bytes AND,OR,XOR × mod 256

Ascon AND,OR,XOR FixedICEPOLE 96 bytes AND,XOR FixedKetje/Keyak AND,XOR FixedPRIMATE 25 bytes XOR Fixed XJoltik 64 bytes XOR Fixed + mod 16 XLAC 16 bytes XOR FixedMinalpher 16 bytes XOR

Prøst AND,XOR FixedRECTANGLE AND,OR,XOR Fixed

Ko Stoffelen DIAC 2015 21 / 24

Page 25: Optimising masking costs of CAESAR candidates · Optimising masking costs of CAESAR candidates Ko Sto elen & Lejla Batina Digital Security, Radboud University k.stoffelen@cs.ru.nl

IntroductionNonlinear operations

Comparing designsConclusions

Radboud University

Results

• Expected masking costs less high than in [Mes01]

• Ascon, Ketje, Keyak, LAC, Minalpher, Prøst, and RECTANGLEstand out (at the moment)

• Designers/implementers should use operations that are cheapto mask under a Boolean scheme

Ko Stoffelen DIAC 2015 22 / 24

Page 26: Optimising masking costs of CAESAR candidates · Optimising masking costs of CAESAR candidates Ko Sto elen & Lejla Batina Digital Security, Radboud University k.stoffelen@cs.ru.nl

IntroductionNonlinear operations

Comparing designsConclusions

Radboud University

Conclusions

• For 4- and 5-bit S-boxes, we can find an implementation with aprovably minimum number of AND/OR operations

• Same technique can be used to find provably minimal bitslicedimplementations

• Designers and implementers should take masking costs intoconsideration

• CAESAR committee as well• Benchmarking possibilities?

Ko Stoffelen DIAC 2015 23 / 24

Page 27: Optimising masking costs of CAESAR candidates · Optimising masking costs of CAESAR candidates Ko Sto elen & Lejla Batina Digital Security, Radboud University k.stoffelen@cs.ru.nl

IntroductionNonlinear operations

Comparing designsConclusions

Radboud University

Conclusions

• For 4- and 5-bit S-boxes, we can find an implementation with aprovably minimum number of AND/OR operations

• Same technique can be used to find provably minimal bitslicedimplementations

• Designers and implementers should take masking costs intoconsideration

• CAESAR committee as well• Benchmarking possibilities?

Ko Stoffelen DIAC 2015 23 / 24

Page 28: Optimising masking costs of CAESAR candidates · Optimising masking costs of CAESAR candidates Ko Sto elen & Lejla Batina Digital Security, Radboud University k.stoffelen@cs.ru.nl

IntroductionNonlinear operations

Comparing designsConclusions

Radboud University

Conclusions

• For 4- and 5-bit S-boxes, we can find an implementation with aprovably minimum number of AND/OR operations

• Same technique can be used to find provably minimal bitslicedimplementations

• Designers and implementers should take masking costs intoconsideration

• CAESAR committee as well• Benchmarking possibilities?

Ko Stoffelen DIAC 2015 23 / 24

Page 29: Optimising masking costs of CAESAR candidates · Optimising masking costs of CAESAR candidates Ko Sto elen & Lejla Batina Digital Security, Radboud University k.stoffelen@cs.ru.nl

IntroductionNonlinear operations

Comparing designsConclusions

Radboud University

Conclusions

• For 4- and 5-bit S-boxes, we can find an implementation with aprovably minimum number of AND/OR operations

• Same technique can be used to find provably minimal bitslicedimplementations

• Designers and implementers should take masking costs intoconsideration

• CAESAR committee as well• Benchmarking possibilities?

Ko Stoffelen DIAC 2015 23 / 24

Page 30: Optimising masking costs of CAESAR candidates · Optimising masking costs of CAESAR candidates Ko Sto elen & Lejla Batina Digital Security, Radboud University k.stoffelen@cs.ru.nl

IntroductionNonlinear operations

Comparing designsConclusions

Radboud University

Questions

Thank you for your attention

Questions?

Ko Stoffelen DIAC 2015 24 / 24

Page 31: Optimising masking costs of CAESAR candidates · Optimising masking costs of CAESAR candidates Ko Sto elen & Lejla Batina Digital Security, Radboud University k.stoffelen@cs.ru.nl

IntroductionNonlinear operations

Comparing designsConclusions

Radboud University

References I

Joan Boyar and Rene Peralta.A new combinational logic minimization technique with applications tocryptology.In Paola Festa, editor, Experimental Algorithms, volume 6049 of Lecture Notesin Computer Science, pages 178–189. Springer Berlin Heidelberg, 2010.

Nicolas Courtois, Daniel Hulme, and Theodosis Mourouzis.Solving circuit optimisation problems in cryptography and cryptanalysis, 2011.http://eprint.iacr.org/.

Vincent Grosso, Gaetan Leurent, Francois-Xavier Standaert, Kerem Varıcı,Anthony Journault, Francois Durvaux, Lubos Gaspar, and Stephanie Kerckhof.SCREAM. CAESAR submissions, 2015.http://competitions.cr.yp.to/round2/screamv3.pdf.

Vincent Grosso, Gaetan Leurent, Francois-Xavier Standaert, and Kerem Varıcı.LS-designs: Bitslice encryption for efficient masked software implementations.In Fast Software Encryption – FSE 2014, 2014.

Ko Stoffelen DIAC 2015 25 / 24

Page 32: Optimising masking costs of CAESAR candidates · Optimising masking costs of CAESAR candidates Ko Sto elen & Lejla Batina Digital Security, Radboud University k.stoffelen@cs.ru.nl

IntroductionNonlinear operations

Comparing designsConclusions

Radboud University

References II

Thomas S. Messerges.Securing the AES finalists against power analysis attacks.In Gerhard Goos, Juris Hartmanis, Jan van Leeuwen, and Bruce Schneier, editors,Fast Software Encryption, volume 1978 of Lecture Notes in Computer Science,pages 150–164. Springer Berlin Heidelberg, 2001.

Theodosis Mourouzis.Optimizations in Algebraic and Differential Cryptanalysis.PhD thesis, UCL (University College London), 2015.

Markus Ullrich, Christophe De Canniere, Sebastian Indesteege, Ozgul Kucuk,Nicky Mouha, and Bart Preneel.Finding optimal bitsliced implementations of 4x4-bit S-boxes.In SKEW 2011 Symmetric Key Encryption Workshop, Copenhagen, Denmark,pages 16–17, 2011.

Ko Stoffelen DIAC 2015 26 / 24