Top Banner
Fault Attacks on Public Keys ecile Canovas and Alexandre Berzati CEA-LETI Minatec et Universit ´ e de Versailles 5 Juin 2009
57

Cecile Canovas and Alexandre Berzati´ - LaBRI Attacks on Public Keys - Cecile Canovas and Alexandre Berzati´ j2 Asymmetric cryptography Introduction IFP-based algorithms DLP-based

Oct 21, 2018

Download

Documents

vuongthuan
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Cecile Canovas and Alexandre Berzati´ - LaBRI Attacks on Public Keys - Cecile Canovas and Alexandre Berzati´ j2 Asymmetric cryptography Introduction IFP-based algorithms DLP-based

Fault Attacks on Public KeysCecile Canovas and Alexandre Berzati

CEA-LETI Minatec et Universite de Versailles

5 Juin 2009

Page 2: Cecile Canovas and Alexandre Berzati´ - LaBRI Attacks on Public Keys - Cecile Canovas and Alexandre Berzati´ j2 Asymmetric cryptography Introduction IFP-based algorithms DLP-based

OutlineIntroduction IFP-based algorithms DLP-based algorithms ECDLP-based algorithms Conclusion

1 Introduction

2 IFP-based algorithms

3 DLP-based algorithms

4 ECDLP-based algorithms

5 Conclusion

Fault Attacks on Public Keys - Cecile Canovas and Alexandre Berzati | 2

Page 3: Cecile Canovas and Alexandre Berzati´ - LaBRI Attacks on Public Keys - Cecile Canovas and Alexandre Berzati´ j2 Asymmetric cryptography Introduction IFP-based algorithms DLP-based

Asymmetric cryptographyIntroduction IFP-based algorithms DLP-based algorithms ECDLP-based algorithms Conclusion

Signature

hash message m −−−−−−−−−−−−→computation

signature S ←−−−−−−−−−−−−

Fault Attacks on Public Keys - Cecile Canovas and Alexandre Berzati | 3

Page 4: Cecile Canovas and Alexandre Berzati´ - LaBRI Attacks on Public Keys - Cecile Canovas and Alexandre Berzati´ j2 Asymmetric cryptography Introduction IFP-based algorithms DLP-based

Asymmetric cryptographyIntroduction IFP-based algorithms DLP-based algorithms ECDLP-based algorithms Conclusion

Signature

hash message m −−−−−−−−−−−−→

computationsignature S ←−−−−−−−−−−−−

Fault Attacks on Public Keys - Cecile Canovas and Alexandre Berzati | 3

Page 5: Cecile Canovas and Alexandre Berzati´ - LaBRI Attacks on Public Keys - Cecile Canovas and Alexandre Berzati´ j2 Asymmetric cryptography Introduction IFP-based algorithms DLP-based

Asymmetric cryptographyIntroduction IFP-based algorithms DLP-based algorithms ECDLP-based algorithms Conclusion

Signature

hash message m −−−−−−−−−−−−→computation

signature S ←−−−−−−−−−−−−

Fault Attacks on Public Keys - Cecile Canovas and Alexandre Berzati | 3

Page 6: Cecile Canovas and Alexandre Berzati´ - LaBRI Attacks on Public Keys - Cecile Canovas and Alexandre Berzati´ j2 Asymmetric cryptography Introduction IFP-based algorithms DLP-based

Asymmetric cryptographyIntroduction IFP-based algorithms DLP-based algorithms ECDLP-based algorithms Conclusion

Signature

hash message m −−−−−−−−−−−−→

computation

signature S ←−−−−−−−−−−−−

Fault Attacks on Public Keys - Cecile Canovas and Alexandre Berzati | 3

Page 7: Cecile Canovas and Alexandre Berzati´ - LaBRI Attacks on Public Keys - Cecile Canovas and Alexandre Berzati´ j2 Asymmetric cryptography Introduction IFP-based algorithms DLP-based

Fault Attacks on Asymmetric cryptographyIntroduction IFP-based algorithms DLP-based algorithms ECDLP-based algorithms Conclusion

Differential Fault Analysis (DFA)

hash message m −−−−−−−−−−−−→computation

signature S ←−−−−−−−−−−−−

The key is recovered from the difference between S and S

Fault Attacks on Public Keys - Cecile Canovas and Alexandre Berzati | 4

Page 8: Cecile Canovas and Alexandre Berzati´ - LaBRI Attacks on Public Keys - Cecile Canovas and Alexandre Berzati´ j2 Asymmetric cryptography Introduction IFP-based algorithms DLP-based

Fault Attacks on Asymmetric cryptographyIntroduction IFP-based algorithms DLP-based algorithms ECDLP-based algorithms Conclusion

Differential Fault Analysis (DFA)

hash message m −−−−−−−−−−−−→computation

signature S ←−−−−−−−−−−−−

The key is recovered from the difference between S and S

Fault Attacks on Public Keys - Cecile Canovas and Alexandre Berzati | 4

Page 9: Cecile Canovas and Alexandre Berzati´ - LaBRI Attacks on Public Keys - Cecile Canovas and Alexandre Berzati´ j2 Asymmetric cryptography Introduction IFP-based algorithms DLP-based

Fault Attacks on Asymmetric cryptographyIntroduction IFP-based algorithms DLP-based algorithms ECDLP-based algorithms Conclusion

Differential Fault Analysis (DFA)

hash message m −−−−−−−−−−−−→computation

signature S ←−−−−−−−−−−−−

The key is recovered from the difference between S and S

Fault Attacks on Public Keys - Cecile Canovas and Alexandre Berzati | 4

Page 10: Cecile Canovas and Alexandre Berzati´ - LaBRI Attacks on Public Keys - Cecile Canovas and Alexandre Berzati´ j2 Asymmetric cryptography Introduction IFP-based algorithms DLP-based

Fault Attacks on Asymmetric cryptographyIntroduction IFP-based algorithms DLP-based algorithms ECDLP-based algorithms Conclusion

Differential Fault Analysis (DFA)

