iit kharagpur - destroying fault invariant with ... · harshal tupsamudre, shikha bisht, debdeep...
TRANSCRIPT
IIT KHARAGPURDestroying Fault Invariant with Randomization
-A Countermeasure for AESagainst Differential Fault Attacks
Authors:Harshal Tupsamudre, Shikha Bisht, Debdeep Mukhopadhyay
(IIT KHARAGPUR)
CHES 2014
South Korea, Busan
September 24, 2014
CHES 2014 (South Korea, Busan) IIT KHARAGPUR September 24, 2014 1 / 48
Outline
1 Preliminaries
2 LatinCrypt 2012 Infection Countermeasure
3 FDTC 2013 Attack
4 A Major Loop Hole in LatinCrypt 2012 Countermeasure
5 Piret and Quisquater’s Attack on Infection CountermeasureAttack Without Random Dummy RoundsComplexity AnalysisAttack in Presence of Random Dummy Rounds
6 Improved Countermeasure
7 Summary & Conclusion
CHES 2014 (South Korea, Busan) IIT KHARAGPUR September 24, 2014 2 / 48
Preliminaries
CHES 2014 (South Korea, Busan) IIT KHARAGPUR September 24, 2014 3 / 48
AES128
Plaintext ⊕ Key
Ciphertext
Round 1
Round i
Round 10
SubByte
ShiftRow
MixColumn
Add Round Key
CHES 2014 (South Korea, Busan) IIT KHARAGPUR September 24, 2014 4 / 48
AES128: Round Function
I0 I4 I8 I12I1 I5 I9 I13I2 I6 I10 I14I3 I7 I11 I15
—S—
S[I0] S[I4] S[I8] S[I12]S[I1] S[I5] S[I9] S[I13]S[I2] S[I6] S[I10] S[I14]S[I3] S[I7] S[I11] S[I15]
—SR—
S[I0] S[I4] S[I8] S[I12]S[I5] S[I9] S[I13] S[I1]S[I10] S[I14] S[I2] S[I6]S[I15] S[I3] S[I7] S[I11]
—MC—
2 3 1 11 2 3 11 1 2 33 1 1 2
S[I0] S[I4] S[I8] S[I12]S[I5] S[I9] S[I13] S[I1]S[I10] S[I14] S[I2] S[I6]S[I15] S[I3] S[I7] S[I11]
—Add key—
I′0 ⊕ k0 I
′4 ⊕ k4 I
′8 ⊕ k8 I
′12 ⊕ k12
I′1 ⊕ k1 I
′5 ⊕ k5 I
′9 ⊕ k9 I
′13 ⊕ k13
I′2 ⊕ k2 I
′6 ⊕ k6 I
′10 ⊕ k10 I
′14 ⊕ k14
I′3 ⊕ k3 I
′7 ⊕ k7 I
′11 ⊕ k11 I
′15 ⊕ k15
CHES 2014 (South Korea, Busan) IIT KHARAGPUR September 24, 2014 5 / 48
AES128: Round Function
I0 I4 I8 I12I1 I5 I9 I13I2 I6 I10 I14I3 I7 I11 I15
—S—
S[I0] S[I4] S[I8] S[I12]S[I1] S[I5] S[I9] S[I13]S[I2] S[I6] S[I10] S[I14]S[I3] S[I7] S[I11] S[I15]
—SR—
S[I0] S[I4] S[I8] S[I12]S[I5] S[I9] S[I13] S[I1]S[I10] S[I14] S[I2] S[I6]S[I15] S[I3] S[I7] S[I11]
—MC—
2 3 1 11 2 3 11 1 2 33 1 1 2
S[I0] S[I4] S[I8] S[I12]S[I5] S[I9] S[I13] S[I1]S[I10] S[I14] S[I2] S[I6]S[I15] S[I3] S[I7] S[I11]
—Add key—
I′0 ⊕ k0 I
′4 ⊕ k4 I
′8 ⊕ k8 I
′12 ⊕ k12
I′1 ⊕ k1 I
′5 ⊕ k5 I
′9 ⊕ k9 I
′13 ⊕ k13
I′2 ⊕ k2 I
′6 ⊕ k6 I
′10 ⊕ k10 I
′14 ⊕ k14
I′3 ⊕ k3 I
′7 ⊕ k7 I
′11 ⊕ k11 I
′15 ⊕ k15
CHES 2014 (South Korea, Busan) IIT KHARAGPUR September 24, 2014 5 / 48
AES128: Round Function
I0 I4 I8 I12I1 I5 I9 I13I2 I6 I10 I14I3 I7 I11 I15
—S—
S[I0] S[I4] S[I8] S[I12]S[I1] S[I5] S[I9] S[I13]S[I2] S[I6] S[I10] S[I14]S[I3] S[I7] S[I11] S[I15]
—SR—
S[I0] S[I4] S[I8] S[I12]S[I5] S[I9] S[I13] S[I1]S[I10] S[I14] S[I2] S[I6]S[I15] S[I3] S[I7] S[I11]
—MC—
2 3 1 11 2 3 11 1 2 33 1 1 2
S[I0] S[I4] S[I8] S[I12]S[I5] S[I9] S[I13] S[I1]S[I10] S[I14] S[I2] S[I6]S[I15] S[I3] S[I7] S[I11]
—Add key—
I′0 ⊕ k0 I
′4 ⊕ k4 I
′8 ⊕ k8 I
′12 ⊕ k12
I′1 ⊕ k1 I
′5 ⊕ k5 I
′9 ⊕ k9 I
′13 ⊕ k13
I′2 ⊕ k2 I
′6 ⊕ k6 I
′10 ⊕ k10 I
′14 ⊕ k14
I′3 ⊕ k3 I
′7 ⊕ k7 I
′11 ⊕ k11 I
′15 ⊕ k15
CHES 2014 (South Korea, Busan) IIT KHARAGPUR September 24, 2014 5 / 48
AES128: Round Function
I0 I4 I8 I12I1 I5 I9 I13I2 I6 I10 I14I3 I7 I11 I15
—S—
S[I0] S[I4] S[I8] S[I12]S[I1] S[I5] S[I9] S[I13]S[I2] S[I6] S[I10] S[I14]S[I3] S[I7] S[I11] S[I15]
—SR—
S[I0] S[I4] S[I8] S[I12]S[I5] S[I9] S[I13] S[I1]S[I10] S[I14] S[I2] S[I6]S[I15] S[I3] S[I7] S[I11]
—MC—
2 3 1 11 2 3 11 1 2 33 1 1 2
S[I0] S[I4] S[I8] S[I12]S[I5] S[I9] S[I13] S[I1]S[I10] S[I14] S[I2] S[I6]S[I15] S[I3] S[I7] S[I11]
—Add key—
I′0 ⊕ k0 I
′4 ⊕ k4 I
′8 ⊕ k8 I
′12 ⊕ k12
I′1 ⊕ k1 I
′5 ⊕ k5 I
′9 ⊕ k9 I
′13 ⊕ k13
I′2 ⊕ k2 I
′6 ⊕ k6 I
′10 ⊕ k10 I
′14 ⊕ k14
I′3 ⊕ k3 I
′7 ⊕ k7 I
′11 ⊕ k11 I
′15 ⊕ k15
CHES 2014 (South Korea, Busan) IIT KHARAGPUR September 24, 2014 5 / 48
AES128: Round Function
I0 I4 I8 I12I1 I5 I9 I13I2 I6 I10 I14I3 I7 I11 I15
—S—
S[I0] S[I4] S[I8] S[I12]S[I1] S[I5] S[I9] S[I13]S[I2] S[I6] S[I10] S[I14]S[I3] S[I7] S[I11] S[I15]
—SR—
S[I0] S[I4] S[I8] S[I12]S[I5] S[I9] S[I13] S[I1]S[I10] S[I14] S[I2] S[I6]S[I15] S[I3] S[I7] S[I11]
—MC—
2 3 1 11 2 3 11 1 2 33 1 1 2
S[I0] S[I4] S[I8] S[I12]S[I5] S[I9] S[I13] S[I1]S[I10] S[I14] S[I2] S[I6]S[I15] S[I3] S[I7] S[I11]
—Add key—
I′0 ⊕ k0 I
′4 ⊕ k4 I
′8 ⊕ k8 I
′12 ⊕ k12
I′1 ⊕ k1 I
′5 ⊕ k5 I
′9 ⊕ k9 I
′13 ⊕ k13
I′2 ⊕ k2 I
′6 ⊕ k6 I
′10 ⊕ k10 I
′14 ⊕ k14
I′3 ⊕ k3 I
′7 ⊕ k7 I
′11 ⊕ k11 I
′15 ⊕ k15
CHES 2014 (South Korea, Busan) IIT KHARAGPUR September 24, 2014 5 / 48
Fault Attack
Cipher Process
Plaintext Plaintext
Cipher Process
Fault
Correct Ciphertext
Output Analysis
⊕ Faulty Ciphertext
Only one fault sufficient to retrieve the entire secret key of AES.
CHES 2014 (South Korea, Busan) IIT KHARAGPUR September 24, 2014 6 / 48
Fault Attack
Cipher Process
Plaintext Plaintext
Cipher Process
Fault
Correct Ciphertext
Output Analysis
⊕ Faulty Ciphertext
Only one fault sufficient to retrieve the entire secret key of AES.
CHES 2014 (South Korea, Busan) IIT KHARAGPUR September 24, 2014 6 / 48
Fault Attack
1 Fault models to model the strength of adversary1 Bit flip Fault Model : Affects a bit of the intermediate result2 Constant Byte Fault Model : Requires control over fault value and
position3 Random Byte Fault Model : No control over fault value and position
2 Attacks that require both the correct and faulty ciphertext are knownas differential fault attacks
CHES 2014 (South Korea, Busan) IIT KHARAGPUR September 24, 2014 7 / 48
Countermeasures Against Fault Attacks
Detection Countermeasure
PT PT*
CT*CT
PT
CT
PT
CT
CT = CT* ? PT = PT* ?
CHES 2014 (South Korea, Busan) IIT KHARAGPUR September 24, 2014 8 / 48
Infection Countermeasure
Cipher Round
Redundant Round
Diffusion
CHES 2014 (South Korea, Busan) IIT KHARAGPUR September 24, 2014 9 / 48
LatinCrypt 2012 InfectionCountermeasure
LatinCrypt 2012 Infection CountermeasureSNLF operates on a byte and SNLF(0) = 0
SNLF
Redundan
tCipher
CHES 2014 (South Korea, Busan) IIT KHARAGPUR September 24, 2014 10 / 48
LatinCrypt 2012 Infection CountermeasureSNLF operates on a byte and SNLF(0) = 0
SNLF
Redundan
tCipher
Redundan
tCipher
CHES 2014 (South Korea, Busan) IIT KHARAGPUR September 24, 2014 10 / 48
LatinCrypt 2012 Infection CountermeasureDummy rounds occur randomly
SNLF
Redundan
tCipher
Redundan
tCipher
Dummy
Dummy
CHES 2014 (South Korea, Busan) IIT KHARAGPUR September 24, 2014 10 / 48
LatinCrypt 2012 Infection CountermeasureRoundFunction(β, k0) = β
Dummy
β
CHES 2014 (South Korea, Busan) IIT KHARAGPUR September 24, 2014 11 / 48
LatinCrypt 2012 Infection CountermeasureRoundFunction(β, k0) = β
Redundan
tDummy
Redundan
t
β
Dummy
CHES 2014 (South Korea, Busan) IIT KHARAGPUR September 24, 2014 11 / 48
LatinCrypt 2012 Infection CountermeasureRoundFunction(β, k0) = β
Redundan
tDummy
Cipher
Redundan
tCipher
β
Dummy
CHES 2014 (South Korea, Busan) IIT KHARAGPUR September 24, 2014 11 / 48
FDTC 2013 Attack
FDTC 2013 Attack
Fault f in I 101 , i .e., first byte of the second row in the input of 10th
cipher round of AES128
Countermeasure infects the faulty computation twice
I After the execution of 10th cipher roundI After the execution of compulsory dummy round
CHES 2014 (South Korea, Busan) IIT KHARAGPUR September 24, 2014 12 / 48
FDTC 2013 Attack
Fault f in I 101 , i .e., first byte of the second row in the input of 10th
cipher round of AES128
Countermeasure infects the faulty computation twice
I After the execution of 10th cipher roundI After the execution of compulsory dummy round
CHES 2014 (South Korea, Busan) IIT KHARAGPUR September 24, 2014 12 / 48
FDTC 2013 Attack
Fault f in I 101 , i .e., first byte of the second row in the input of 10th
cipher round of AES128
Countermeasure infects the faulty computation twice
I After the execution of 10th cipher roundI After the execution of compulsory dummy round
CHES 2014 (South Korea, Busan) IIT KHARAGPUR September 24, 2014 12 / 48
FDTC 2013 Attack
Fault f in I 101 , i .e., first byte of the second row in the input of 10th
cipher round of AES128
Countermeasure infects the faulty computation twiceI After the execution of 10th cipher round
I After the execution of compulsory dummy round
CHES 2014 (South Korea, Busan) IIT KHARAGPUR September 24, 2014 12 / 48
FDTC 2013 Attack
Fault f in I 101 , i .e., first byte of the second row in the input of 10th
cipher round of AES128
Countermeasure infects the faulty computation twiceI After the execution of 10th cipher roundI After the execution of compulsory dummy round
CHES 2014 (South Korea, Busan) IIT KHARAGPUR September 24, 2014 12 / 48
FDTC 2013 Attack
f
Step 6
R0 R1
CHES 2014 (South Korea, Busan) IIT KHARAGPUR September 24, 2014 13 / 48
FDTC 2013 Attack
εf
Step 6 Step 7
R0 R1
CHES 2014 (South Korea, Busan) IIT KHARAGPUR September 24, 2014 13 / 48
FDTC 2013 Attack
ε
ε SNLF[ε]
f
Step 6 Step 7 Step 11
Step 10 SNLF[ε]
R0 R1
β R2
CHES 2014 (South Korea, Busan) IIT KHARAGPUR September 24, 2014 13 / 48
FDTC 2013 Attack
∆1
∆2
∆3
∆4
SNLF[ε]
ε
ε SNLF[ε]
f
Step 6 Step 7 Step 11
Step 10 Step 14
β R2
R0 R1
CHES 2014 (South Korea, Busan) IIT KHARAGPUR September 24, 2014 13 / 48
FDTC 2013 Attack
∆1
∆2
∆3
∆4
∆1
∆2
∆3
∆4
ε
ε SNLF[ε]
β R2
f
C C*
Step 6 Step 7 Step 11
Step 10 Step 14SNLF[ε]
Step 14
R0 R1
CHES 2014 (South Korea, Busan) IIT KHARAGPUR September 24, 2014 13 / 48
FDTC 2013 Attack: Infection Caused by the 10th CipherRound
1 The difference between correct (R1) and faulty computation (R0) is:0 0 0 0f 0 0 00 0 0 00 0 0 0
—S—
0 0 0 0ε 0 0 00 0 0 00 0 0 0
—SR—
0 0 0 00 0 0 ε0 0 0 00 0 0 0
2 After Infection Step, the difference is:
R0 ⊕ R1 =
0 0 0 00 0 0 ε⊕ SNLF [ε]0 0 0 00 0 0 0
where ε = S [I 101 ⊕ f ]⊕ S [I 101 ]
CHES 2014 (South Korea, Busan) IIT KHARAGPUR September 24, 2014 14 / 48
FDTC 2013 Attack: Infection Caused by the 10th CipherRound
1 The difference between correct (R1) and faulty computation (R0) is:0 0 0 0f 0 0 00 0 0 00 0 0 0
—S—
0 0 0 0ε 0 0 00 0 0 00 0 0 0
—SR—
0 0 0 00 0 0 ε0 0 0 00 0 0 0
2 After Infection Step, the difference is:
R0 ⊕ R1 =
0 0 0 00 0 0 ε⊕ SNLF [ε]0 0 0 00 0 0 0
where ε = S [I 101 ⊕ f ]⊕ S [I 101 ]
CHES 2014 (South Korea, Busan) IIT KHARAGPUR September 24, 2014 14 / 48
FDTC 2013 Attack: Infection Caused by the 10th CipherRound
1 The difference between correct (R1) and faulty computation (R0) is:0 0 0 0f 0 0 00 0 0 00 0 0 0
—S—
0 0 0 0ε 0 0 00 0 0 00 0 0 0
—SR—
0 0 0 00 0 0 ε0 0 0 00 0 0 0
2 After Infection Step, the difference is:
R0 ⊕ R1 =
0 0 0 00 0 0 ε⊕ SNLF [ε]0 0 0 00 0 0 0
where ε = S [I 101 ⊕ f ]⊕ S [I 101 ]
CHES 2014 (South Korea, Busan) IIT KHARAGPUR September 24, 2014 14 / 48
FDTC 2013 Attack: Infection Caused by the 10th CipherRound
1 The difference between correct (R1) and faulty computation (R0) is:0 0 0 0f 0 0 00 0 0 00 0 0 0
—S—
0 0 0 0ε 0 0 00 0 0 00 0 0 0
—SR—
0 0 0 00 0 0 ε0 0 0 00 0 0 0
2 After Infection Step, the difference is:
R0 ⊕ R1 =
0 0 0 00 0 0 ε⊕ SNLF [ε]0 0 0 00 0 0 0
where ε = S [I 101 ⊕ f ]⊕ S [I 101 ]
CHES 2014 (South Korea, Busan) IIT KHARAGPUR September 24, 2014 14 / 48
FDTC 2013 Attack: Infection Caused by the CompulsoryDummy Round
3 The differential of R2 and β is:
R2 ⊕ β =
0 0 0 00 0 0 SNLF [ε]0 0 0 00 0 0 0
4 When R2 = β, RoundFunction(R2, k0)⊕ β = 0
5 When R2 6= β, RoundFunction(R2, k0)⊕ β 6= 0
6 ∴ RoundFunction(R2, k0)⊕ β =
0 0 ∆1 00 0 ∆2 00 0 ∆3 00 0 ∆4 0
CHES 2014 (South Korea, Busan) IIT KHARAGPUR September 24, 2014 15 / 48
FDTC 2013 Attack: Infection Caused by the CompulsoryDummy Round
3 The differential of R2 and β is:
R2 ⊕ β =
0 0 0 00 0 0 SNLF [ε]0 0 0 00 0 0 0
4 When R2 = β, RoundFunction(R2, k
0)⊕ β = 0
5 When R2 6= β, RoundFunction(R2, k0)⊕ β 6= 0
6 ∴ RoundFunction(R2, k0)⊕ β =
0 0 ∆1 00 0 ∆2 00 0 ∆3 00 0 ∆4 0
CHES 2014 (South Korea, Busan) IIT KHARAGPUR September 24, 2014 15 / 48
FDTC 2013 Attack: Infection Caused by the CompulsoryDummy Round
3 The differential of R2 and β is:
R2 ⊕ β =
0 0 0 00 0 0 SNLF [ε]0 0 0 00 0 0 0
4 When R2 = β, RoundFunction(R2, k
0)⊕ β = 0
5 When R2 6= β, RoundFunction(R2, k0)⊕ β 6= 0
6 ∴ RoundFunction(R2, k0)⊕ β =
0 0 ∆1 00 0 ∆2 00 0 ∆3 00 0 ∆4 0
CHES 2014 (South Korea, Busan) IIT KHARAGPUR September 24, 2014 15 / 48
FDTC 2013 Attack: Infection Caused by the CompulsoryDummy Round
3 The differential of R2 and β is:
R2 ⊕ β =
0 0 0 00 0 0 SNLF [ε]0 0 0 00 0 0 0
4 When R2 = β, RoundFunction(R2, k
0)⊕ β = 0
5 When R2 6= β, RoundFunction(R2, k0)⊕ β 6= 0
6 ∴ RoundFunction(R2, k0)⊕ β =
0 0 ∆1 00 0 ∆2 00 0 ∆3 00 0 ∆4 0
CHES 2014 (South Korea, Busan) IIT KHARAGPUR September 24, 2014 15 / 48
FDTC 2013 Attack: Final Difference
7 Infection caused by compulsory dummy round does not affect ε.
C ⊕ C ∗ =
0 0 ∆1 00 0 ∆2 ε⊕ SNLF [ε]0 0 ∆3 00 0 ∆4 0
8 Infection SNLF[ε] caused by 10th cipher round is ineffective.
9 Attacker uses the value of ε = S [I 101 ⊕ f ]⊕ S [I 10] to make hypotheseson I 101 and key byte k1113 .
10 Repeat this process with two more pairs of faulty and correctciphertexts, using constant byte fault model.
11 The attack targets last three rows of the 10th round input.
12 Recover remaining 4 bytes of top row using brute force search.
CHES 2014 (South Korea, Busan) IIT KHARAGPUR September 24, 2014 16 / 48
FDTC 2013 Attack: Final Difference
7 Infection caused by compulsory dummy round does not affect ε.
C ⊕ C ∗ =
0 0 ∆1 00 0 ∆2 ε⊕ SNLF [ε]0 0 ∆3 00 0 ∆4 0
8 Infection SNLF[ε] caused by 10th cipher round is ineffective.
9 Attacker uses the value of ε = S [I 101 ⊕ f ]⊕ S [I 10] to make hypotheseson I 101 and key byte k1113 .
10 Repeat this process with two more pairs of faulty and correctciphertexts, using constant byte fault model.
11 The attack targets last three rows of the 10th round input.
12 Recover remaining 4 bytes of top row using brute force search.
CHES 2014 (South Korea, Busan) IIT KHARAGPUR September 24, 2014 16 / 48
FDTC 2013 Attack: Final Difference
7 Infection caused by compulsory dummy round does not affect ε.
C ⊕ C ∗ =
0 0 ∆1 00 0 ∆2 ε⊕ SNLF [ε]0 0 ∆3 00 0 ∆4 0
8 Infection SNLF[ε] caused by 10th cipher round is ineffective.
9 Attacker uses the value of ε = S [I 101 ⊕ f ]⊕ S [I 10] to make hypotheseson I 101 and key byte k1113 .
10 Repeat this process with two more pairs of faulty and correctciphertexts, using constant byte fault model.
11 The attack targets last three rows of the 10th round input.
12 Recover remaining 4 bytes of top row using brute force search.
CHES 2014 (South Korea, Busan) IIT KHARAGPUR September 24, 2014 16 / 48
FDTC 2013 Attack: Final Difference
7 Infection caused by compulsory dummy round does not affect ε.
C ⊕ C ∗ =
0 0 ∆1 00 0 ∆2 ε⊕ SNLF [ε]0 0 ∆3 00 0 ∆4 0
8 Infection SNLF[ε] caused by 10th cipher round is ineffective.
9 Attacker uses the value of ε = S [I 101 ⊕ f ]⊕ S [I 10] to make hypotheseson I 101 and key byte k1113 .
10 Repeat this process with two more pairs of faulty and correctciphertexts, using constant byte fault model.
11 The attack targets last three rows of the 10th round input.
12 Recover remaining 4 bytes of top row using brute force search.
CHES 2014 (South Korea, Busan) IIT KHARAGPUR September 24, 2014 16 / 48
FDTC 2013 Attack: Final Difference
7 Infection caused by compulsory dummy round does not affect ε.
C ⊕ C ∗ =
0 0 ∆1 00 0 ∆2 ε⊕ SNLF [ε]0 0 ∆3 00 0 ∆4 0
8 Infection SNLF[ε] caused by 10th cipher round is ineffective.
9 Attacker uses the value of ε = S [I 101 ⊕ f ]⊕ S [I 10] to make hypotheseson I 101 and key byte k1113 .
10 Repeat this process with two more pairs of faulty and correctciphertexts, using constant byte fault model.
11 The attack targets last three rows of the 10th round input.
12 Recover remaining 4 bytes of top row using brute force search.
CHES 2014 (South Korea, Busan) IIT KHARAGPUR September 24, 2014 16 / 48
FDTC 2013 Attack: Final Difference
7 Infection caused by compulsory dummy round does not affect ε.
C ⊕ C ∗ =
0 0 ∆1 00 0 ∆2 ε⊕ SNLF [ε]0 0 ∆3 00 0 ∆4 0
8 Infection SNLF[ε] caused by 10th cipher round is ineffective.
9 Attacker uses the value of ε = S [I 101 ⊕ f ]⊕ S [I 10] to make hypotheseson I 101 and key byte k1113 .
10 Repeat this process with two more pairs of faulty and correctciphertexts, using constant byte fault model.
11 The attack targets last three rows of the 10th round input.
12 Recover remaining 4 bytes of top row using brute force search.
CHES 2014 (South Korea, Busan) IIT KHARAGPUR September 24, 2014 16 / 48
Flaws Exploited by FDTC 2013 attack
1 The last cipher round is always the penultimate round: The attackercan verify target round using side channel.
2 A fault in last three rows of 10th round =⇒Infection caused by compulsory dummy round does not affect theerroneous byte.
Remark
What happens if the infection caused by compulsory dummy round affectsthe erroneous byte of 10th round??
CHES 2014 (South Korea, Busan) IIT KHARAGPUR September 24, 2014 17 / 48
Flaws Exploited by FDTC 2013 attack
1 The last cipher round is always the penultimate round: The attackercan verify target round using side channel.
2 A fault in last three rows of 10th round =⇒Infection caused by compulsory dummy round does not affect theerroneous byte.
Remark
What happens if the infection caused by compulsory dummy round affectsthe erroneous byte of 10th round??
CHES 2014 (South Korea, Busan) IIT KHARAGPUR September 24, 2014 17 / 48
Further Loop Holes in LatinCrypt 2012Countermeasure
Extending FDTC 2013 Attack to the Top Row
Fault f in I 100 , i .e., first byte of the top row in the input of 10th
cipher round
Countermeasure infects the faulty computation twice
I After the execution of 10th cipher roundI After the execution of compulsory dummy round
CHES 2014 (South Korea, Busan) IIT KHARAGPUR September 24, 2014 18 / 48
Extending FDTC 2013 Attack to the Top Row
Fault f in I 100 , i .e., first byte of the top row in the input of 10th
cipher round
Countermeasure infects the faulty computation twice
I After the execution of 10th cipher roundI After the execution of compulsory dummy round
CHES 2014 (South Korea, Busan) IIT KHARAGPUR September 24, 2014 18 / 48
Extending FDTC 2013 Attack to the Top Row
Fault f in I 100 , i .e., first byte of the top row in the input of 10th
cipher round
Countermeasure infects the faulty computation twice
I After the execution of 10th cipher roundI After the execution of compulsory dummy round
CHES 2014 (South Korea, Busan) IIT KHARAGPUR September 24, 2014 18 / 48
Extending FDTC 2013 Attack to the Top Row
Fault f in I 100 , i .e., first byte of the top row in the input of 10th
cipher round
Countermeasure infects the faulty computation twiceI After the execution of 10th cipher round
I After the execution of compulsory dummy round
CHES 2014 (South Korea, Busan) IIT KHARAGPUR September 24, 2014 18 / 48
Extending FDTC 2013 Attack to the Top Row
Fault f in I 100 , i .e., first byte of the top row in the input of 10th
cipher round
Countermeasure infects the faulty computation twiceI After the execution of 10th cipher roundI After the execution of compulsory dummy round
CHES 2014 (South Korea, Busan) IIT KHARAGPUR September 24, 2014 18 / 48
Extending FDTC 2013 Attack to the Top Row
f
Step 6
R0 R1
CHES 2014 (South Korea, Busan) IIT KHARAGPUR September 24, 2014 19 / 48
Extending FDTC 2013 Attack to the Top Row
ε
Step 6 Step 7
R0 R1
f
CHES 2014 (South Korea, Busan) IIT KHARAGPUR September 24, 2014 19 / 48
Extending FDTC 2013 Attack to the Top Row
Step 6 Step 7 Step 11
Step 10
SNLF[ε]
R0 R1
β R2
f εε SNLF[ε]
CHES 2014 (South Korea, Busan) IIT KHARAGPUR September 24, 2014 19 / 48
Extending FDTC 2013 Attack to the Top Row
Step 6 Step 7 Step 11
Step 10
β R2
R0 R1
f ε
SNLF[ε]
Step 14
α1 ∆1
α2 ∆2
α3 ∆3
α4 ∆4
ε SNLF[ε]
CHES 2014 (South Korea, Busan) IIT KHARAGPUR September 24, 2014 19 / 48
Extending FDTC 2013 Attack to the Top Row
α2
α3
α4
C C*
Step 6 Step 7
Step 14
Step 14
R0 R1
f ε
α1 ∆1
α2 ∆2
α3 ∆3
α4 ∆4
Step 10
β R2
SNLF[ε]
Step 11
ε SNLF[ε]
CHES 2014 (South Korea, Busan) IIT KHARAGPUR September 24, 2014 19 / 48
Extending FDTC 2013 Attack to the Top Row
1 The differential between correct (R1) and faulty computation (R0) is:f 0 0 00 0 0 00 0 0 00 0 0 0
—S—
ε 0 0 00 0 0 00 0 0 00 0 0 0
—SR—
ε 0 0 00 0 0 00 0 0 00 0 0 0
2 After Infection Step, the differential is:
R0 ⊕ R1 =
ε⊕ SNLF [ε] 0 0 0
0 0 0 00 0 0 00 0 0 0
where ε = S [I 100 ⊕ f ]⊕ S [I 100 ]
CHES 2014 (South Korea, Busan) IIT KHARAGPUR September 24, 2014 20 / 48
Extending FDTC 2013 Attack to the Top Row
1 The differential between correct (R1) and faulty computation (R0) is:f 0 0 00 0 0 00 0 0 00 0 0 0
—S—
ε 0 0 00 0 0 00 0 0 00 0 0 0
—SR—
ε 0 0 00 0 0 00 0 0 00 0 0 0
2 After Infection Step, the differential is:
R0 ⊕ R1 =
ε⊕ SNLF [ε] 0 0 0
0 0 0 00 0 0 00 0 0 0
where ε = S [I 100 ⊕ f ]⊕ S [I 100 ]
CHES 2014 (South Korea, Busan) IIT KHARAGPUR September 24, 2014 20 / 48
Extending FDTC 2013 Attack to the Top Row
1 The differential between correct (R1) and faulty computation (R0) is:f 0 0 00 0 0 00 0 0 00 0 0 0
—S—
ε 0 0 00 0 0 00 0 0 00 0 0 0
—SR—
ε 0 0 00 0 0 00 0 0 00 0 0 0
2 After Infection Step, the differential is:
R0 ⊕ R1 =
ε⊕ SNLF [ε] 0 0 0
0 0 0 00 0 0 00 0 0 0
where ε = S [I 100 ⊕ f ]⊕ S [I 100 ]
CHES 2014 (South Korea, Busan) IIT KHARAGPUR September 24, 2014 20 / 48
Extending FDTC 2013 Attack to the Top Row
1 The differential between correct (R1) and faulty computation (R0) is:f 0 0 00 0 0 00 0 0 00 0 0 0
—S—
ε 0 0 00 0 0 00 0 0 00 0 0 0
—SR—
ε 0 0 00 0 0 00 0 0 00 0 0 0
2 After Infection Step, the differential is:
R0 ⊕ R1 =
ε⊕ SNLF [ε] 0 0 0
0 0 0 00 0 0 00 0 0 0
where ε = S [I 100 ⊕ f ]⊕ S [I 100 ]
CHES 2014 (South Korea, Busan) IIT KHARAGPUR September 24, 2014 20 / 48
Extending FDTC 2013 Attack to the Top Row
3 The differential of R2 and β is:
R2 ⊕ β =
SNLF [ε] 0 0 0
0 0 0 00 0 0 00 0 0 0
4 RoundFunction(R2, k0)⊕ β =
α1 0 0 0α2 0 0 0α3 0 0 0α4 0 0 0
CHES 2014 (South Korea, Busan) IIT KHARAGPUR September 24, 2014 21 / 48
Extending FDTC 2013 Attack to the Top Row
3 The differential of R2 and β is:
R2 ⊕ β =
SNLF [ε] 0 0 0
0 0 0 00 0 0 00 0 0 0
4 RoundFunction(R2, k
0)⊕ β =α1 0 0 0α2 0 0 0α3 0 0 0α4 0 0 0
CHES 2014 (South Korea, Busan) IIT KHARAGPUR September 24, 2014 21 / 48
Extending FDTC 2013 Attack to the Top Row
5 Infection caused by compulsory dummy round affects ε.
C ⊕ C ∗ =
α1 ⊕ ε⊕ SNLF [ε] 0 0 0
α2 0 0 0α3 0 0 0α4 0 0 0
6 Attack of FDTC 2013 will not work.
7 α1 has to be unmasked.
We show that αi are interrelated and infection caused by compulsorydummy round is ineffective.
CHES 2014 (South Korea, Busan) IIT KHARAGPUR September 24, 2014 22 / 48
Extending FDTC 2013 Attack to the Top Row
5 Infection caused by compulsory dummy round affects ε.
C ⊕ C ∗ =
α1 ⊕ ε⊕ SNLF [ε] 0 0 0
α2 0 0 0α3 0 0 0α4 0 0 0
6 Attack of FDTC 2013 will not work.
7 α1 has to be unmasked.
We show that αi are interrelated and infection caused by compulsorydummy round is ineffective.
CHES 2014 (South Korea, Busan) IIT KHARAGPUR September 24, 2014 22 / 48
Extending FDTC 2013 Attack to the Top Row
5 Infection caused by compulsory dummy round affects ε.
C ⊕ C ∗ =
α1 ⊕ ε⊕ SNLF [ε] 0 0 0
α2 0 0 0α3 0 0 0α4 0 0 0
6 Attack of FDTC 2013 will not work.
7 α1 has to be unmasked.
We show that αi are interrelated and infection caused by compulsorydummy round is ineffective.
CHES 2014 (South Korea, Busan) IIT KHARAGPUR September 24, 2014 22 / 48
Extending FDTC 2013 Attack to the Top Row
5 Infection caused by compulsory dummy round affects ε.
C ⊕ C ∗ =
α1 ⊕ ε⊕ SNLF [ε] 0 0 0
α2 0 0 0α3 0 0 0α4 0 0 0
6 Attack of FDTC 2013 will not work.
7 α1 has to be unmasked.
We show that αi are interrelated and infection caused by compulsorydummy round is ineffective.
CHES 2014 (South Korea, Busan) IIT KHARAGPUR September 24, 2014 22 / 48
A Major Flaw in the Infection Scheme
Since RoundFunction(β, k0) = β we can write:
RoundFunction(R2, k0)⊕ β = RoundFunction(R2, k
0)⊕ RoundFunction(β, k0)
= MC (SR(S(R2)))⊕ k0 ⊕MC (SR(S(β)))⊕ k0
= MC (SR(S(R2)))⊕MC (SR(S(β)))
= MC (SR(S(R2)⊕ S(β)))
1 When R2 = β, RoundFunction(R2, k0)⊕ β = 0
2 When R2 6= β, RoundFunction(R2, k0)⊕ β 6= 0
CHES 2014 (South Korea, Busan) IIT KHARAGPUR September 24, 2014 23 / 48
A Major Flaw in the Infection Scheme
Since RoundFunction(β, k0) = β we can write:
RoundFunction(R2, k0)⊕ β = RoundFunction(R2, k
0)⊕ RoundFunction(β, k0)
= MC (SR(S(R2)))⊕ k0 ⊕MC (SR(S(β)))⊕ k0
= MC (SR(S(R2)))⊕MC (SR(S(β)))
= MC (SR(S(R2)⊕ S(β)))
1 When R2 = β, RoundFunction(R2, k0)⊕ β = 0
2 When R2 6= β, RoundFunction(R2, k0)⊕ β 6= 0
CHES 2014 (South Korea, Busan) IIT KHARAGPUR September 24, 2014 23 / 48
A Major Flaw in the Infection Scheme
Since RoundFunction(β, k0) = β we can write:
RoundFunction(R2, k0)⊕ β = RoundFunction(R2, k
0)⊕ RoundFunction(β, k0)
= MC (SR(S(R2)))⊕ k0 ⊕MC (SR(S(β)))⊕ k0
= MC (SR(S(R2)))⊕MC (SR(S(β)))
= MC (SR(S(R2)⊕ S(β)))
1 When R2 = β, RoundFunction(R2, k0)⊕ β = 0
2 When R2 6= β, RoundFunction(R2, k0)⊕ β 6= 0
CHES 2014 (South Korea, Busan) IIT KHARAGPUR September 24, 2014 23 / 48
A Major Flaw in the Infection Scheme
Since RoundFunction(β, k0) = β we can write:
RoundFunction(R2, k0)⊕ β = RoundFunction(R2, k
0)⊕ RoundFunction(β, k0)
= MC (SR(S(R2)))⊕ k0 ⊕MC (SR(S(β)))⊕ k0
= MC (SR(S(R2)))⊕MC (SR(S(β)))
= MC (SR(S(R2)⊕ S(β)))
1 When R2 = β, RoundFunction(R2, k0)⊕ β = 0
2 When R2 6= β, RoundFunction(R2, k0)⊕ β 6= 0
CHES 2014 (South Korea, Busan) IIT KHARAGPUR September 24, 2014 23 / 48
A Major Flaw in the Infection Scheme
Since RoundFunction(β, k0) = β we can write:
RoundFunction(R2, k0)⊕ β = RoundFunction(R2, k
0)⊕ RoundFunction(β, k0)
= MC (SR(S(R2)))⊕ k0 ⊕MC (SR(S(β)))⊕ k0
= MC (SR(S(R2)))⊕MC (SR(S(β)))
= MC (SR(S(R2)⊕ S(β)))
1 When R2 = β, RoundFunction(R2, k0)⊕ β = 0
2 When R2 6= β, RoundFunction(R2, k0)⊕ β 6= 0
CHES 2014 (South Korea, Busan) IIT KHARAGPUR September 24, 2014 23 / 48
A Major Flaw in the Infection Scheme
Since RoundFunction(β, k0) = β we can write:
RoundFunction(R2, k0)⊕ β = RoundFunction(R2, k
0)⊕ RoundFunction(β, k0)
= MC (SR(S(R2)))⊕ k0 ⊕MC (SR(S(β)))⊕ k0
= MC (SR(S(R2)))⊕MC (SR(S(β)))
= MC (SR(S(R2)⊕ S(β)))
1 When R2 = β, RoundFunction(R2, k0)⊕ β = 0
2 When R2 6= β, RoundFunction(R2, k0)⊕ β 6= 0
CHES 2014 (South Korea, Busan) IIT KHARAGPUR September 24, 2014 23 / 48
Infection Removal of Compulsory Dummy Round
3 The differential of R2 and β is:
R2 ⊕ β =
SNLF [ε] 0 0 0
0 0 0 00 0 0 00 0 0 0
4 RoundFunction(R2, k0)⊕ β = MC (SR(S(R2)⊕ S(β)))
SNLF [ε] 0 0 00 0 0 00 0 0 00 0 0 0
–S & SR–
y 0 0 00 0 0 00 0 0 00 0 0 0
–MC–
2y 0 0 01y 0 0 01y 0 0 03y 0 0 0
CHES 2014 (South Korea, Busan) IIT KHARAGPUR September 24, 2014 24 / 48
Infection Removal of Compulsory Dummy Round
3 The differential of R2 and β is:
R2 ⊕ β =
SNLF [ε] 0 0 0
0 0 0 00 0 0 00 0 0 0
4 RoundFunction(R2, k
0)⊕ β = MC (SR(S(R2)⊕ S(β)))SNLF [ε] 0 0 0
0 0 0 00 0 0 00 0 0 0
–S & SR–
y 0 0 00 0 0 00 0 0 00 0 0 0
–MC–
2y 0 0 01y 0 0 01y 0 0 03y 0 0 0
CHES 2014 (South Korea, Busan) IIT KHARAGPUR September 24, 2014 24 / 48
Infection Removal of Compulsory Dummy Round
3 The differential of R2 and β is:
R2 ⊕ β =
SNLF [ε] 0 0 0
0 0 0 00 0 0 00 0 0 0
4 RoundFunction(R2, k
0)⊕ β = MC (SR(S(R2)⊕ S(β)))SNLF [ε] 0 0 0
0 0 0 00 0 0 00 0 0 0
–S & SR–
y 0 0 00 0 0 00 0 0 00 0 0 0
–MC–
2y 0 0 01y 0 0 01y 0 0 03y 0 0 0
CHES 2014 (South Korea, Busan) IIT KHARAGPUR September 24, 2014 24 / 48
Infection Removal of Compulsory Dummy Round
3 The differential of R2 and β is:
R2 ⊕ β =
SNLF [ε] 0 0 0
0 0 0 00 0 0 00 0 0 0
4 RoundFunction(R2, k
0)⊕ β = MC (SR(S(R2)⊕ S(β)))SNLF [ε] 0 0 0
0 0 0 00 0 0 00 0 0 0
–S & SR–
y 0 0 00 0 0 00 0 0 00 0 0 0
–MC–
2y 0 0 01y 0 0 01y 0 0 03y 0 0 0
CHES 2014 (South Korea, Busan) IIT KHARAGPUR September 24, 2014 24 / 48
Infection Removal of Compulsory Dummy Round
5 Therefore we can write the difference between correct and faultycomputation as:
C ⊕ C ∗ =
2y ⊕ ε⊕ SNLF [ε] 0 0 0
1y 0 0 01y 0 0 03y 0 0 0
6 y can be deduced from the above matrix.
7 2y can be unmasked.
8 And the attack of FDTC 2013 can be mounted.
9 Now, this attack can target any 12 bytes of 10th round input.
CHES 2014 (South Korea, Busan) IIT KHARAGPUR September 24, 2014 25 / 48
Infection Removal of Compulsory Dummy Round
5 Therefore we can write the difference between correct and faultycomputation as:
C ⊕ C ∗ =
2y ⊕ ε⊕ SNLF [ε] 0 0 0
1y 0 0 01y 0 0 03y 0 0 0
6 y can be deduced from the above matrix.
7 2y can be unmasked.
8 And the attack of FDTC 2013 can be mounted.
9 Now, this attack can target any 12 bytes of 10th round input.
CHES 2014 (South Korea, Busan) IIT KHARAGPUR September 24, 2014 25 / 48
Infection Removal of Compulsory Dummy Round
5 Therefore we can write the difference between correct and faultycomputation as:
C ⊕ C ∗ =
2y ⊕ ε⊕ SNLF [ε] 0 0 0
1y 0 0 01y 0 0 03y 0 0 0
6 y can be deduced from the above matrix.
7 2y can be unmasked.
8 And the attack of FDTC 2013 can be mounted.
9 Now, this attack can target any 12 bytes of 10th round input.
CHES 2014 (South Korea, Busan) IIT KHARAGPUR September 24, 2014 25 / 48
Infection Removal of Compulsory Dummy Round
5 Therefore we can write the difference between correct and faultycomputation as:
C ⊕ C ∗ =
2y ⊕ ε⊕ SNLF [ε] 0 0 0
1y 0 0 01y 0 0 03y 0 0 0
6 y can be deduced from the above matrix.
7 2y can be unmasked.
8 And the attack of FDTC 2013 can be mounted.
9 Now, this attack can target any 12 bytes of 10th round input.
CHES 2014 (South Korea, Busan) IIT KHARAGPUR September 24, 2014 25 / 48
Infection Removal of Compulsory Dummy Round
5 Therefore we can write the difference between correct and faultycomputation as:
C ⊕ C ∗ =
2y ⊕ ε⊕ SNLF [ε] 0 0 0
1y 0 0 01y 0 0 03y 0 0 0
6 y can be deduced from the above matrix.
7 2y can be unmasked.
8 And the attack of FDTC 2013 can be mounted.
9 Now, this attack can target any 12 bytes of 10th round input.
CHES 2014 (South Korea, Busan) IIT KHARAGPUR September 24, 2014 25 / 48
FDTC 2013 Attack Extended to the Top Row
1y
1y
3y
C C*
Step 6 Step 7
Step 14
Step 14
R0 R1
f ε
2y ∆1
1y ∆2
1y ∆3
3y ∆4
Step 10
β R2
SNLF[ε]
Step 11
ε SNLF[ε]
CHES 2014 (South Korea, Busan) IIT KHARAGPUR September 24, 2014 26 / 48
Piret and Quisquater’s Attack
Relaxing the Restrictions of FDTC 2013 Attack
1 The attack assumes constant byte fault model which requiresprecise control over fault position and value.
2 The attack can retrieve only last 3 rows of k11 using 12*3 = 36faults.
3 The top row of k11 has to be recoverd using brute force search.
CHES 2014 (South Korea, Busan) IIT KHARAGPUR September 24, 2014 27 / 48
Relaxing the Restrictions of FDTC 2013 Attack
1 The attack assumes constant byte fault model which requiresprecise control over fault position and value.
2 The attack can retrieve only last 3 rows of k11 using 12*3 = 36faults.
3 The top row of k11 has to be recoverd using brute force search.
CHES 2014 (South Korea, Busan) IIT KHARAGPUR September 24, 2014 27 / 48
Relaxing the Restrictions of FDTC 2013 Attack
1 The attack assumes constant byte fault model which requiresprecise control over fault position and value.
2 The attack can retrieve only last 3 rows of k11 using 12*3 = 36faults.
3 The top row of k11 has to be recoverd using brute force search.
CHES 2014 (South Korea, Busan) IIT KHARAGPUR September 24, 2014 27 / 48
Relaxing the Restrictions of FDTC 2013 Attack
1 The attack assumes constant byte fault model which requiresprecise control over fault position and value.
2 The attack can retrieve only last 3 rows of k11 using 12*3 = 36faults.
3 The top row of k11 has to be recoverd using brute force search.
CHES 2014 (South Korea, Busan) IIT KHARAGPUR September 24, 2014 27 / 48
Piret and Quisquater’s Attack in absence of RandomDummy Rounds
The attack targets the penultimate round of AES, e.g, in case ofAES128, input of 9th round is the target.
Fault f in I 90 , i .e., first byte of the top row in the input of 9th cipherround
Countermeasure infects faulty computation thrice
I After the execution of 9th cipher roundI After the execution of 10th cipher roundI After the execution of compulsory dummy round
CHES 2014 (South Korea, Busan) IIT KHARAGPUR September 24, 2014 28 / 48
Piret and Quisquater’s Attack in absence of RandomDummy Rounds
The attack targets the penultimate round of AES, e.g, in case ofAES128, input of 9th round is the target.
Fault f in I 90 , i .e., first byte of the top row in the input of 9th cipherround
Countermeasure infects faulty computation thrice
I After the execution of 9th cipher roundI After the execution of 10th cipher roundI After the execution of compulsory dummy round
CHES 2014 (South Korea, Busan) IIT KHARAGPUR September 24, 2014 28 / 48
Piret and Quisquater’s Attack in absence of RandomDummy Rounds
The attack targets the penultimate round of AES, e.g, in case ofAES128, input of 9th round is the target.
Fault f in I 90 , i .e., first byte of the top row in the input of 9th cipherround
Countermeasure infects faulty computation thrice
I After the execution of 9th cipher roundI After the execution of 10th cipher roundI After the execution of compulsory dummy round
CHES 2014 (South Korea, Busan) IIT KHARAGPUR September 24, 2014 28 / 48
Piret and Quisquater’s Attack in absence of RandomDummy Rounds
The attack targets the penultimate round of AES, e.g, in case ofAES128, input of 9th round is the target.
Fault f in I 90 , i .e., first byte of the top row in the input of 9th cipherround
Countermeasure infects faulty computation thriceI After the execution of 9th cipher round
I After the execution of 10th cipher roundI After the execution of compulsory dummy round
CHES 2014 (South Korea, Busan) IIT KHARAGPUR September 24, 2014 28 / 48
Piret and Quisquater’s Attack in absence of RandomDummy Rounds
The attack targets the penultimate round of AES, e.g, in case ofAES128, input of 9th round is the target.
Fault f in I 90 , i .e., first byte of the top row in the input of 9th cipherround
Countermeasure infects faulty computation thriceI After the execution of 9th cipher roundI After the execution of 10th cipher round
I After the execution of compulsory dummy round
CHES 2014 (South Korea, Busan) IIT KHARAGPUR September 24, 2014 28 / 48
Piret and Quisquater’s Attack in absence of RandomDummy Rounds
The attack targets the penultimate round of AES, e.g, in case ofAES128, input of 9th round is the target.
Fault f in I 90 , i .e., first byte of the top row in the input of 9th cipherround
Countermeasure infects faulty computation thriceI After the execution of 9th cipher roundI After the execution of 10th cipher roundI After the execution of compulsory dummy round
CHES 2014 (South Korea, Busan) IIT KHARAGPUR September 24, 2014 28 / 48
Differential after 9th round
1 Without Countermeasure
R0 ⊕ R1 =
2f ′ 0 0 0f ′ 0 0 0f ′ 0 0 0
3f ′ 0 0 0
2 With Countermeasure
R0 ⊕ R1 =
2f ′ ⊕ SNLF [2f ′] 0 0 0f ′ ⊕ SNLF [f ′] 0 0 0f ′ ⊕ SNLF [f ′] 0 0 0
3f ′ ⊕ SNLF [3f ′] 0 0 0
CHES 2014 (South Korea, Busan) IIT KHARAGPUR September 24, 2014 29 / 48
Differential after 9th round
1 Without Countermeasure
R0 ⊕ R1 =
2f ′ 0 0 0f ′ 0 0 0f ′ 0 0 0
3f ′ 0 0 0
2 With Countermeasure
R0 ⊕ R1 =
2f ′ ⊕ SNLF [2f ′] 0 0 0f ′ ⊕ SNLF [f ′] 0 0 0f ′ ⊕ SNLF [f ′] 0 0 0
3f ′ ⊕ SNLF [3f ′] 0 0 0
CHES 2014 (South Korea, Busan) IIT KHARAGPUR September 24, 2014 29 / 48
Differential after 10th round
1 Without Countermeasure
R0 ⊕ R1 =
S[I 100 ] ⊕ S[I 100 ⊕ P0] 0 0 0
0 0 0 S[I 101 ] ⊕ S[I 101 ⊕ P1]
0 0 S[I 102 ] ⊕ S[I 102 ⊕ P2] 0
0 S[I 103 ] ⊕ S[I 103 ⊕ P3] 0 0
2 With Countermeasure
R0 ⊕ R1 =
z0 ⊕ SNLF [z0] 0 0 0
0 0 0 z1 ⊕ SNLF [z1]0 0 z2 ⊕ SNLF [z2] 00 z3 ⊕ SNLF [z3] 0 0
where zi = S [I 10i ] ⊕ S [I 10i ⊕ Pi ⊕ SNLF [Pi ]], i ∈ {0, . . . , 3}.
CHES 2014 (South Korea, Busan) IIT KHARAGPUR September 24, 2014 30 / 48
Differential after 10th round
1 Without Countermeasure
R0 ⊕ R1 =
S[I 100 ] ⊕ S[I 100 ⊕ P0] 0 0 0
0 0 0 S[I 101 ] ⊕ S[I 101 ⊕ P1]
0 0 S[I 102 ] ⊕ S[I 102 ⊕ P2] 0
0 S[I 103 ] ⊕ S[I 103 ⊕ P3] 0 0
2 With Countermeasure
R0 ⊕ R1 =
z0 ⊕ SNLF [z0] 0 0 0
0 0 0 z1 ⊕ SNLF [z1]0 0 z2 ⊕ SNLF [z2] 00 z3 ⊕ SNLF [z3] 0 0
where zi = S [I 10i ] ⊕ S [I 10i ⊕ Pi ⊕ SNLF [Pi ]], i ∈ {0, . . . , 3}.
CHES 2014 (South Korea, Busan) IIT KHARAGPUR September 24, 2014 30 / 48
Equations for the keys
1 Without Countermeasure
2 · f ′ = S−1[T0 ⊕ k110 ]⊕ S−1[T ∗0 ⊕ k11
0 ]
1 · f ′ = S−1[T13 ⊕ k1113 ]⊕ S−1[T ∗13 ⊕ k11
13 ]
1 · f ′ = S−1[T10 ⊕ k1110 ]⊕ S−1[T ∗10 ⊕ k11
10 ]
3 · f ′ = S−1[T7 ⊕ k117 ]⊕ S−1[T ∗7 ⊕ k11
7 ]
where T and T ∗ is correct and faulty ciphertext resp.
2 With Countermeasure
2 · f ′ ⊕ SNLF [2 · f ′] = S−1[T0 ⊕ k110 ]⊕ S−1[T ∗0 ⊕ k110 ]
1 · f ′ ⊕ SNLF [1 · f ′] = S−1[T13 ⊕ k1113 ]⊕ S−1[T ∗13 ⊕ k1113 ]
1 · f ′ ⊕ SNLF [1 · f ′] = S−1[T10 ⊕ k1110 ]⊕ S−1[T ∗10 ⊕ k1110 ]
3 · f ′ ⊕ SNLF [3 · f ′] = S−1[T7 ⊕ k117 ]⊕ S−1[T ∗7 ⊕ k117 ]
where T and T ∗ is correct and faulty ciphertext resp.
CHES 2014 (South Korea, Busan) IIT KHARAGPUR September 24, 2014 31 / 48
Equations for the keys
1 Without Countermeasure
2 · f ′ = S−1[T0 ⊕ k110 ]⊕ S−1[T ∗0 ⊕ k11
0 ]
1 · f ′ = S−1[T13 ⊕ k1113 ]⊕ S−1[T ∗13 ⊕ k11
13 ]
1 · f ′ = S−1[T10 ⊕ k1110 ]⊕ S−1[T ∗10 ⊕ k11
10 ]
3 · f ′ = S−1[T7 ⊕ k117 ]⊕ S−1[T ∗7 ⊕ k11
7 ]
where T and T ∗ is correct and faulty ciphertext resp.
2 With Countermeasure
2 · f ′ ⊕ SNLF [2 · f ′] = S−1[T0 ⊕ k110 ]⊕ S−1[T ∗0 ⊕ k110 ]
1 · f ′ ⊕ SNLF [1 · f ′] = S−1[T13 ⊕ k1113 ]⊕ S−1[T ∗13 ⊕ k1113 ]
1 · f ′ ⊕ SNLF [1 · f ′] = S−1[T10 ⊕ k1110 ]⊕ S−1[T ∗10 ⊕ k1110 ]
3 · f ′ ⊕ SNLF [3 · f ′] = S−1[T7 ⊕ k117 ]⊕ S−1[T ∗7 ⊕ k117 ]
where T and T ∗ is correct and faulty ciphertext resp.
CHES 2014 (South Korea, Busan) IIT KHARAGPUR September 24, 2014 31 / 48
Infection of Compulsory dummy round
1 Due to the presence of compulsory dummy round, the differencebetween the final faulty and correct ciphertext:
T ⊕ T ∗ =
m0 ⊕ cdr0 cdr4 cdr8 cdr12cdr1 cdr5 cdr9 m1 ⊕ cdr13cdr2 cdr6 m2 ⊕ cdr10 cdr14cdr3 m3 ⊕ cdr7 cdr11 cdr15
mj = zj ⊕ SNLF [zj ], j ∈ {0, . . . , 3}.
2 Using the relation:RoundFunction(R2, k
0)⊕ β = MC (SR(S(R2)⊕ S(β))) we have:
T ⊕ T ∗ =
m0 ⊕ g1(F1,F2) 1F3 h1(F4,F5,F6) 3F7
g2(F1,F2) 1F3 h2(F4,F5,F6) m1 ⊕ 2F7
g3(F1,F2) 3F3 m2 ⊕ h3(F4,F5,F6) 1F7
g4(F1,F2) m3 ⊕ 2F3 h4(F4,F5,F6) 1F7
Fi , i ∈ {1, . . . , 7} is infection caused by compulsory dummy round andgj and hj , j ∈ {1, . . . , 4} are linear functions.
CHES 2014 (South Korea, Busan) IIT KHARAGPUR September 24, 2014 32 / 48
Infection of Compulsory dummy round
1 Due to the presence of compulsory dummy round, the differencebetween the final faulty and correct ciphertext:
T ⊕ T ∗ =
m0 ⊕ cdr0 cdr4 cdr8 cdr12cdr1 cdr5 cdr9 m1 ⊕ cdr13cdr2 cdr6 m2 ⊕ cdr10 cdr14cdr3 m3 ⊕ cdr7 cdr11 cdr15
mj = zj ⊕ SNLF [zj ], j ∈ {0, . . . , 3}.
2 Using the relation:RoundFunction(R2, k
0)⊕ β = MC (SR(S(R2)⊕ S(β))) we have:
T ⊕ T ∗ =
m0 ⊕ g1(F1,F2) 1F3 h1(F4,F5,F6) 3F7
g2(F1,F2) 1F3 h2(F4,F5,F6) m1 ⊕ 2F7
g3(F1,F2) 3F3 m2 ⊕ h3(F4,F5,F6) 1F7
g4(F1,F2) m3 ⊕ 2F3 h4(F4,F5,F6) 1F7
Fi , i ∈ {1, . . . , 7} is infection caused by compulsory dummy round andgj and hj , j ∈ {1, . . . , 4} are linear functions.
CHES 2014 (South Korea, Busan) IIT KHARAGPUR September 24, 2014 32 / 48
P&Q’s Attack on LatinCrypt 2012 Countermeasure:Infection Removal
1 After removing infection caused by compulsory dummy round weobtain:
T ⊕ T ∗ =
m0 0 0 00 0 0 m1
0 0 m2 00 m3 0 0
where mj = zj ⊕ SNLF [zj ], j ∈ {0, . . . , 3}.
2 We can deduce zj(two possibilities) from mj which gives 24
possibilities for T ∗.3 Now, we can make hypotheses on 4 bytes of last round key k11.
2 · f ′ ⊕ SNLF [2 · f ′] = S−1[T0 ⊕ k110 ]⊕ S−1[T ∗0 ⊕ k110 ]
1 · f ′ ⊕ SNLF [1 · f ′] = S−1[T13 ⊕ k1113 ]⊕ S−1[T ∗13 ⊕ k1113 ]
1 · f ′ ⊕ SNLF [1 · f ′] = S−1[T10 ⊕ k1110 ]⊕ S−1[T ∗10 ⊕ k1110 ]
3 · f ′ ⊕ SNLF [3 · f ′] = S−1[T7 ⊕ k117 ]⊕ S−1[T ∗7 ⊕ k117 ]
CHES 2014 (South Korea, Busan) IIT KHARAGPUR September 24, 2014 33 / 48
P&Q’s Attack on LatinCrypt 2012 Countermeasure:Infection Removal
1 After removing infection caused by compulsory dummy round weobtain:
T ⊕ T ∗ =
m0 0 0 00 0 0 m1
0 0 m2 00 m3 0 0
where mj = zj ⊕ SNLF [zj ], j ∈ {0, . . . , 3}.
2 We can deduce zj(two possibilities) from mj which gives 24
possibilities for T ∗.
3 Now, we can make hypotheses on 4 bytes of last round key k11.
2 · f ′ ⊕ SNLF [2 · f ′] = S−1[T0 ⊕ k110 ]⊕ S−1[T ∗0 ⊕ k110 ]
1 · f ′ ⊕ SNLF [1 · f ′] = S−1[T13 ⊕ k1113 ]⊕ S−1[T ∗13 ⊕ k1113 ]
1 · f ′ ⊕ SNLF [1 · f ′] = S−1[T10 ⊕ k1110 ]⊕ S−1[T ∗10 ⊕ k1110 ]
3 · f ′ ⊕ SNLF [3 · f ′] = S−1[T7 ⊕ k117 ]⊕ S−1[T ∗7 ⊕ k117 ]
CHES 2014 (South Korea, Busan) IIT KHARAGPUR September 24, 2014 33 / 48
P&Q’s Attack on LatinCrypt 2012 Countermeasure:Infection Removal
1 After removing infection caused by compulsory dummy round weobtain:
T ⊕ T ∗ =
m0 0 0 00 0 0 m1
0 0 m2 00 m3 0 0
where mj = zj ⊕ SNLF [zj ], j ∈ {0, . . . , 3}.
2 We can deduce zj(two possibilities) from mj which gives 24
possibilities for T ∗.3 Now, we can make hypotheses on 4 bytes of last round key k11.
2 · f ′ ⊕ SNLF [2 · f ′] = S−1[T0 ⊕ k110 ]⊕ S−1[T ∗0 ⊕ k110 ]
1 · f ′ ⊕ SNLF [1 · f ′] = S−1[T13 ⊕ k1113 ]⊕ S−1[T ∗13 ⊕ k1113 ]
1 · f ′ ⊕ SNLF [1 · f ′] = S−1[T10 ⊕ k1110 ]⊕ S−1[T ∗10 ⊕ k1110 ]
3 · f ′ ⊕ SNLF [3 · f ′] = S−1[T7 ⊕ k117 ]⊕ S−1[T ∗7 ⊕ k117 ]CHES 2014 (South Korea, Busan) IIT KHARAGPUR September 24, 2014 33 / 48
Complexity Analysis
1 24 values of T ∗ gives 24 ∗ 1036 candidate values for 4 bytes of k11.
2 Repeating the attack with another pair of faulty and correctciphertext gives atmost 2 candidate values.
3 Total 8 faulty ciphertexts required to retrieve all 16 bytes of k11.
CHES 2014 (South Korea, Busan) IIT KHARAGPUR September 24, 2014 34 / 48
Complexity Analysis
1 24 values of T ∗ gives 24 ∗ 1036 candidate values for 4 bytes of k11.
2 Repeating the attack with another pair of faulty and correctciphertext gives atmost 2 candidate values.
3 Total 8 faulty ciphertexts required to retrieve all 16 bytes of k11.
CHES 2014 (South Korea, Busan) IIT KHARAGPUR September 24, 2014 34 / 48
Complexity Analysis
1 24 values of T ∗ gives 24 ∗ 1036 candidate values for 4 bytes of k11.
2 Repeating the attack with another pair of faulty and correctciphertext gives atmost 2 candidate values.
3 Total 8 faulty ciphertexts required to retrieve all 16 bytes of k11.
CHES 2014 (South Korea, Busan) IIT KHARAGPUR September 24, 2014 34 / 48
Attack in Presence of Random Dummy Rounds
Compulsory dummy round
10th Cipher Round
10th Redundant Round
9th Cipher Round
FavourableCase
CHES 2014 (South Korea, Busan) IIT KHARAGPUR September 24, 2014 35 / 48
Attack in Presence of Random Dummy Rounds
Compulsory dummy round
10th Cipher Round
10th Redundant Round
9th Cipher Round
Case 2
10th Red Round Random Dummy
FavourableCase
CHES 2014 (South Korea, Busan) IIT KHARAGPUR September 24, 2014 35 / 48
Attack in Presence of Random Dummy Rounds
Compulsory dummy round
10th Cipher Round
10th Redundant Round
9th Cipher Round
Case 2
10th Red Round Random Dummy
Random Dummy 10th Red Round
Case 3
FavourableCase
CHES 2014 (South Korea, Busan) IIT KHARAGPUR September 24, 2014 35 / 48
Attack in Presence of Random Dummy Rounds
Compulsory dummy round
10th Cipher Round
10th Redundant Round
9th Cipher Round
Case 2
10th Red Round Random Dummy
Random Dummy 10th Red Round
Case 3
Random Dummy Random Dummy
Case 4
FavourableCase
CHES 2014 (South Korea, Busan) IIT KHARAGPUR September 24, 2014 35 / 48
Attack in Presence of Random Dummy Rounds
1 Number of random dummy rounds : d
2 Total number of rounds : 22 + d + 1
3 Target round of fault injection : (22 + d − 2)th RoundFunction.
4 (22 + d)th RoundFunction: 10th cipher round.
5 ∴ The probability of (22 + d − 2)th RoundFunction being a 9th cipher
round: (19+d)!/((19)!·(d)!)(21+d)!/((21)!·(d)!)
6 If d = 20 then the probability that 40th RoundFunction is a 9th cipherround is nearly 0.26.
CHES 2014 (South Korea, Busan) IIT KHARAGPUR September 24, 2014 36 / 48
Attack in Presence of Random Dummy Rounds
1 Number of random dummy rounds : d
2 Total number of rounds : 22 + d + 1
3 Target round of fault injection : (22 + d − 2)th RoundFunction.
4 (22 + d)th RoundFunction: 10th cipher round.
5 ∴ The probability of (22 + d − 2)th RoundFunction being a 9th cipher
round: (19+d)!/((19)!·(d)!)(21+d)!/((21)!·(d)!)
6 If d = 20 then the probability that 40th RoundFunction is a 9th cipherround is nearly 0.26.
CHES 2014 (South Korea, Busan) IIT KHARAGPUR September 24, 2014 36 / 48
Attack in Presence of Random Dummy Rounds
1 Number of random dummy rounds : d
2 Total number of rounds : 22 + d + 1
3 Target round of fault injection : (22 + d − 2)th RoundFunction.
4 (22 + d)th RoundFunction: 10th cipher round.
5 ∴ The probability of (22 + d − 2)th RoundFunction being a 9th cipher
round: (19+d)!/((19)!·(d)!)(21+d)!/((21)!·(d)!)
6 If d = 20 then the probability that 40th RoundFunction is a 9th cipherround is nearly 0.26.
CHES 2014 (South Korea, Busan) IIT KHARAGPUR September 24, 2014 36 / 48
Attack in Presence of Random Dummy Rounds
1 Number of random dummy rounds : d
2 Total number of rounds : 22 + d + 1
3 Target round of fault injection : (22 + d − 2)th RoundFunction.
4 (22 + d)th RoundFunction: 10th cipher round.
5 ∴ The probability of (22 + d − 2)th RoundFunction being a 9th cipher
round: (19+d)!/((19)!·(d)!)(21+d)!/((21)!·(d)!)
6 If d = 20 then the probability that 40th RoundFunction is a 9th cipherround is nearly 0.26.
CHES 2014 (South Korea, Busan) IIT KHARAGPUR September 24, 2014 36 / 48
Attack in Presence of Random Dummy Rounds
1 Number of random dummy rounds : d
2 Total number of rounds : 22 + d + 1
3 Target round of fault injection : (22 + d − 2)th RoundFunction.
4 (22 + d)th RoundFunction: 10th cipher round.
5 ∴ The probability of (22 + d − 2)th RoundFunction being a 9th cipher
round: (19+d)!/((19)!·(d)!)(21+d)!/((21)!·(d)!)
6 If d = 20 then the probability that 40th RoundFunction is a 9th cipherround is nearly 0.26.
CHES 2014 (South Korea, Busan) IIT KHARAGPUR September 24, 2014 36 / 48
Attack in Presence of Random Dummy Rounds
1 Number of random dummy rounds : d
2 Total number of rounds : 22 + d + 1
3 Target round of fault injection : (22 + d − 2)th RoundFunction.
4 (22 + d)th RoundFunction: 10th cipher round.
5 ∴ The probability of (22 + d − 2)th RoundFunction being a 9th cipher
round: (19+d)!/((19)!·(d)!)(21+d)!/((21)!·(d)!)
6 If d = 20 then the probability that 40th RoundFunction is a 9th cipherround is nearly 0.26.
CHES 2014 (South Korea, Busan) IIT KHARAGPUR September 24, 2014 36 / 48
Simulation Results
0 5 10 15 20 25 30
0
100
200
300
400
Number of Random Dummy Rounds: d
Ave
rage
Nu
mb
erof
Fau
lty
En
cryp
tion
s
Figure: Piret & Quisquater’s Attack on Algorithm 1
CHES 2014 (South Korea, Busan) IIT KHARAGPUR September 24, 2014 37 / 48
Flaws in LatinCrypt 2012 Countermeasure
1 The last cipher round is always the penultimate round: The attackercan verify target round using side channel.
2 A fault in last three rows of 10th round =⇒Infection caused by compulsory dummy round does not affect theerroneous byte.
3 Countermeasure uses same value to infect erroneous as well asnon-erroneous byte.
4 The effect of infection varies for different rounds.
CHES 2014 (South Korea, Busan) IIT KHARAGPUR September 24, 2014 38 / 48
Flaws in LatinCrypt 2012 Countermeasure
1 The last cipher round is always the penultimate round: The attackercan verify target round using side channel.
2 A fault in last three rows of 10th round =⇒Infection caused by compulsory dummy round does not affect theerroneous byte.
3 Countermeasure uses same value to infect erroneous as well asnon-erroneous byte.
4 The effect of infection varies for different rounds.
CHES 2014 (South Korea, Busan) IIT KHARAGPUR September 24, 2014 38 / 48
Flaws in LatinCrypt 2012 Countermeasure
1 The last cipher round is always the penultimate round: The attackercan verify target round using side channel.
2 A fault in last three rows of 10th round =⇒Infection caused by compulsory dummy round does not affect theerroneous byte.
3 Countermeasure uses same value to infect erroneous as well asnon-erroneous byte.
4 The effect of infection varies for different rounds.
CHES 2014 (South Korea, Busan) IIT KHARAGPUR September 24, 2014 38 / 48
Flaws in LatinCrypt 2012 Countermeasure
1 The last cipher round is always the penultimate round: The attackercan verify target round using side channel.
2 A fault in last three rows of 10th round =⇒Infection caused by compulsory dummy round does not affect theerroneous byte.
3 Countermeasure uses same value to infect erroneous as well asnon-erroneous byte.
4 The effect of infection varies for different rounds.
CHES 2014 (South Korea, Busan) IIT KHARAGPUR September 24, 2014 38 / 48
Improved Countermeasure
Improved Countermeasure
Redundan
tCipher
BLFN
CHES 2014 (South Korea, Busan) IIT KHARAGPUR September 24, 2014 39 / 48
Improved Countermeasure
BLFN
Redundan
tCipher
BLFN
Dummy
β
CHES 2014 (South Korea, Busan) IIT KHARAGPUR September 24, 2014 39 / 48
Improved Countermeasure
Redundan
tCipher
BLFN BLFN
OR
γ δ Dummy
β
CHES 2014 (South Korea, Busan) IIT KHARAGPUR September 24, 2014 39 / 48
Improved Countermeasure
~x
Redundan
tCipher
BLFN BLFN
OR
γ δ Dummy
β
CHES 2014 (South Korea, Busan) IIT KHARAGPUR September 24, 2014 39 / 48
Improved Countermeasure
BLFN
Redundan
tCipher
BLFN
OR~x x
γ δ Dummy
β
CHES 2014 (South Korea, Busan) IIT KHARAGPUR September 24, 2014 39 / 48
Improved Countermeasure
~x
Redundan
tCipher
BLFN
Dummy
BLFN
OR
γ δ
OR x
Cipher
β
CHES 2014 (South Korea, Busan) IIT KHARAGPUR September 24, 2014 39 / 48
Improved Countermeasure
~x
Redund antCipher
BLFNDum
my
BLFN
OR
γ=0 δ=0
OR x
Cipher
β
1 0
Cipher Matrix
0
Zero Matrix
CHES 2014 (South Korea, Busan) IIT KHARAGPUR September 24, 2014 39 / 48
Improved Countermeasure
~x
Redundan
tCipher
BLFN
Dummy
BLFN
OR
γ=1 δ
OR x
Cipher
β
0 1
Zero Matrix
1
Random Matrix
CHES 2014 (South Korea, Busan) IIT KHARAGPUR September 24, 2014 39 / 48
Improved Countermeasure
1 Fault injection in any of the cipher, redundant or dummy round =⇒Every byte in the resulting ciphertext is infected with a differentvalue.
2 The resulting infected faulty ciphertext is completely random.
3 More than one random dummy round after the last cipher round.
4 The improved countermeasure protects both SPN ciphers and Feistelciphers.
CHES 2014 (South Korea, Busan) IIT KHARAGPUR September 24, 2014 40 / 48
Summary & Conclusion
1 The infection mechanism of LatinCrypt 2012 countermeasure isshown to be ineffective.
2 An improved countermeasure is developed, which outputs acompletely random value in case of fault injection so that fault attackis impossible.
CHES 2014 (South Korea, Busan) IIT KHARAGPUR September 24, 2014 41 / 48
Summary & Conclusion
1 The infection mechanism of LatinCrypt 2012 countermeasure isshown to be ineffective.
2 An improved countermeasure is developed, which outputs acompletely random value in case of fault injection so that fault attackis impossible.
CHES 2014 (South Korea, Busan) IIT KHARAGPUR September 24, 2014 41 / 48
Thank You !
CHES 2014 (South Korea, Busan) IIT KHARAGPUR September 24, 2014 42 / 48
References
1 D.Boneh, R.A.DeMillo, and R.J.Lipton. On the Importance ofChecking Cryptographic Protocols for Faults (ExtendedAbstract). InW. Fumy, editor, Advances in Cryptology - EUROCRYPT 97, volume1233 of Lecture Notes in Computer Science, pages 37-51. Springer,1997.
2 E.Biham and A.Shamir. Differential cryptanalysis of DES-likecryptosystems.In B.S. Kaliski (ed.) Advances in CryptologyCRYPTO 97, LNCS, vol. 1294, pp. 513-525. Springer (1997).
3 C.Giraud. DFA on AES. In H. Dobbertin, V. Rijmen, A. Sowa (eds.)AES Conference, Lecture Notes in Computer Science, vol. 3373, pp.27-41. Springer(2004).
4 J.Blomer and J-P.Seifert. Fault based cryptanalysis of the AdvancedEncryption Standard. In R.N. Wright (ed.) Financial Cryptography,Lecture Notes in Computer Science, vol. 2742, pp. 162-181. Springer(2003).
CHES 2014 (South Korea, Busan) IIT KHARAGPUR September 24, 2014 43 / 48
5 G.Piret and J.J.Quisquater. A Differential Fault Attack Techniqueagainst SPN Structures, with Application to the AES and KHAZAD .In Cryptographic Hardware and Embedded Systems - CHES 2003 ,volume 2779 Lecture Notes in Computer Science, pp 77-88. Springer,2003.
6 D.Mukhopadhyay. An Improved Fault Based Attack of the AdvancedEncryption Standard. In B. Preneel editor, AFRICACRYPT 2009,volume 5580 of Lecture Notes in Computer Science, pages421-434.Springer,2009.
7 Thomas Fuhr, Eliane Jaulmes, Victor Lomne, Adrian Thillard. FaultAttacks on AES with Faulty Ciphertexts Only, fdtc, pp.108-118, 2013.In Fault Diagnosis and Tolerance in Cryptography, 2013.
8 D.Mukhopadhyay, M.Tunstall, S.Ali. Differential Fault Analysis of theAdvanced Encryption Standard Using a Single Fault. In InformationSecurity Theory and Practice. Security and Privacy of Mobile Devicesin Wireless Communication 2011, Volume 6633 of Lecture Notes inComputer Science, pages 224-233 . Springer,2011.
CHES 2014 (South Korea, Busan) IIT KHARAGPUR September 24, 2014 44 / 48
9 R. Beaulieu, D. Shors, J. Smith, S. Treatman-Clark, B. Weeks, and L.Wingers. The SIMON and SPECK Families of Lightweight BlockCiphers. Cryptology ePrint Archive, Report 2013/404, 2013.Available at http://eprint.iacr.org/.
10 L. Genelle, C. Giraud, and E. Prouff. Securing AES ImplementationAgainst Fault Attacks. In L. Breveglieri, I. Koren, D. Naccache, E.Oswald, and J.-P. Seifert, editors, Fault Diagnosis and Tolerance inCryptography FDTC 2009. IEEE Computer Society, 2009.
11 M. Medwed and Jorn-Marc-Schmidt. A Continuous Fault Counter-measure for AES Providing a Constant Error Detection Rate. In L.Breveglieri, M. Joye, I. Koren, D. Naccache, and I. Verbauwhede,editors, FDTC. IEEE Computer Society, 2010.
12 M. Joye, P. Manet, and J.-B. Rigaud. Strengthening Hardware AESImplementations against Fault Attacks. IET Information Security,1:106-110, 2007.
CHES 2014 (South Korea, Busan) IIT KHARAGPUR September 24, 2014 45 / 48
13 J. Fournier, J.-B. Rigaud, S. Bouquet, B. Robisson, A. Tria, J.-M.Dutertre, and M. Agoyan. Design and Characterisation of an AESChip Embedding Countermeasures. International Journal ofIntelligent Engineering Informatics 2011, 1:328347, 2011.
14 T. Malkin, F.-X. Standaert, and M. Yung. A ComparativeCost/Security Analysis of Fault Attack Countermeasures. FaultDiagnosis and Tolerance in Cryptography(FDTC), 2006.
15 Lomne, V., Roche, T., Thillard, A. On The Need of Randomness inFault Attack Countermeasures-Application to AES. Fault Diagnosisand Tolerance in Cryptography(FDTC), 2012.
16 A.Battistello and C.Giraud. Fault Analysis of Infective AESComputations, fdtc, pp: 101-107, 2013. In Fault Diagnosis andTolerance in Cryptography, 2013. Also available at’http://ieeexplore.ieee.org/stamp/stamp.jsp?arnumber=06623560’.
CHES 2014 (South Korea, Busan) IIT KHARAGPUR September 24, 2014 46 / 48
17 Benedikt Gierlichs, Jorn-Marc Schmidt, Michael Tunstall: InfectiveComputation and Dummy Rounds: Fault Protection for BlockCiphers without Check-before-Output. In A. Hevia and G. Neven,editors, LATINCRYPT 2012, volume 7533 of LNCS, pages 305-321.Springer, 2012.
18 Daemen, J., Rijmen, V.: AES proposal: Rijndael (1999).
19 FIPS PUB 197: Advanced Encryption Standard (AES). FederalInformation Processing Standards Publication 197, National Instituteof Standards and Technology (NIST), Gaithersburg (2001).
20 R. Beaulieu, D. Shors, J. Smith, S. Treatman-Clark, B. Weeks, and L.Wingers. The SIMON and SPECK Families of Lightweight BlockCiphers. Cryptology ePrint Archive, Report 2013/404, 2013.Available at http://eprint.iacr.org/
CHES 2014 (South Korea, Busan) IIT KHARAGPUR September 24, 2014 47 / 48
21 H. A. Alkhzaimi and M. M. Lauridsen. Cryptanalysis of the SIMONFamily of Block Ciphers. Cryptology ePrint Archive, Report2013/543, 2013. Avaliable at http://eprint.iacr.org/
22 F. Abed, E. List, S. Lucks, and J. Wenzel. Differential Cryptanalysisof Reduced-Round Simon. Cryptology ePrint Archive, Report2013/526, 2013. Available at http://eprint.iacr.org/.
23 Javad Alizadeh, Nasour Bagheri, Praveen Gauravaram, AbhishekKumar and Somitra Kumar Sanadhya. Linear Cryptanalysis of RoundReduced SIMON. IACR Cryptology eprint Archive, Report 2013/663,2013. Available at http://eprint.iacr.org/2013/663
CHES 2014 (South Korea, Busan) IIT KHARAGPUR September 24, 2014 48 / 48