Protecting against Statistical Ineffective Fault Attacks
Joan Daemen, Christoph Dobraunig, Maria Eichlseder, Hannes Gross, Florian Mendel and Robert Primas
CHES 2020
Protecting against Statistical Ineffective Fault Attacks Joan - - PowerPoint PPT Presentation
Protecting against Statistical Ineffective Fault Attacks Joan Daemen, Christoph Dobraunig, Maria Eichlseder, Hannes Gross, Florian Mendel and Robert Primas CHES 2020 Motivation www.tugraz.at Using crypto in the wild requires:
Joan Daemen, Christoph Dobraunig, Maria Eichlseder, Hannes Gross, Florian Mendel and Robert Primas
CHES 2020
www.tugraz.at
1 1 1 1
1 Robert Primas — CHES 2020
www.tugraz.at
1 Robert Primas — CHES 2020
www.tugraz.at
1 Robert Primas — CHES 2020
www.tugraz.at
2 Robert Primas — CHES 2020
www.tugraz.at
2 Robert Primas — CHES 2020
www.tugraz.at
2 Robert Primas — CHES 2020
www.tugraz.at
3 Robert Primas — CHES 2020
www.tugraz.at
3 Robert Primas — CHES 2020
www.tugraz.at
uniform
ROUND 8
SHIFT ROWS MIX COLUMNS KEY ADD
:
SHIFT ROWS MIX COLUMNS KEY ADD SUB BYTES SHIFT ROWS KEY ADD SUB BYTES
ROUND 10 ROUND 9
PN CN
4 Robert Primas — CHES 2020 Fuhr et al. [Fuh+13]
www.tugraz.at
caused bias
PN
ROUND 8
SHIFT ROWS MIX COLUMNS KEY ADD
:
SHIFT ROWS MIX COLUMNS KEY ADD SUB BYTES SHIFT ROWS KEY ADD SUB BYTES
ROUND 10 ROUND 9
CN
4 Robert Primas — CHES 2020 Fuhr et al. [Fuh+13]
www.tugraz.at
PN
ROUND 8
SHIFT ROWS MIX COLUMNS KEY ADD
:
SHIFT ROWS MIX COLUMNS KEY ADD SUB BYTES SHIFT ROWS SUB BYTES
ROUND 10 ROUND 9
KEY ADD CN
4 Robert Primas — CHES 2020 Fuhr et al. [Fuh+13]
www.tugraz.at
ROUND 8
SHIFT ROWS MIX COLUMNS KEY ADD
:
SHIFT ROWS MIX COLUMNS KEY ADD SUB BYTES SHIFT ROWS SUB BYTES
ROUND 10 ROUND 9
CN KEY ADD
4 Robert Primas — CHES 2020 Fuhr et al. [Fuh+13]
www.tugraz.at
ROUND 8
SHIFT ROWS MIX COLUMNS KEY ADD
:
SHIFT ROWS MIX COLUMNS KEY ADD SUB BYTES SHIFT ROWS SUB BYTES
ROUND 10 ROUND 9
CN KEY ADD
4 Robert Primas — CHES 2020 Fuhr et al. [Fuh+13]
www.tugraz.at
PN SHIFT ROWS MIX COLUMNS KEY ADD
:
SHIFT ROWS MIX COLUMNS KEY ADD SUB BYTES SHIFT ROWS KEY ADD SUB BYTES SHIFT ROWS MIX COLUMNS KEY ADD
:
SHIFT ROWS MIX COLUMNS KEY ADD SUB BYTES SHIFT ROWS KEY ADD SUB BYTES C1 CN
ROUND 8 ROUND 10 ROUND 9
5 Robert Primas — CHES 2020
www.tugraz.at
PN SHIFT ROWS MIX COLUMNS KEY ADD
:
SHIFT ROWS MIX COLUMNS KEY ADD SUB BYTES SHIFT ROWS KEY ADD SUB BYTES SHIFT ROWS MIX COLUMNS KEY ADD
:
SHIFT ROWS MIX COLUMNS KEY ADD SUB BYTES SHIFT ROWS KEY ADD SUB BYTES C1 CN
ROUND 8 ROUND 10 ROUND 9
5 Robert Primas — CHES 2020 Dobraunig et al. [Dob+18b]
www.tugraz.at
SHIFT ROWS MIX COLUMNS KEY ADD
:
SHIFT ROWS MIX COLUMNS KEY ADD SUB BYTES SHIFT ROWS SUB BYTES C1 CN KEY ADD
ROUND 8 ROUND 10 ROUND 9
5 Robert Primas — CHES 2020 Dobraunig et al. [Dob+18b]
www.tugraz.at
SHIFT ROWS MIX COLUMNS KEY ADD
:
SHIFT ROWS MIX COLUMNS KEY ADD SUB BYTES SHIFT ROWS SUB BYTES C1 CN KEY ADD
ROUND 8 ROUND 10 ROUND 9
5 Robert Primas — CHES 2020 Dobraunig et al. [Dob+18b]
www.tugraz.at
SHIFT ROWS MIX COLUMNS KEY ADD
:
SHIFT ROWS MIX COLUMNS KEY ADD SUB BYTES SHIFT ROWS KEY ADD SUB BYTES SHIFT ROWS MIX COLUMNS KEY ADD SHIFT ROWS MIX COLUMNS KEY ADD SUB BYTES SHIFT ROWS KEY ADD SUB BYTES
ROUND 8 ROUND 10 ROUND 9
PN C1 CN
: :
5 Robert Primas — CHES 2020 Dobraunig et al. [Dob+18b]
www.tugraz.at
SHIFT ROWS MIX COLUMNS KEY ADD
:
SHIFT ROWS MIX COLUMNS KEY ADD SUB BYTES SHIFT ROWS KEY ADD SUB BYTES SHIFT ROWS MIX COLUMNS KEY ADD SHIFT ROWS MIX COLUMNS KEY ADD SUB BYTES SHIFT ROWS KEY ADD SUB BYTES
ROUND 8 ROUND 10 ROUND 9
PN C1 CN
: :
5 Robert Primas — CHES 2020 Dobraunig et al. [Dob+18b]
www.tugraz.at
SHIFT ROWS MIX COLUMNS KEY ADD SHIFT ROWS MIX COLUMNS KEY ADD SUB BYTES SHIFT ROWS KEY ADD SUB BYTES SHIFT ROWS MIX COLUMNS KEY ADD
:
SHIFT ROWS MIX COLUMNS KEY ADD SUB BYTES SHIFT ROWS KEY ADD SUB BYTES PN C1 CN
ROUND 8 ROUND 10 ROUND 9
: :
5 Robert Primas — CHES 2020 Dobraunig et al. [Dob+18a]
www.tugraz.at
SHIFT ROWS MIX COLUMNS KEY ADD SHIFT ROWS MIX COLUMNS KEY ADD SUB BYTES SHIFT ROWS KEY ADD SUB BYTES SHIFT ROWS MIX COLUMNS KEY ADD
:
SHIFT ROWS MIX COLUMNS KEY ADD SUB BYTES SHIFT ROWS KEY ADD SUB BYTES PN C1 CN
ROUND 8 ROUND 10 ROUND 9
:
x0 y0 y1 x1 R z0 z1
:
5 Robert Primas — CHES 2020 Dobraunig et al. [Dob+18a]
www.tugraz.at
0 1
R
0 1
5 Robert Primas — CHES 2020 Dobraunig et al. [Dob+18a]
www.tugraz.at
R
0 1
5 Robert Primas — CHES 2020 Dobraunig et al. [Dob+18a]
www.tugraz.at
R
0 1
5 Robert Primas — CHES 2020 Dobraunig et al. [Dob+18a]
www.tugraz.at
R
0 1
5 Robert Primas — CHES 2020 Dobraunig et al. [Dob+18a]
www.tugraz.at
R
0 1
5 Robert Primas — CHES 2020 Dobraunig et al. [Dob+18a]
www.tugraz.at
SHIFT ROWS MIX COLUMNS KEY ADD SHIFT ROWS MIX COLUMNS KEY ADD SUB BYTES SHIFT ROWS KEY ADD SUB BYTES SHIFT ROWS MIX COLUMNS KEY ADD
:
SHIFT ROWS MIX COLUMNS KEY ADD SUB BYTES SHIFT ROWS KEY ADD SUB BYTES
:
C1 CN
ROUND 8 ROUND 10 ROUND 9
:
PN
5 Robert Primas — CHES 2020 Dobraunig et al. [Dob+18a]
www.tugraz.at
SHIFT ROWS MIX COLUMNS KEY ADD SHIFT ROWS MIX COLUMNS KEY ADD SUB BYTES SHIFT ROWS KEY ADD SUB BYTES SHIFT ROWS MIX COLUMNS KEY ADD
:
SHIFT ROWS MIX COLUMNS KEY ADD SUB BYTES SHIFT ROWS KEY ADD SUB BYTES
:
C1 CN
ROUND 8 ROUND 10 ROUND 9
:
SHIFT ROWS MIX COLUMNS KEY ADD
:
SHIFT ROWS MIX COLUMNS KEY ADD SUB BYTES SHIFT ROWS KEY ADD SUB BYTES PN
5 Robert Primas — CHES 2020 Dobraunig et al. [Dob+18a]
www.tugraz.at
SHIFT ROWS MIX COLUMNS KEY ADD SHIFT ROWS MIX COLUMNS KEY ADD SUB BYTES SHIFT ROWS KEY ADD SUB BYTES SHIFT ROWS MIX COLUMNS KEY ADD
:
SHIFT ROWS MIX COLUMNS KEY ADD SUB BYTES SHIFT ROWS KEY ADD SUB BYTES
:
C1 CN
ROUND 8 ROUND 10 ROUND 9
:
SHIFT ROWS MIX COLUMNS KEY ADD
:
SHIFT ROWS MIX COLUMNS KEY ADD SUB BYTES SHIFT ROWS KEY ADD SUB BYTES PN
5 Robert Primas — CHES 2020 Dobraunig et al. [Dob+18a]
www.tugraz.at
SHIFT ROWS MIX COLUMNS KEY ADD SHIFT ROWS MIX COLUMNS KEY ADD SUB BYTES SHIFT ROWS KEY ADD SUB BYTES SHIFT ROWS MIX COLUMNS KEY ADD
:
SHIFT ROWS MIX COLUMNS KEY ADD SUB BYTES SHIFT ROWS KEY ADD SUB BYTES
:
C1 CN
ROUND 8 ROUND 10 ROUND 9
:
SHIFT ROWS MIX COLUMNS KEY ADD
:
SHIFT ROWS MIX COLUMNS KEY ADD SUB BYTES SHIFT ROWS KEY ADD SUB BYTES PN
5 Robert Primas — CHES 2020 Dobraunig et al. [Dob+18a]
www.tugraz.at
6 Robert Primas — CHES 2020
www.tugraz.at
6 Robert Primas — CHES 2020
www.tugraz.at
6 Robert Primas — CHES 2020
www.tugraz.at
7 Robert Primas — CHES 2020
www.tugraz.at
7 Robert Primas — CHES 2020
www.tugraz.at
(simplest invertible non-linear function)
b c a b c a
7 Robert Primas — CHES 2020
www.tugraz.at
(simplest invertible non-linear function)
b0 c0 a0 a1 b1 c1 b0 c0 a0 a1 b1 c1
7 Robert Primas — CHES 2020
www.tugraz.at
8 Robert Primas — CHES 2020 (Refreshing of shares omitted)
www.tugraz.at
Robert Primas — CHES 2020 (Refreshing of shares omitted)
www.tugraz.at
b0, b1 and c1
Robert Primas — CHES 2020 (Refreshing of shares omitted)
www.tugraz.at
b0, b1 and c1
Robert Primas — CHES 2020 (Refreshing of shares omitted)
www.tugraz.at
(but not permutations)
9 Robert Primas — CHES 2020 (Refreshing of shares omitted)
www.tugraz.at
(but not permutations)
9 Robert Primas — CHES 2020 (Refreshing of shares omitted)
www.tugraz.at
(but not permutations)
9 Robert Primas — CHES 2020 (Refreshing of shares omitted)
www.tugraz.at
(3×repeated application of Toffoli-gate)
10 Robert Primas — CHES 2020
www.tugraz.at
(3×repeated application of Toffoli-gate)
10 Robert Primas — CHES 2020
www.tugraz.at
(3×repeated application of Toffoli-gate)
10 Robert Primas — CHES 2020
www.tugraz.at
(3×repeated application of Toffoli-gate)
10 Robert Primas — CHES 2020
www.tugraz.at
11 Robert Primas — CHES 2020
www.tugraz.at
11 Robert Primas — CHES 2020
www.tugraz.at
11 Robert Primas — CHES 2020
www.tugraz.at
Linear Map
GF(2⁴) Mult.
4 4 4 4 4 4 4 4 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 4 4 4 4 4 4 1 1 1 1 1 1 1 1 1 1 2 2 1 1
Square Scaling GF(2²) Mult. Square Scaling GF(2²) Inv. GF(2²) Mult. GF(2²) Mult. GF(2⁴) Mult. GF(2⁴) Mult.
Linear Map
x a = 0 b = 0 c = 0 d = 0 e f g h y
12 Robert Primas — CHES 2020 (Masking omitted)
www.tugraz.at
Linear Map
GF(2⁴) Mult.
4 4 4 4 4 4 4 4 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 4 4 4 4 4 4 1 1 1 1 1 1 1 1 1 1 2 2 1 1
Square Scaling GF(2²) Mult. Square Scaling GF(2²) Inv. GF(2²) Mult. GF(2²) Mult. GF(2⁴) Mult. GF(2⁴) Mult.
Linear Map
x a = 0 b = 0 c = 0 d = 0 e f g h y
12 Robert Primas — CHES 2020 (Masking omitted)
www.tugraz.at
Linear Map
GF(2⁴) Mult.
4 4 4 4 4 4 4 4 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 4 4 4 4 4 4 1 1 1 1 1 1 1 1 1 1 2 2 1 1
Square Scaling GF(2²) Mult. Square Scaling GF(2²) Inv. GF(2²) Mult. GF(2²) Mult. GF(2⁴) Mult. GF(2⁴) Mult.
Linear Map
x a = 0 b = 0 c = 0 d = 0 e f g h y
12 Robert Primas — CHES 2020 (Masking omitted)
www.tugraz.at
within masked S-box
Linear Map
GF(2⁴) Mult.
4 4 4 4 4 4 4 4 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 4 4 4 4 4 4 1 1 1 1 1 1 1 1 1 1 2 2 1 1
Square Scaling GF(2²) Mult. Square Scaling GF(2²) Inv. GF(2²) Mult. GF(2²) Mult. GF(2⁴) Mult. GF(2⁴) Mult.
Linear Map
x a = 0 b = 0 c = 0 d = 0 e f g h y
12 Robert Primas — CHES 2020 (Masking omitted)
www.tugraz.at
within masked S-box
each S-box
Linear Map
GF(2⁴) Mult.
4 4 4 4 4 4 4 4 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 4 4 4 4 4 4 1 1 1 1 1 1 1 1 1 1 2 2 1 1
Square Scaling GF(2²) Mult. Square Scaling GF(2²) Inv. GF(2²) Mult. GF(2²) Mult. GF(2⁴) Mult. GF(2⁴) Mult.
Linear Map
x a = 0 b = 0 c = 0 d = 0 e f g h y
12 Robert Primas — CHES 2020 (Masking omitted)
www.tugraz.at
13 Robert Primas — CHES 2020
www.tugraz.at
13 Robert Primas — CHES 2020
www.tugraz.at
13 Robert Primas — CHES 2020
www.tugraz.at
13 Robert Primas — CHES 2020
Joan Daemen, Christoph Dobraunig, Maria Eichlseder, Hannes Gross, Florian Mendel and Robert Primas
CHES 2020
[Can05]
[Dob+18a]
Ineffective Fault Attacks on Masked AES with Fault Countermeasures. In: ASIACRYPT (2).
[Dob+18b]
Ineffective Fault Inductions on Symmetric Cryptography. In: IACR Trans. Cryptogr. Hardw.
[Fuh+13]
e, and A. Thillard. Fault Attacks on AES with Faulty Ciphertexts
[Sug19]
IACR Trans. Cryptogr. Hardw. Embed. Syst. 2019.1 (2019), pp. 123–145. 14 Joan Daemen, Christoph Dobraunig, Maria Eichlseder, Hannes Gross, Florian Mendel and Robert Primas — CHES 2020