hash message m −−−−−−−−−−−−→

computation

signature S ←−−−−−−−−−−−−

The key is recovered from the difference between S and S

Fault Attacks on Public Keys - Cecile Canovas and Alexandre Berzati | 4

Page 11: Cecile Canovas and Alexandre Berzati´ - LaBRI Attacks on Public Keys - Cecile Canovas and Alexandre Berzati´ j2 Asymmetric cryptography Introduction IFP-based algorithms DLP-based

Fault Attacks on Asymmetric cryptographyIntroduction IFP-based algorithms DLP-based algorithms ECDLP-based algorithms Conclusion

Differential Fault Analysis (DFA)

hash message m −−−−−−−−−−−−→

computation

signature S ←−−−−−−−−−−−−

The key is recovered from the difference between S and S

Fault Attacks on Public Keys - Cecile Canovas and Alexandre Berzati | 4

Page 12: Cecile Canovas and Alexandre Berzati´ - LaBRI Attacks on Public Keys - Cecile Canovas and Alexandre Berzati´ j2 Asymmetric cryptography Introduction IFP-based algorithms DLP-based

Fault Attacks on Asymmetric cryptographyIntroduction IFP-based algorithms DLP-based algorithms ECDLP-based algorithms Conclusion

”Structure” Fault Attacks

hash message m −−−−−−−−−−−−→computation

signature S ←−−−−−−−−−−−−

The key is recovered from S because of the weak algebraic structure

Fault Attacks on Public Keys - Cecile Canovas and Alexandre Berzati | 5

Page 13: Cecile Canovas and Alexandre Berzati´ - LaBRI Attacks on Public Keys - Cecile Canovas and Alexandre Berzati´ j2 Asymmetric cryptography Introduction IFP-based algorithms DLP-based

Fault Attacks on Asymmetric cryptographyIntroduction IFP-based algorithms DLP-based algorithms ECDLP-based algorithms Conclusion

”Structure” Fault Attacks

hash message m −−−−−−−−−−−−→computation

signature S ←−−−−−−−−−−−−

The key is recovered from S because of the weak algebraic structure

Fault Attacks on Public Keys - Cecile Canovas and Alexandre Berzati | 5

Page 14: Cecile Canovas and Alexandre Berzati´ - LaBRI Attacks on Public Keys - Cecile Canovas and Alexandre Berzati´ j2 Asymmetric cryptography Introduction IFP-based algorithms DLP-based

Fault Attacks on Asymmetric cryptographyIntroduction IFP-based algorithms DLP-based algorithms ECDLP-based algorithms Conclusion

”Structure” Fault Attacks

hash message m −−−−−−−−−−−−→computation

signature S ←−−−−−−−−−−−−

The key is recovered from S because of the weak algebraic structure

Fault Attacks on Public Keys - Cecile Canovas and Alexandre Berzati | 5

Page 15: Cecile Canovas and Alexandre Berzati´ - LaBRI Attacks on Public Keys - Cecile Canovas and Alexandre Berzati´ j2 Asymmetric cryptography Introduction IFP-based algorithms DLP-based

Fault Attacks on Asymmetric cryptographyIntroduction IFP-based algorithms DLP-based algorithms ECDLP-based algorithms Conclusion

”Structure” Fault Attacks

hash message m −−−−−−−−−−−−→

computation

signature S ←−−−−−−−−−−−−

The key is recovered from S because of the weak algebraic structure

Fault Attacks on Public Keys - Cecile Canovas and Alexandre Berzati | 5

Page 16: Cecile Canovas and Alexandre Berzati´ - LaBRI Attacks on Public Keys - Cecile Canovas and Alexandre Berzati´ j2 Asymmetric cryptography Introduction IFP-based algorithms DLP-based

Fault Attacks on Asymmetric cryptographyIntroduction IFP-based algorithms DLP-based algorithms ECDLP-based algorithms Conclusion

”Structure” Fault Attacks

hash message m −−−−−−−−−−−−→

computation

signature S ←−−−−−−−−−−−−

The key is recovered from S because of the weak algebraic structure

Fault Attacks on Public Keys - Cecile Canovas and Alexandre Berzati | 5

Page 17: Cecile Canovas and Alexandre Berzati´ - LaBRI Attacks on Public Keys - Cecile Canovas and Alexandre Berzati´ j2 Asymmetric cryptography Introduction IFP-based algorithms DLP-based

OutlineIntroduction IFP-based algorithms DLP-based algorithms ECDLP-based algorithms Conclusion

1 Introduction

2 IFP-based algorithms

RSA Signature Scheme

Fault Attacks

3 DLP-based algorithms

4 ECDLP-based algorithms

5 Conclusion

Fault Attacks on Public Keys - Cecile Canovas and Alexandre Berzati | 6

Page 18: Cecile Canovas and Alexandre Berzati´ - LaBRI Attacks on Public Keys - Cecile Canovas and Alexandre Berzati´ j2 Asymmetric cryptography Introduction IFP-based algorithms DLP-based

RSA Signature SchemeIntroduction IFP-based algorithms DLP-based algorithms ECDLP-based algorithms Conclusion

Key generation• Pick large primes p and q and compute N = p · q• Pick a random e such that gcd(e, ϕ(N)) = 1• Compute d ≡ e−1 mod N• The public key is (e, N)• The private key is d

Signature

• Return S ≡ h(m)d mod N

Signature verification

• Check that Se ≡ h(m) mod N

Fault Attacks on Public Keys - Cecile Canovas and Alexandre Berzati | 7

Page 19: Cecile Canovas and Alexandre Berzati´ - LaBRI Attacks on Public Keys - Cecile Canovas and Alexandre Berzati´ j2 Asymmetric cryptography Introduction IFP-based algorithms DLP-based

RSA Signature SchemeIntroduction IFP-based algorithms DLP-based algorithms ECDLP-based algorithms Conclusion

Key generation• Pick large primes p and q and compute N = p · q• Pick a random e such that gcd(e, ϕ(N)) = 1• Compute d ≡ e−1 mod N• The public key is (e, N)• The private key is d

Signature• Return S ≡ h(m)d mod N

Signature verification

• Check that Se ≡ h(m) mod N

Fault Attacks on Public Keys - Cecile Canovas and Alexandre Berzati | 7

Page 20: Cecile Canovas and Alexandre Berzati´ - LaBRI Attacks on Public Keys - Cecile Canovas and Alexandre Berzati´ j2 Asymmetric cryptography Introduction IFP-based algorithms DLP-based

RSA Signature SchemeIntroduction IFP-based algorithms DLP-based algorithms ECDLP-based algorithms Conclusion

Key generation• Pick large primes p and q and compute N = p · q• Pick a random e such that gcd(e, ϕ(N)) = 1• Compute d ≡ e−1 mod N• The public key is (e, N)• The private key is d

Signature• Return S ≡ h(m)d mod N

Signature verification• Check that Se ≡ h(m) mod N

Fault Attacks on Public Keys - Cecile Canovas and Alexandre Berzati | 7

Page 21: Cecile Canovas and Alexandre Berzati´ - LaBRI Attacks on Public Keys - Cecile Canovas and Alexandre Berzati´ j2 Asymmetric cryptography Introduction IFP-based algorithms DLP-based

OutlineIntroduction IFP-based algorithms DLP-based algorithms ECDLP-based algorithms Conclusion

1 Introduction

2 IFP-based algorithms

RSA Signature Scheme

Fault Attacks

3 DLP-based algorithms

4 ECDLP-based algorithms

5 Conclusion

Fault Attacks on Public Keys - Cecile Canovas and Alexandre Berzati | 8

Page 22: Cecile Canovas and Alexandre Berzati´ - LaBRI Attacks on Public Keys - Cecile Canovas and Alexandre Berzati´ j2 Asymmetric cryptography Introduction IFP-based algorithms DLP-based

Why One Should Also Secure RSA Public Key Elements[BCMCC06]Introduction IFP-based algorithms DLP-based algorithms ECDLP-based algorithms Conclusion

Fault Model• The attacker performs a perturbation compaign by collecting

faulty signatures computed under unknown faulty moduli

Fault Analysis• From some faulty signatures, the attacker recovers small residues of

d by solving small D.L.• The whole d is recovered with the Chinese Remainder Theorem

Variant• Use of a constrained fault model and moduli dictionary

Fault Attacks on Public Keys - Cecile Canovas and Alexandre Berzati | 9

Page 23: Cecile Canovas and Alexandre Berzati´ - LaBRI Attacks on Public Keys - Cecile Canovas and Alexandre Berzati´ j2 Asymmetric cryptography Introduction IFP-based algorithms DLP-based

Why One Should Also Secure RSA Public Key Elements[BCMCC06]Introduction IFP-based algorithms DLP-based algorithms ECDLP-based algorithms Conclusion

Fault Model• The attacker performs a perturbation compaign by collecting

faulty signatures computed under unknown faulty moduli

Fault Analysis• From some faulty signatures, the attacker recovers small residues of

d by solving small D.L.• The whole d is recovered with the Chinese Remainder Theorem

Variant• Use of a constrained fault model and moduli dictionary

Fault Attacks on Public Keys - Cecile Canovas and Alexandre Berzati | 9

Page 24: Cecile Canovas and Alexandre Berzati´ - LaBRI Attacks on Public Keys - Cecile Canovas and Alexandre Berzati´ j2 Asymmetric cryptography Introduction IFP-based algorithms DLP-based

Fault Attacks on RSA Public Keys [BCDG09]Introduction IFP-based algorithms DLP-based algorithms ECDLP-based algorithms Conclusion

Fault Model• A byte of the modulus is corrupted during the exponentiation• The faulty modulus has to be prime or smooth• A dictionnary of prime faulty moduli has to be computed

Fault Analysis• The faulty signature is:

S = A2w· h(m)dw mod N (1)

where A denotes an intermediate value before the perturbationand dw a partial value of d

• The values (dw , N) are guessed and determined• Computation of square roots• The whole d is gradually recovered

Fault Attacks on Public Keys - Cecile Canovas and Alexandre Berzati | 10

Page 25: Cecile Canovas and Alexandre Berzati´ - LaBRI Attacks on Public Keys - Cecile Canovas and Alexandre Berzati´ j2 Asymmetric cryptography Introduction IFP-based algorithms DLP-based

Fault Attacks on RSA Public Keys [BCDG09]Introduction IFP-based algorithms DLP-based algorithms ECDLP-based algorithms Conclusion

Fault Model• A byte of the modulus is corrupted during the exponentiation• The faulty modulus has to be prime or smooth• A dictionnary of prime faulty moduli has to be computed

Fault Analysis• The faulty signature is:

S = A2w· h(m)dw mod N (1)

where A denotes an intermediate value before the perturbationand dw a partial value of d

• The values (dw , N) are guessed and determined• Computation of square roots• The whole d is gradually recovered

Fault Attacks on Public Keys - Cecile Canovas and Alexandre Berzati | 10

Page 26: Cecile Canovas and Alexandre Berzati´ - LaBRI Attacks on Public Keys - Cecile Canovas and Alexandre Berzati´ j2 Asymmetric cryptography Introduction IFP-based algorithms DLP-based

OutlineIntroduction IFP-based algorithms DLP-based algorithms ECDLP-based algorithms Conclusion

1 Introduction

2 IFP-based algorithms

3 DLP-based algorithms

ElGamal Signature Scheme

DSA Signature Scheme

4 ECDLP-based algorithms

5 Conclusion

Fault Attacks on Public Keys - Cecile Canovas and Alexandre Berzati | 11

Page 27: Cecile Canovas and Alexandre Berzati´ - LaBRI Attacks on Public Keys - Cecile Canovas and Alexandre Berzati´ j2 Asymmetric cryptography Introduction IFP-based algorithms DLP-based

ElGamal Signature SchemeIntroduction IFP-based algorithms DLP-based algorithms ECDLP-based algorithms Conclusion

Key generation• Pick a random prime p, g a generator of Z/pZ∗ and a random x s.t.

y = gx mod p (2)

• The public key is (y, g, p)• The private key is x

Signature• Pick a random k s.t. gcd (k, p− 1) = 1• Compute u ≡ gk mod p and v ≡ h(m)−xu

k mod (p− 1)• Return the couple (u, v)

Signature verification• Check that yu · uv ≡ gh(m) mod p

Fault Attacks on Public Keys - Cecile Canovas and Alexandre Berzati | 12

Page 28: Cecile Canovas and Alexandre Berzati´ - LaBRI Attacks on Public Keys - Cecile Canovas and Alexandre Berzati´ j2 Asymmetric cryptography Introduction IFP-based algorithms DLP-based

ElGamal Signature SchemeIntroduction IFP-based algorithms DLP-based algorithms ECDLP-based algorithms Conclusion

Key generation• Pick a random prime p, g a generator of Z/pZ∗ and a random x s.t.

y = gx mod p (2)

• The public key is (y, g, p)• The private key is x

Signature• Pick a random k s.t. gcd (k, p− 1) = 1• Compute u ≡ gk mod p and v ≡ h(m)−xu

k mod (p− 1)• Return the couple (u, v)

Signature verification• Check that yu · uv ≡ gh(m) mod p

Fault Attacks on Public Keys - Cecile Canovas and Alexandre Berzati | 12

Page 29: Cecile Canovas and Alexandre Berzati´ - LaBRI Attacks on Public Keys - Cecile Canovas and Alexandre Berzati´ j2 Asymmetric cryptography Introduction IFP-based algorithms DLP-based

ElGamal Signature SchemeIntroduction IFP-based algorithms DLP-based algorithms ECDLP-based algorithms Conclusion

Key generation• Pick a random prime p, g a generator of Z/pZ∗ and a random x s.t.

y = gx mod p (2)

• The public key is (y, g, p)• The private key is x

Signature• Pick a random k s.t. gcd (k, p− 1) = 1• Compute u ≡ gk mod p and v ≡ h(m)−xu

k mod (p− 1)• Return the couple (u, v)

Signature verification• Check that yu · uv ≡ gh(m) mod p

Fault Attacks on Public Keys - Cecile Canovas and Alexandre Berzati | 12

Page 30: Cecile Canovas and Alexandre Berzati´ - LaBRI Attacks on Public Keys - Cecile Canovas and Alexandre Berzati´ j2 Asymmetric cryptography Introduction IFP-based algorithms DLP-based

Fault Attack (Reference [KBPJJ08])Introduction IFP-based algorithms DLP-based algorithms ECDLP-based algorithms Conclusion

Fault Model• The attacker can generate random faults on p• He knows (or can guess) the resulting faulty modulus p• If gcd

`k, p − 1

´= 1, we have:

u ≡ gk mod p and v ≡h(m)− xu

kmod

`p − 1

´(3)

Fault Analysis• Let t s.t. t | p and ϕ (t) |

`p − 1

´uv ≡ gk h(m)−xu

k ≡ gh(m)−xu mod t

uv

gh(m)≡

“g−u

”xmod t

• So, each fault analysis makes the attacker recover x mod r, where rdenotes the order of

“g−u

”modulo t

Fault Attacks on Public Keys - Cecile Canovas and Alexandre Berzati | 13

Page 31: Cecile Canovas and Alexandre Berzati´ - LaBRI Attacks on Public Keys - Cecile Canovas and Alexandre Berzati´ j2 Asymmetric cryptography Introduction IFP-based algorithms DLP-based

Fault Attack (Reference [KBPJJ08])Introduction IFP-based algorithms DLP-based algorithms ECDLP-based algorithms Conclusion

Fault Model• The attacker can generate random faults on p• He knows (or can guess) the resulting faulty modulus p• If gcd

`k, p − 1

´= 1, we have:

u ≡ gk mod p and v ≡h(m)− xu

kmod

`p − 1

´(3)

Fault Analysis• Let t s.t. t | p and ϕ (t) |

`p − 1

´uv ≡ gk h(m)−xu

k ≡ gh(m)−xu mod t

uv

gh(m)≡

“g−u

”xmod t

• So, each fault analysis makes the attacker recover x mod r, where rdenotes the order of

“g−u

”modulo t

Fault Attacks on Public Keys - Cecile Canovas and Alexandre Berzati | 13

Page 32: Cecile Canovas and Alexandre Berzati´ - LaBRI Attacks on Public Keys - Cecile Canovas and Alexandre Berzati´ j2 Asymmetric cryptography Introduction IFP-based algorithms DLP-based

OutlineIntroduction IFP-based algorithms DLP-based algorithms ECDLP-based algorithms Conclusion

1 Introduction

2 IFP-based algorithms

3 DLP-based algorithms

ElGamal Signature Scheme

DSA Signature Scheme

4 ECDLP-based algorithms

5 Conclusion

Fault Attacks on Public Keys - Cecile Canovas and Alexandre Berzati | 14

Page 33: Cecile Canovas and Alexandre Berzati´ - LaBRI Attacks on Public Keys - Cecile Canovas and Alexandre Berzati´ j2 Asymmetric cryptography Introduction IFP-based algorithms DLP-based

DSA Signature SchemeIntroduction IFP-based algorithms DLP-based algorithms ECDLP-based algorithms Conclusion

Key generation• Pick a random prime p, q s.t. q | (p− 1), g ∈ Z/pZ∗ s.t. ord (g) = q• Then, pick a random x s.t. 0 < x < q and compute:

y = gx mod p (4)

• The public key is (y, g, p, q)• The private key is x

Signature• Pick a random k s.t. gcd (k, p− 1) = 1• Compute u ≡

`gk mod p

´mod q and v ≡ h(m)+xu

k mod q• Return the couple (u, v)

Signature verification• Compute w = v−1 mod q• Check that

`gwh(m)ywu´

mod q = u

Fault Attacks on Public Keys - Cecile Canovas and Alexandre Berzati | 15

Page 34: Cecile Canovas and Alexandre Berzati´ - LaBRI Attacks on Public Keys - Cecile Canovas and Alexandre Berzati´ j2 Asymmetric cryptography Introduction IFP-based algorithms DLP-based

DSA Signature SchemeIntroduction IFP-based algorithms DLP-based algorithms ECDLP-based algorithms Conclusion

Key generation• Pick a random prime p, q s.t. q | (p− 1), g ∈ Z/pZ∗ s.t. ord (g) = q• Then, pick a random x s.t. 0 < x < q and compute:

y = gx mod p (4)

• The public key is (y, g, p, q)• The private key is x

Signature• Pick a random k s.t. gcd (k, p− 1) = 1• Compute u ≡

`gk mod p

´mod q and v ≡ h(m)+xu

k mod q• Return the couple (u, v)

Signature verification• Compute w = v−1 mod q• Check that

`gwh(m)ywu´

mod q = u

Fault Attacks on Public Keys - Cecile Canovas and Alexandre Berzati | 15

Page 35: Cecile Canovas and Alexandre Berzati´ - LaBRI Attacks on Public Keys - Cecile Canovas and Alexandre Berzati´ j2 Asymmetric cryptography Introduction IFP-based algorithms DLP-based

DSA Signature SchemeIntroduction IFP-based algorithms DLP-based algorithms ECDLP-based algorithms Conclusion

Key generation• Pick a random prime p, q s.t. q | (p− 1), g ∈ Z/pZ∗ s.t. ord (g) = q• Then, pick a random x s.t. 0 < x < q and compute:

y = gx mod p (4)

• The public key is (y, g, p, q)• The private key is x

Signature• Pick a random k s.t. gcd (k, p− 1) = 1• Compute u ≡

`gk mod p

´mod q and v ≡ h(m)+xu

k mod q• Return the couple (u, v)

Signature verification• Compute w = v−1 mod q• Check that

`gwh(m)ywu´

mod q = u

Fault Attacks on Public Keys - Cecile Canovas and Alexandre Berzati | 15

Page 36: Cecile Canovas and Alexandre Berzati´ - LaBRI Attacks on Public Keys - Cecile Canovas and Alexandre Berzati´ j2 Asymmetric cryptography Introduction IFP-based algorithms DLP-based

Fault Attack (Reference [KBPJJ08])Introduction IFP-based algorithms DLP-based algorithms ECDLP-based algorithms Conclusion

Fault Model• The attacker can generate random faults on p and q• He knows (or can guess) resulting faulty moduli p and q• If gcd

`k, q

´= 1, we have:

u ≡“

gk mod p”

mod q and v ≡h(m) + xu

kmod q (5)

Fault Analysis• Let t s.t. t | p, t | q and ϕ (t) |

`p − 1

´uv ≡ gk h(m)+xu

k ≡ gh(m)+xu mod t

uv

gh(m)≡

“gu

”xmod t

• So, each fault analysis makes the attacker recover x mod r, where rdenotes the order of

“gu

”modulo t

Fault Attacks on Public Keys - Cecile Canovas and Alexandre Berzati | 16

Page 37: Cecile Canovas and Alexandre Berzati´ - LaBRI Attacks on Public Keys - Cecile Canovas and Alexandre Berzati´ j2 Asymmetric cryptography Introduction IFP-based algorithms DLP-based

Fault Attack (Reference [KBPJJ08])Introduction IFP-based algorithms DLP-based algorithms ECDLP-based algorithms Conclusion

Fault Model• The attacker can generate random faults on p and q• He knows (or can guess) resulting faulty moduli p and q• If gcd

`k, q

´= 1, we have:

u ≡“

gk mod p”

mod q and v ≡h(m) + xu

kmod q (5)

Fault Analysis• Let t s.t. t | p, t | q and ϕ (t) |

`p − 1

´uv ≡ gk h(m)+xu

k ≡ gh(m)+xu mod t

uv

gh(m)≡

“gu

”xmod t

• So, each fault analysis makes the attacker recover x mod r, where rdenotes the order of

“gu

”modulo t

Fault Attacks on Public Keys - Cecile Canovas and Alexandre Berzati | 16

Page 38: Cecile Canovas and Alexandre Berzati´ - LaBRI Attacks on Public Keys - Cecile Canovas and Alexandre Berzati´ j2 Asymmetric cryptography Introduction IFP-based algorithms DLP-based

OutlineIntroduction IFP-based algorithms DLP-based algorithms ECDLP-based algorithms Conclusion

1 Introduction

2 IFP-based algorithms

3 DLP-based algorithms

4 ECDLP-based algorithms

Introduction

Fault Attacks

5 Conclusion

Fault Attacks on Public Keys - Cecile Canovas and Alexandre Berzati | 17

Page 39: Cecile Canovas and Alexandre Berzati´ - LaBRI Attacks on Public Keys - Cecile Canovas and Alexandre Berzati´ j2 Asymmetric cryptography Introduction IFP-based algorithms DLP-based

Elliptic CurvesIntroduction IFP-based algorithms DLP-based algorithms ECDLP-based algorithms Conclusion

Definition• An elliptic curve E (a, b) defined over a finite field Fp, where p > 3

can be given as:

E (Fp) : y2 = x3 + ax + b a, b ∈ Fp (6)

where the associated discriminant ∆ = −16“

4a3 + 27b2”6= 0

Algebraic Structure

• We can define a law + over the elliptic curve field that performs apoint addition

• An elliptic curve E (Fp) with this law + forms an abelian group

Scalar Multiplication• Let P ∈ E (Fp) and d ∈ Fp be a random value:

Q = d · P = P + P . . . + P d − times (7)

Fault Attacks on Public Keys - Cecile Canovas and Alexandre Berzati | 18

Page 40: Cecile Canovas and Alexandre Berzati´ - LaBRI Attacks on Public Keys - Cecile Canovas and Alexandre Berzati´ j2 Asymmetric cryptography Introduction IFP-based algorithms DLP-based

Elliptic CurvesIntroduction IFP-based algorithms DLP-based algorithms ECDLP-based algorithms Conclusion

Definition• An elliptic curve E (a, b) defined over a finite field Fp, where p > 3

can be given as:

E (Fp) : y2 = x3 + ax + b a, b ∈ Fp (6)

where the associated discriminant ∆ = −16“

4a3 + 27b2”6= 0

Algebraic Structure

• We can define a law + over the elliptic curve field that performs apoint addition

• An elliptic curve E (Fp) with this law + forms an abelian group

Scalar Multiplication• Let P ∈ E (Fp) and d ∈ Fp be a random value:

Q = d · P = P + P . . . + P d − times (7)

Fault Attacks on Public Keys - Cecile Canovas and Alexandre Berzati | 18

Page 41: Cecile Canovas and Alexandre Berzati´ - LaBRI Attacks on Public Keys - Cecile Canovas and Alexandre Berzati´ j2 Asymmetric cryptography Introduction IFP-based algorithms DLP-based

Elliptic CurvesIntroduction IFP-based algorithms DLP-based algorithms ECDLP-based algorithms Conclusion

Definition• An elliptic curve E (a, b) defined over a finite field Fp, where p > 3

can be given as:

E (Fp) : y2 = x3 + ax + b a, b ∈ Fp (6)

where the associated discriminant ∆ = −16“

4a3 + 27b2”6= 0

Algebraic Structure

• We can define a law + over the elliptic curve field that performs apoint addition

• An elliptic curve E (Fp) with this law + forms an abelian group

Scalar Multiplication• Let P ∈ E (Fp) and d ∈ Fp be a random value:

Q = d · P = P + P . . . + P d − times (7)

Fault Attacks on Public Keys - Cecile Canovas and Alexandre Berzati | 18

Page 42: Cecile Canovas and Alexandre Berzati´ - LaBRI Attacks on Public Keys - Cecile Canovas and Alexandre Berzati´ j2 Asymmetric cryptography Introduction IFP-based algorithms DLP-based

OutlineIntroduction IFP-based algorithms DLP-based algorithms ECDLP-based algorithms Conclusion

1 Introduction

2 IFP-based algorithms

3 DLP-based algorithms

4 ECDLP-based algorithms

Introduction

Fault Attacks

5 Conclusion

Fault Attacks on Public Keys - Cecile Canovas and Alexandre Berzati | 19

Page 43: Cecile Canovas and Alexandre Berzati´ - LaBRI Attacks on Public Keys - Cecile Canovas and Alexandre Berzati´ j2 Asymmetric cryptography Introduction IFP-based algorithms DLP-based

Biehl-Meyer-Muller Attack [BMM00]Introduction IFP-based algorithms DLP-based algorithms ECDLP-based algorithms Conclusion

Fault model• Faults on the Input Point P (P known)• P is changed s.t P ∈ E ′(a, b) whose order has a small divisor r• b may not be use to perform the point addition (ANSI X9.63 and

IEEE 1363)

Fault Analysis• ord

“P

”= r and Q = d · P is computed over E ′(a, b)

• Since r is small, compute the D.L. in < P > and so find d mod r• Repeat the process and get d by the Chinese Remainder Theorem

Additional Fault Model• Placing Register Faults – Random bit fault on P

Fault Attacks on Public Keys - Cecile Canovas and Alexandre Berzati | 20

Page 44: Cecile Canovas and Alexandre Berzati´ - LaBRI Attacks on Public Keys - Cecile Canovas and Alexandre Berzati´ j2 Asymmetric cryptography Introduction IFP-based algorithms DLP-based

Biehl-Meyer-Muller Attack [BMM00]Introduction IFP-based algorithms DLP-based algorithms ECDLP-based algorithms Conclusion

Fault model• Faults on the Input Point P (P known)• P is changed s.t P ∈ E ′(a, b) whose order has a small divisor r• b may not be use to perform the point addition (ANSI X9.63 and

IEEE 1363)

Fault Analysis• ord

“P

”= r and Q = d · P is computed over E ′(a, b)

• Since r is small, compute the D.L. in < P > and so find d mod r• Repeat the process and get d by the Chinese Remainder Theorem

Additional Fault Model• Placing Register Faults – Random bit fault on P

Fault Attacks on Public Keys - Cecile Canovas and Alexandre Berzati | 20

Page 45: Cecile Canovas and Alexandre Berzati´ - LaBRI Attacks on Public Keys - Cecile Canovas and Alexandre Berzati´ j2 Asymmetric cryptography Introduction IFP-based algorithms DLP-based

Biehl-Meyer-Muller Attack [BMM00]Introduction IFP-based algorithms DLP-based algorithms ECDLP-based algorithms Conclusion

Fault model• Faults on the Input Point P (P known)• P is changed s.t P ∈ E ′(a, b) whose order has a small divisor r• b may not be use to perform the point addition (ANSI X9.63 and

IEEE 1363)

Fault Analysis• ord

“P

”= r and Q = d · P is computed over E ′(a, b)

• Since r is small, compute the D.L. in < P > and so find d mod r• Repeat the process and get d by the Chinese Remainder Theorem

Additional Fault Model• Placing Register Faults – Random bit fault on P

Fault Attacks on Public Keys - Cecile Canovas and Alexandre Berzati | 20

Page 46: Cecile Canovas and Alexandre Berzati´ - LaBRI Attacks on Public Keys - Cecile Canovas and Alexandre Berzati´ j2 Asymmetric cryptography Introduction IFP-based algorithms DLP-based

Ciet-Joye Attack [CJ05]Introduction IFP-based algorithms DLP-based algorithms ECDLP-based algorithms Conclusion

Fault Model• An unknown bit of the x-coordinate of P is permanently corrupted• P(x , y) ∈ E ′(a, b) whose order has a small divisor r, and

Q = d · P = (xQ , yQ) (8)

Fault Analysis• First, recover b by noticing that Q ∈ E ′(a, b): b = y2 − xQ

3 − axQ• Then, since P(x , y) ∈ E ′(a, b), x is a root of X3 + aX + b − y2

• The root that has most matching bits with x is taken as x• If ord

“P

”= r is small, compute the D.L. in < P > and find d mod r

Additional Fault Model• Permanent faults on y-coordinates• Bit-error on the field parameter q

Fault Attacks on Public Keys - Cecile Canovas and Alexandre Berzati | 21

Page 47: Cecile Canovas and Alexandre Berzati´ - LaBRI Attacks on Public Keys - Cecile Canovas and Alexandre Berzati´ j2 Asymmetric cryptography Introduction IFP-based algorithms DLP-based

Ciet-Joye Attack [CJ05]Introduction IFP-based algorithms DLP-based algorithms ECDLP-based algorithms Conclusion

Fault Model• An unknown bit of the x-coordinate of P is permanently corrupted• P(x , y) ∈ E ′(a, b) whose order has a small divisor r, and

Q = d · P = (xQ , yQ) (8)

Fault Analysis• First, recover b by noticing that Q ∈ E ′(a, b): b = y2 − xQ

3 − axQ• Then, since P(x , y) ∈ E ′(a, b), x is a root of X3 + aX + b − y2

• The root that has most matching bits with x is taken as x• If ord

“P

”= r is small, compute the D.L. in < P > and find d mod r

Additional Fault Model• Permanent faults on y-coordinates• Bit-error on the field parameter q

Fault Attacks on Public Keys - Cecile Canovas and Alexandre Berzati | 21

Page 48: Cecile Canovas and Alexandre Berzati´ - LaBRI Attacks on Public Keys - Cecile Canovas and Alexandre Berzati´ j2 Asymmetric cryptography Introduction IFP-based algorithms DLP-based

Ciet-Joye Attack [CJ05]Introduction IFP-based algorithms DLP-based algorithms ECDLP-based algorithms Conclusion

Fault Model• An unknown bit of the x-coordinate of P is permanently corrupted• P(x , y) ∈ E ′(a, b) whose order has a small divisor r, and

Q = d · P = (xQ , yQ) (8)

Fault Analysis• First, recover b by noticing that Q ∈ E ′(a, b): b = y2 − xQ

3 − axQ• Then, since P(x , y) ∈ E ′(a, b), x is a root of X3 + aX + b − y2

• The root that has most matching bits with x is taken as x• If ord

“P

”= r is small, compute the D.L. in < P > and find d mod r

Additional Fault Model• Permanent faults on y-coordinates• Bit-error on the field parameter q

Fault Attacks on Public Keys - Cecile Canovas and Alexandre Berzati | 21

Page 49: Cecile Canovas and Alexandre Berzati´ - LaBRI Attacks on Public Keys - Cecile Canovas and Alexandre Berzati´ j2 Asymmetric cryptography Introduction IFP-based algorithms DLP-based

”Twist Attack”[FLRV08]Introduction IFP-based algorithms DLP-based algorithms ECDLP-based algorithms Conclusion

Definition• The twist of E by c defined over Fp where p > 3 can be given as:

Ec (Fp) : y2 = x3 + ac2x + bc3 a, b, c ∈ Fp (9)

• The number of points on the twist is smooth

Fault Model• The attackers modifies the x-coordinate of P s.t. P ∈ Ec• The fault is induced s.t. Q = d · P ∈ Ec• The attack targets the Montgomery Ladder implementation of the

scalar multiplication (y-coordinates not used)

Fault Analysis• From Q, the attacker recovers the parameter of the twist c• The attackers solve D.L. and recover d mod ord(P)

Fault Attacks on Public Keys - Cecile Canovas and Alexandre Berzati | 22

Page 50: Cecile Canovas and Alexandre Berzati´ - LaBRI Attacks on Public Keys - Cecile Canovas and Alexandre Berzati´ j2 Asymmetric cryptography Introduction IFP-based algorithms DLP-based

”Twist Attack”[FLRV08]Introduction IFP-based algorithms DLP-based algorithms ECDLP-based algorithms Conclusion

Definition• The twist of E by c defined over Fp where p > 3 can be given as:

Ec (Fp) : y2 = x3 + ac2x + bc3 a, b, c ∈ Fp (9)

• The number of points on the twist is smooth

Fault Model• The attackers modifies the x-coordinate of P s.t. P ∈ Ec• The fault is induced s.t. Q = d · P ∈ Ec• The attack targets the Montgomery Ladder implementation of the

scalar multiplication (y-coordinates not used)

Fault Analysis• From Q, the attacker recovers the parameter of the twist c• The attackers solve D.L. and recover d mod ord(P)

Fault Attacks on Public Keys - Cecile Canovas and Alexandre Berzati | 22

Page 51: Cecile Canovas and Alexandre Berzati´ - LaBRI Attacks on Public Keys - Cecile Canovas and Alexandre Berzati´ j2 Asymmetric cryptography Introduction IFP-based algorithms DLP-based

”Twist Attack”[FLRV08]Introduction IFP-based algorithms DLP-based algorithms ECDLP-based algorithms Conclusion

Definition• The twist of E by c defined over Fp where p > 3 can be given as:

Ec (Fp) : y2 = x3 + ac2x + bc3 a, b, c ∈ Fp (9)

• The number of points on the twist is smooth

Fault Model• The attackers modifies the x-coordinate of P s.t. P ∈ Ec• The fault is induced s.t. Q = d · P ∈ Ec• The attack targets the Montgomery Ladder implementation of the

scalar multiplication (y-coordinates not used)

Fault Analysis• From Q, the attacker recovers the parameter of the twist c• The attackers solve D.L. and recover d mod ord(P)

Fault Attacks on Public Keys - Cecile Canovas and Alexandre Berzati | 22

Page 52: Cecile Canovas and Alexandre Berzati´ - LaBRI Attacks on Public Keys - Cecile Canovas and Alexandre Berzati´ j2 Asymmetric cryptography Introduction IFP-based algorithms DLP-based

ConclusionIntroduction IFP-based algorithms DLP-based algorithms ECDLP-based algorithms Conclusion

”Structure” Fault Attack• Use fault to compute cryptographic functions in weaker finite fields• Perturbation of public elements• Different algebraic structure targeted

Consequence• Protection of public key elements . . .• . . . and also the algebraic structure

Fault Attacks on Public Keys - Cecile Canovas and Alexandre Berzati | 23

Page 53: Cecile Canovas and Alexandre Berzati´ - LaBRI Attacks on Public Keys - Cecile Canovas and Alexandre Berzati´ j2 Asymmetric cryptography Introduction IFP-based algorithms DLP-based

Thank you !Introduction IFP-based algorithms DLP-based algorithms ECDLP-based algorithms Conclusion

Fault Attacks on Public Keys - Cecile Canovas and Alexandre Berzati | 24

Page 54: Cecile Canovas and Alexandre Berzati´ - LaBRI Attacks on Public Keys - Cecile Canovas and Alexandre Berzati´ j2 Asymmetric cryptography Introduction IFP-based algorithms DLP-based

References IIntroduction IFP-based algorithms DLP-based algorithms ECDLP-based algorithms Conclusion

A. Berzati, C. Canovas, J-G. Dumas, and L. Goubin.

Fault Attacks on RSA Public Keys: Left-To-Right Implementations are also Vulnerable.In M. Fischlin, editor, RSA Cryptographer’s Track (CT-RSA 2009), volume 5473 of Lecture Notes in Computer Science,pages 414–428. Springer, 2009.

E. Brier, B. Chevallier-Mames, M. Ciet, and C. Clavier.

Why One Should Also Secure RSA Public Key Elements.In L. Goubin and M. Matsui, editors, Cryptographic Hardware and Embedded Systems (CHES 2006), volume 4249 ofLecture Notes in Computer Science, pages 324–338. Springer-Verlag, 2006.

I. Biehl, B. Meyer, and V. Muller.

Differential Fault Attacks on Ellitic Curve Cryptosystems.In M. Bellare, editor, Advances in Cryptology (CRYPTO 2000), volume 1880 of Lecture Notes in Computer Science,pages 131–146. Springer-Verlag, 2000.

J. Blomer, M. Otto, and J-P. Seifert.

Sign Change Fault Attacks on Elliptic Curve Cryptosystems.In L. Breveglieri, I. Koren, D. Naccache, and J-P. Seifert, editors, Fault Diagnosis and Tolerance in Cryptography,volume 4236 of Lecture Notes in Computer Science, pages 36–52. Springer-Verlag, 2006.

M. Ciet and M. Joye.

”Elliptic Curve Cryptosystems in the presence of permanent and transient faults”.Designs, Codes and Cryptography, (36(1)):33–43, 2005.

Fault Attacks on Public Keys - Cecile Canovas and Alexandre Berzati | 25

Page 55: Cecile Canovas and Alexandre Berzati´ - LaBRI Attacks on Public Keys - Cecile Canovas and Alexandre Berzati´ j2 Asymmetric cryptography Introduction IFP-based algorithms DLP-based

References IIIntroduction IFP-based algorithms DLP-based algorithms ECDLP-based algorithms Conclusion

P-A. Fouque, R. Lercier, D. Real, and F. Valette.

Fault attack on elliptic curve montgomery ladder implementation.In L. Breveglieri, S. Gueron, I. Koren, D. Naccache, and J-P. Seifert, editors, Fault Diagnosis and Tolerance inCryptography (FDTC 2008), pages 92–98. IEEE Computer Society, 2008.

C.H. Kim, P. Bullens, C. Petit, and J-J.Quisquater.

Fault Attaks on Public Key Elements: Application to DLP-Based Schemes.In S.F. Mjølsnes, S. Mauw, and S.K. Katsikas, editors, European PKI workshop Public Key Infrastructure (EuroPKI 2008),volume 5057 of Lecture Notes In Computer Science, pages 182–195. Springer, 2008.

Fault Attacks on Public Keys - Cecile Canovas and Alexandre Berzati | 26

Page 56: Cecile Canovas and Alexandre Berzati´ - LaBRI Attacks on Public Keys - Cecile Canovas and Alexandre Berzati´ j2 Asymmetric cryptography Introduction IFP-based algorithms DLP-based

Biehl-Meyer-Muller Attack [BMM00] (1/2)Fault Attacks against ECDLP

Placing Register Faults – Random bit fault on P• The fault is injected after checking that P is on the curve E(a, b)

• P ∈ E ′(a, b) differs from P in one bit at an unknown position• If E ′(a, b) is weak, find b from Q• Check for all possible P candidates and try to compute the D.L. to

find a residue of d

Fault Attacks on Public Keys - Cecile Canovas and Alexandre Berzati | 27

Page 57: Cecile Canovas and Alexandre Berzati´ - LaBRI Attacks on Public Keys - Cecile Canovas and Alexandre Berzati´ j2 Asymmetric cryptography Introduction IFP-based algorithms DLP-based

Biehl-Meyer-Muller Attack [BMM00] (2/2)Fault Attacks against ECDLP

Faults at Random moments of the Multiplication• A bit-flip is induced on an internal register during the multiplication• If the ”Right-to-Left” binary method is used:

Q = Qj + d[j..(n−1)] · P (10)

where Qj denotes the internal register value at the j-th stepand d[j..(n−1)] the j most significant bits of d

• For all candidate values d′[j..(n−1)]

, compute

Q′j = Q − d′[j..(n−1)] · P (11)

Then, from Q′j , generate all possible faulty values Q′j and test if thefollowing equation is satisfied:

Q′j + d′[j..(n−1)] · P = Q (12)

• In case of success a part of d is recovered

Additional Fault Model• Sign Change Fault Attacks [BOS06]

Fault Attacks on Public Keys - Cecile Canovas and Alexandre Berzati | 28