New Bleichenbacher Records: Fault Attacks on qDSA Signatures CHES - - PowerPoint PPT Presentation

new bleichenbacher records fault attacks on qdsa
SMART_READER_LITE
LIVE PREVIEW

New Bleichenbacher Records: Fault Attacks on qDSA Signatures CHES - - PowerPoint PPT Presentation

New Bleichenbacher Records: Fault Attacks on qDSA Signatures CHES 2018 Akira Takahashi 1 Mehdi Tibouchi 1 , 2 Masayuki Abe 1 , 2 September 12, 2018 1 Kyoto University 2 NTT Secure Platform Laboratories 1 Outline Introduction Contribution 1.


slide-1
SLIDE 1

New Bleichenbacher Records: Fault Attacks on qDSA Signatures

CHES 2018

Akira Takahashi1 Mehdi Tibouchi1,2 Masayuki Abe1,2 September 12, 2018

1Kyoto University 2NTT Secure Platform Laboratories

1

slide-2
SLIDE 2

Outline

Introduction Contribution 1. Optimizing Bleichenbacher’s Attack Contribution 2. Fault Attacks on qDSA Signature Contribution 3. Record-breaking Implementation of Nonce Attack Wrap-up

2

slide-3
SLIDE 3

Introduction

slide-4
SLIDE 4

Motivating Example: Schnorr Signature Scheme

  • One of the simplest and most widely-used digital

signature schemes

  • Most notable variant: (EC)DSA
  • Secure in ROM if the discrete logarithm problem (DLP) is

hard

  • Relies on an ephemeral random value known as nonce

3

slide-5
SLIDE 5

Motivating Example: Schnorr Signature Scheme

  • One of the simplest and most widely-used digital

signature schemes

  • Most notable variant: (EC)DSA
  • Secure in ROM if the discrete logarithm problem (DLP) is

hard

  • Relies on an ephemeral random value known as nonce

3

slide-6
SLIDE 6

Motivating Example: Schnorr Signature Scheme

  • One of the simplest and most widely-used digital

signature schemes

  • Most notable variant: (EC)DSA
  • Secure in ROM if the discrete logarithm problem (DLP) is

hard

  • Relies on an ephemeral random value known as nonce

3

slide-7
SLIDE 7

Motivating Example: Schnorr Signature Scheme

  • One of the simplest and most widely-used digital

signature schemes

  • Most notable variant: (EC)DSA
  • Secure in ROM if the discrete logarithm problem (DLP) is

hard

  • Relies on an ephemeral random value known as nonce

3

slide-8
SLIDE 8

Nonce in Schnorr Signatures

Alice Bob

Message Alice’s Secret key

Verify

Alice’s Public key 0/1 Signed Message

Sign

  • is called nonce. It satisfies

public public

  • should NOT be reused/exposed

4

slide-9
SLIDE 9

Nonce in Schnorr Signatures

Alice Bob

Message Alice’s Secret key

Verify

Alice’s Public key 0/1 Signed Message 101101 ・・・

  • is called nonce. It satisfies

public public

  • should NOT be reused/exposed

4

slide-10
SLIDE 10

Nonce in Schnorr Signatures

Alice Bob

Message Alice’s Secret key

Verify

Alice’s Public key 0/1 Signed Message 101101 ・・・

  • k is called nonce. It satisfies

k ≡ s

  • public

+ h

  • public

d mod n.

  • should NOT be reused/exposed

4

slide-11
SLIDE 11

Nonce in Schnorr Signatures

Alice Bob

Message Alice’s Secret key

Verify

Alice’s Public key 0/1 Signed Message 101101 ・・・

  • k is called nonce. It satisfies

k ≡ s

  • public

+ h

  • public

d mod n.

  • k should NOT be reused/exposed

4

slide-12
SLIDE 12

Risk of biased/leaky nonce

Alice

Message Alice’s Secret key Signed Message

Adversary

000101 ・・・ Bias

  • But what if k is slightly biased ?

Adversary could bypass the (EC)DLP and steal the secret by solving the hidden number problem (HNP)!

5

slide-13
SLIDE 13

Risk of biased/leaky nonce

Alice

Message Alice’s Secret key Signed Message

Adversary

101101 ・・・ Leak

  • But what if k is slightly biased or partially leaked?

Adversary could bypass the (EC)DLP and steal the secret by solving the hidden number problem (HNP)!

5

slide-14
SLIDE 14

Risk of biased/leaky nonce

Alice

Message Alice’s Secret key Signed Message

Adversary

101101 ・・・ Leak

  • But what if k is slightly biased or partially leaked?

Adversary could bypass the (EC)DLP and steal the secret d by solving the hidden number problem (HNP)!

5

slide-15
SLIDE 15

Nonce: very sensitive!

5

slide-16
SLIDE 16

Our Contribution

  • 1. Optimized a statistical attack framework, known as

Bleichenbacher’s attack, against nonces in Schnorr-like signatures

  • 2. New fault attacks against recent, high-speed Schnorr-like

signature scheme, qDSA, to obtain a few bits of nonces

  • 3. Implemented a full secret key recovery attack against

Schnorr-like signatures

  • Over 252-bit group
  • Only 2 or 3-bit nonce leaks

6

slide-17
SLIDE 17

Our Contribution

  • 1. Optimized a statistical attack framework, known as

Bleichenbacher’s attack, against nonces in Schnorr-like signatures

  • 2. New fault attacks against recent, high-speed Schnorr-like

signature scheme, qDSA, to obtain a few bits of nonces

  • 3. Implemented a full secret key recovery attack against

Schnorr-like signatures

  • Over 252-bit group
  • Only 2 or 3-bit nonce leaks

6

slide-18
SLIDE 18

Our Contribution

  • 1. Optimized a statistical attack framework, known as

Bleichenbacher’s attack, against nonces in Schnorr-like signatures

  • 2. New fault attacks against recent, high-speed Schnorr-like

signature scheme, qDSA, to obtain a few bits of nonces

  • 3. Implemented a full secret key recovery attack against

Schnorr-like signatures

  • Over 252-bit group
  • Only 2 or 3-bit nonce leaks

6

slide-19
SLIDE 19

We set new records!

# Leaked bits of Nonces 1 2 3 4 5 384-bit – – – – [DMHMP14] 252-bit – – – – – 160-bit [AFG+14] [LN13] [NS02] – – Table 1: Comparison with previous published records

  • Orange: Bleichenbacher’s attack
  • Others: Lattice attack

7

slide-20
SLIDE 20

We set new records!

# Leaked bits of Nonces 1 2 3 4 5 384-bit – – – – [DMHMP14] 252-bit – – ✓ – – 160-bit [AFG+14] [LN13] [NS02] – – Table 1: Comparison with previous published records

  • Orange: Bleichenbacher’s attack
  • Others: Lattice attack

7

slide-21
SLIDE 21

We set new records!

# Leaked bits of Nonces 1 2 3 4 5 384-bit – – – – [DMHMP14] 252-bit – ✓ ✓ – – 160-bit [AFG+14] [LN13] [NS02] – – Table 1: Comparison with previous published records

  • Orange: Bleichenbacher’s attack
  • Others: Lattice attack

7

slide-22
SLIDE 22

Optimizing Bleichenbacher’s Attack

slide-23
SLIDE 23

Bleichenbacher’s Nonce Attack

  • Originally proposed 18 years ago [Ble00], recently revisited

by De Mulder et al. (CHES’13) and Aranha et al. (ASIACRYPT’14)

  • Idea: quantify the nonce bias by defining “bias function”

and find the peak of it

  • if nonce is uniformly distributed over

.

  • if nonce is biased.
  • Most important & costly phase is so-called range

reduction of integers

  • Necessary to detect the bias peak correctly and efficiently

8

slide-24
SLIDE 24

Bleichenbacher’s Nonce Attack

  • Originally proposed 18 years ago [Ble00], recently revisited

by De Mulder et al. (CHES’13) and Aranha et al. (ASIACRYPT’14)

  • Idea: quantify the nonce bias by defining “bias function”

Bn(K) ∈ [0, 1] and find the peak of it

  • Bn(K) = 0 if nonce is uniformly distributed over Z/nZ.
  • Bn(K) ≈ 1 if nonce is biased.
  • Most important & costly phase is so-called range

reduction of integers

  • Necessary to detect the bias peak correctly and efficiently

8

slide-25
SLIDE 25

Bleichenbacher’s Nonce Attack

  • Originally proposed 18 years ago [Ble00], recently revisited

by De Mulder et al. (CHES’13) and Aranha et al. (ASIACRYPT’14)

  • Idea: quantify the nonce bias by defining “bias function”

Bn(K) ∈ [0, 1] and find the peak of it

  • Bn(K) = 0 if nonce is uniformly distributed over Z/nZ.
  • Bn(K) ≈ 1 if nonce is biased.
  • Most important & costly phase is so-called range

reduction of integers h

  • Necessary to detect the bias peak correctly and efficiently

8

slide-26
SLIDE 26

Bleichenbacher’s Nonce Attack

  • Originally proposed 18 years ago [Ble00], recently revisited

by De Mulder et al. (CHES’13) and Aranha et al. (ASIACRYPT’14)

  • Idea: quantify the nonce bias by defining “bias function”

Bn(K) ∈ [0, 1] and find the peak of it

  • Bn(K) = 0 if nonce is uniformly distributed over Z/nZ.
  • Bn(K) ≈ 1 if nonce is biased.
  • Most important & costly phase is so-called range

reduction of integers h

  • Necessary to detect the bias peak correctly and efficiently

8

slide-27
SLIDE 27

Range Reduction Problem

Given: S signatures (h1, . . . , hS) Find: sufficiently many (say ) linear combinations for such that

  • Small
  • Sparse coefficients

s.t. Looks like knapsack? Difference: find many linear combinations instead of a single exact knapsack solution

9

slide-28
SLIDE 28

Range Reduction Problem

Given: S signatures (h1, . . . , hS) Find: sufficiently many (say L) linear combinations h′

j = ωj,1h1 + . . . + ωj,ShS

for 1 ≤ j ≤ L such that

  • Small
  • Sparse coefficients

s.t. Looks like knapsack? Difference: find many linear combinations instead of a single exact knapsack solution

9

slide-29
SLIDE 29

Range Reduction Problem

Given: S signatures (h1, . . . , hS) Find: sufficiently many (say L) linear combinations h′

j = ωj,1h1 + . . . + ωj,ShS

for 1 ≤ j ≤ L such that

  • Small h′

j < L

  • Sparse coefficients

s.t. Looks like knapsack? Difference: find many linear combinations instead of a single exact knapsack solution

9

slide-30
SLIDE 30

Range Reduction Problem

Given: S signatures (h1, . . . , hS) Find: sufficiently many (say L) linear combinations h′

j = ωj,1h1 + . . . + ωj,ShS

for 1 ≤ j ≤ L such that

  • Small h′

j < L

  • Sparse coefficients Ω := ∑

i |ωj,i| s.t. |Bn(K)|Ω > 1/

√ L Looks like knapsack? Difference: find many linear combinations instead of a single exact knapsack solution

9

slide-31
SLIDE 31

Range Reduction Problem

Given: S signatures (h1, . . . , hS) Find: sufficiently many (say L) linear combinations h′

j = ωj,1h1 + . . . + ωj,ShS

for 1 ≤ j ≤ L such that

  • Small h′

j < L

  • Sparse coefficients Ω := ∑

i |ωj,i| s.t. |Bn(K)|Ω > 1/

√ L Looks like knapsack? Difference: find many linear combinations instead of a single exact knapsack solution

9

slide-32
SLIDE 32

Our Approach: Schroeppel-Shamir Algorithm

  • Previous approaches are not optimal if the nonce bias is

small:

BKZ (De Mulder et al.): Coefficients are not sparse enough. S&D (Aranha et al.): Requires many inputs, huge memory

space.

  • We applied Schroeppel-Shamir knapsack algorithm [SS81]
  • Mentioned by Bleichenbacher, but never examined in the

literature

  • Advantages:

Highly space-efficient Highly parallelizable with Howgrave-Graham–Joux’s variant (EUROCRYPT’10, [HGJ10])

10

slide-33
SLIDE 33

Our Approach: Schroeppel-Shamir Algorithm

  • Previous approaches are not optimal if the nonce bias is

small:

BKZ (De Mulder et al.): Coefficients are not sparse enough. S&D (Aranha et al.): Requires many inputs, huge memory

space.

  • We applied Schroeppel-Shamir knapsack algorithm [SS81]
  • Mentioned by Bleichenbacher, but never examined in the

literature

  • Advantages:

Highly space-efficient Highly parallelizable with Howgrave-Graham–Joux’s variant (EUROCRYPT’10, [HGJ10])

10

slide-34
SLIDE 34

Our Approach: Schroeppel-Shamir Algorithm

  • Previous approaches are not optimal if the nonce bias is

small:

BKZ (De Mulder et al.): Coefficients are not sparse enough. S&D (Aranha et al.): Requires many inputs, huge memory

space.

  • We applied Schroeppel-Shamir knapsack algorithm [SS81]
  • Mentioned by Bleichenbacher, but never examined in the

literature

  • Advantages:

Highly space-efficient Highly parallelizable with Howgrave-Graham–Joux’s variant (EUROCRYPT’10, [HGJ10])

10

slide-35
SLIDE 35

Our Approach: Schroeppel-Shamir Algorithm

  • Previous approaches are not optimal if the nonce bias is

small:

BKZ (De Mulder et al.): Coefficients are not sparse enough. S&D (Aranha et al.): Requires many inputs, huge memory

space.

  • We applied Schroeppel-Shamir knapsack algorithm [SS81]
  • Mentioned by Bleichenbacher, but never examined in the

literature

  • Advantages:

Highly space-efficient Highly parallelizable with Howgrave-Graham–Joux’s variant

(EUROCRYPT’10, [HGJ10])

10

slide-36
SLIDE 36

How HGJ–SS Helps

  • 1. Split the inputs

into four lists; sort.

  • 2. Search for LC’s of

2 whose top consecutive bits coincide with some fixed value; sort.

  • 3. Take differences

between values in two lists. Get small LC’s

  • f 4 per round!

11

slide-37
SLIDE 37

How HGJ–SS Helps

  • 1. Split the inputs

into four lists; sort.

  • 2. Search for LC’s of

2 whose top consecutive bits coincide with some fixed value; sort.

  • 3. Take differences

between values in two lists. Get small LC’s

  • f 4 per round!

11

slide-38
SLIDE 38

How HGJ–SS Helps

  • 1. Split the inputs

into four lists; sort.

  • 2. Search for LC’s of

2 whose top consecutive bits coincide with some fixed value; sort.

  • 3. Take differences

between values in two lists. → Get small LC’s

  • f 4 per round!

11

slide-39
SLIDE 39

Complexity

Algorithm Time Space & # Sigs. HGJ–SS (1 round)

  • O(S4/3)

O(S2/3) S&D (2 rounds)

  • O(S)

O(S)

  • Well-balanced time-space trade-offs
  • HGJ–SS still terminates within a reasonable time frame

due to parallelization

12

slide-40
SLIDE 40

Complexity

Algorithm Time Space & # Sigs. HGJ–SS (1 round)

  • O(S4/3)

O(S2/3) S&D (2 rounds)

  • O(S)

O(S)

  • Well-balanced time-space trade-offs
  • HGJ–SS still terminates within a reasonable time frame

due to parallelization

12

slide-41
SLIDE 41

Fault Attacks on qDSA Signature

slide-42
SLIDE 42

qDSA Signature over Curve25519

  • qDSA: recent, high-speed variant of Schnorr signature by

Renes and Smith (ASIACRYPT’17, [RS17])

  • Can be instantiated with Curve25519 Montgomery curve
  • Signature generation computes

// nonce Ladder

  • Attack idea:
  • Curve25519:
  • By injecting a fault to the base point, we perturb it to

non-prime/low-order points on Curve25519. Ladder

13

slide-43
SLIDE 43

qDSA Signature over Curve25519

  • qDSA: recent, high-speed variant of Schnorr signature by

Renes and Smith (ASIACRYPT’17, [RS17])

  • Can be instantiated with Curve25519 Montgomery curve
  • Signature generation computes

// nonce Ladder

  • Attack idea:
  • Curve25519:
  • By injecting a fault to the base point, we perturb it to

non-prime/low-order points on Curve25519. Ladder

13

slide-44
SLIDE 44

qDSA Signature over Curve25519

  • qDSA: recent, high-speed variant of Schnorr signature by

Renes and Smith (ASIACRYPT’17, [RS17])

  • Can be instantiated with Curve25519 Montgomery curve
  • Signature generation computes

k ← H(M||d′) // nonce ±R ← Ladder(k, ±P = (X : Z)) = ±[k]P

  • Attack idea:
  • Curve25519:
  • By injecting a fault to the base point, we perturb it to

non-prime/low-order points on Curve25519. Ladder

13

slide-45
SLIDE 45

qDSA Signature over Curve25519

  • qDSA: recent, high-speed variant of Schnorr signature by

Renes and Smith (ASIACRYPT’17, [RS17])

  • Can be instantiated with Curve25519 Montgomery curve
  • Signature generation computes

k ← H(M||d′) // nonce ±R ← Ladder(k, ±P = (X : Z)) = ±[k]P

  • Attack idea:
  • Curve25519:
  • By injecting a fault to the base point, we perturb it to

non-prime/low-order points on Curve25519. Ladder

13

slide-46
SLIDE 46

qDSA Signature over Curve25519

  • qDSA: recent, high-speed variant of Schnorr signature by

Renes and Smith (ASIACRYPT’17, [RS17])

  • Can be instantiated with Curve25519 Montgomery curve
  • Signature generation computes

k ← H(M||d′) // nonce ±R ← Ladder(k, ±P = (X : Z)) = ±[k]P

  • Attack idea:
  • Curve25519: E(Fp) ∼

= Z/8Z × Z/nZ

  • By injecting a fault to the base point, we perturb it to

non-prime/low-order points on Curve25519. Ladder

13

slide-47
SLIDE 47

qDSA Signature over Curve25519

  • qDSA: recent, high-speed variant of Schnorr signature by

Renes and Smith (ASIACRYPT’17, [RS17])

  • Can be instantiated with Curve25519 Montgomery curve
  • Signature generation computes

k ← H(M||d′) // nonce ±R ← Ladder(k, ±P = (X : Z)) = ±[k]P

  • Attack idea:
  • Curve25519: E(Fp) ∼

= Z/8Z × Z/nZ

  • By injecting a fault to the base point, we perturb it to

non-prime/low-order points on Curve25519. ± R ← Ladder(k, ± P = ( X : Z)) = ±[k] P

13

slide-48
SLIDE 48

Observation

P x y E

✗ EC-Schnorr/ECDSA uses y-coordinate perturbed point

  • P is not likely on the original curve anymore

qDSA makes use of

  • only arithmetic

perturbed point is necessarily on the curve or its twist!

14

slide-49
SLIDE 49

Observation

P

  • P

x y E

✗ EC-Schnorr/ECDSA uses y-coordinate perturbed point

  • P is not likely on the original curve anymore

qDSA makes use of

  • only arithmetic

perturbed point is necessarily on the curve or its twist!

14

slide-50
SLIDE 50

Observation

±P x y E E/ ± 1

✗ EC-Schnorr/ECDSA uses y-coordinate perturbed point

  • P is not likely on the original curve anymore

✓ qDSA makes use of x-only arithmetic perturbed point ± P is necessarily on the curve or its twist!

14

slide-51
SLIDE 51

Observation

±P ± P x y E E/ ± 1

✗ EC-Schnorr/ECDSA uses y-coordinate perturbed point

  • P is not likely on the original curve anymore

✓ qDSA makes use of x-only arithmetic perturbed point ± P is necessarily on the curve or its twist!

14

slide-52
SLIDE 52

Fault Attacks on Curve25519 Base Point

  • 1. Random semi-permanent fault against (program) memory

Can obtain 3-LSBs of nonce

  • 2. Instruction skipping fault against base point initialization

Can obtain 2-LSBs of nonce

  • Verified using ChipWhisperer-Lite against AVR XMEGA

Countermeasure: multiply nonces by LCM of the the curve cofactor and the twist cofactor (i.e. “cofactor-killing”) Ladder

15

slide-53
SLIDE 53

Fault Attacks on Curve25519 Base Point

  • 1. Random semi-permanent fault against (program) memory

Can obtain 3-LSBs of nonce

  • 2. Instruction skipping fault against base point initialization

Can obtain 2-LSBs of nonce

  • Verified using ChipWhisperer-Lite against AVR XMEGA

Countermeasure: multiply nonces by LCM of the the curve cofactor and the twist cofactor (i.e. “cofactor-killing”) Ladder : (8k, ± P = ( X : Z)) → ±[8k] P

15

slide-54
SLIDE 54

Record-breaking Implementation of Nonce Attack

slide-55
SLIDE 55

Result: Attack on 2-bit Leak

Wall clock time CPU-time Memory # Sig # MSB 16.7 days 11.7 years 15GB 226 26-bit

  • Input: simulated 245 faulty qDSA signatures, out of which

226 instances (with h <252−19) were fed into Bleichenbacher’s attack

  • Highly parallelized: 256 threads used (16 nodes

16 vCPU)

  • Recovered remaining bits of the secret key

6 hours

  • Estimation shows S&D would require at least

inputs TB RAM!

16

slide-56
SLIDE 56

Result: Attack on 2-bit Leak

Wall clock time CPU-time Memory # Sig # MSB 16.7 days 11.7 years 15GB 226 26-bit

  • Input: simulated 245 faulty qDSA signatures, out of which

226 instances (with h <252−19) were fed into Bleichenbacher’s attack

  • Highly parallelized: 256 threads used (16 nodes × 16 vCPU)
  • Recovered remaining bits of the secret key

6 hours

  • Estimation shows S&D would require at least

inputs TB RAM!

16

slide-57
SLIDE 57

Result: Attack on 2-bit Leak

Wall clock time CPU-time Memory # Sig # MSB 16.7 days 11.7 years 15GB 226 26-bit

  • Input: simulated 245 faulty qDSA signatures, out of which

226 instances (with h <252−19) were fed into Bleichenbacher’s attack

  • Highly parallelized: 256 threads used (16 nodes × 16 vCPU)
  • Recovered remaining bits of the secret key

6 hours

  • Estimation shows S&D would require at least

inputs TB RAM!

16

slide-58
SLIDE 58

Result: Attack on 2-bit Leak

Wall clock time CPU-time Memory # Sig # MSB 16.7 days 11.7 years 15GB 226 26-bit

  • Input: simulated 245 faulty qDSA signatures, out of which

226 instances (with h <252−19) were fed into Bleichenbacher’s attack

  • Highly parallelized: 256 threads used (16 nodes × 16 vCPU)
  • Recovered remaining bits of the secret key

6 hours

  • Estimation shows S&D would require at least

inputs TB RAM!

16

slide-59
SLIDE 59

Result: Attack on 2-bit Leak

Wall clock time CPU-time Memory # Sig # MSB 16.7 days 11.7 years 15GB 226 26-bit

  • Input: simulated 245 faulty qDSA signatures, out of which

226 instances (with h <252−19) were fed into Bleichenbacher’s attack

  • Highly parallelized: 256 threads used (16 nodes × 16 vCPU)
  • Recovered remaining bits of the secret key

6 hours

  • Estimation shows S&D would require at least

inputs TB RAM!

16

slide-60
SLIDE 60

Result: Attack on 2-bit Leak

Wall clock time CPU-time Memory # Sig # MSB 16.7 days 11.7 years 15GB 226 26-bit

  • Input: simulated 245 faulty qDSA signatures, out of which

226 instances (with h <252−19) were fed into Bleichenbacher’s attack

  • Highly parallelized: 256 threads used (16 nodes × 16 vCPU)
  • Recovered remaining bits of the secret key < 6 hours
  • Estimation shows S&D would require at least

inputs TB RAM!

16

slide-61
SLIDE 61

Result: Attack on 2-bit Leak

Wall clock time CPU-time Memory # Sig # MSB 16.7 days 11.7 years 15GB 226 26-bit

  • Input: simulated 245 faulty qDSA signatures, out of which

226 instances (with h <252−19) were fed into Bleichenbacher’s attack

  • Highly parallelized: 256 threads used (16 nodes × 16 vCPU)
  • Recovered remaining bits of the secret key < 6 hours
  • Estimation shows S&D would require at least 235 inputs

≈ 2TB RAM!

16

slide-62
SLIDE 62

Result: Attack on 3-bit Leak

Wall clock time CPU-time Memory # Sig # MSB HGJ–SS 4.25 hours 238 hours 2.8GB 223 23-bit S&D 0.75 hours 0.75 hours 128GB 230 21-bit

  • 56 threads used (2 CPUs × 14 cores/CPU × 2 threads/core)
  • The attack would be feasible using a small laptop!
  • Attacking with S&D is possible

17

slide-63
SLIDE 63

Result: Attack on 3-bit Leak

Wall clock time CPU-time Memory # Sig # MSB HGJ–SS 4.25 hours 238 hours 2.8GB 223 23-bit S&D 0.75 hours 0.75 hours 128GB 230 21-bit

  • 56 threads used (2 CPUs × 14 cores/CPU × 2 threads/core)
  • The attack would be feasible using a small laptop!
  • Attacking with S&D is possible

17

slide-64
SLIDE 64

Result: Attack on 3-bit Leak

Wall clock time CPU-time Memory # Sig # MSB HGJ–SS 4.25 hours 238 hours 2.8GB 223 23-bit S&D 0.75 hours 0.75 hours 128GB 230 21-bit

  • 56 threads used (2 CPUs × 14 cores/CPU × 2 threads/core)
  • The attack would be feasible using a small laptop!
  • Attacking with S&D is possible

17

slide-65
SLIDE 65

Result: Attack on 3-bit Leak

Wall clock time CPU-time Memory # Sig # MSB HGJ–SS 4.25 hours 238 hours 2.8GB 223 23-bit S&D 0.75 hours 0.75 hours 128GB 230 21-bit

  • 56 threads used (2 CPUs × 14 cores/CPU × 2 threads/core)
  • The attack would be feasible using a small laptop!
  • Attacking with S&D is possible

17

slide-66
SLIDE 66

Result: Attack on 3-bit Leak

Wall clock time CPU-time Memory # Sig # MSB HGJ–SS 4.25 hours 238 hours 2.8GB 223 23-bit S&D 0.75 hours 0.75 hours 128GB 230 21-bit

  • 56 threads used (2 CPUs × 14 cores/CPU × 2 threads/core)
  • The attack would be feasible using a small laptop!
  • Attacking with S&D is possible and faster

17

slide-67
SLIDE 67

Result: Attack on 3-bit Leak

Wall clock time CPU-time Memory # Sig # MSB HGJ–SS 4.25 hours 238 hours 2.8GB 223 23-bit S&D 0.75 hours 0.75 hours 128GB 230 21-bit

  • 56 threads used (2 CPUs × 14 cores/CPU × 2 threads/core)
  • The attack would be feasible using a small laptop!
  • Attacking with S&D is possible and faster , but requires

much more signatures and RAM

17

slide-68
SLIDE 68

Wrap-up

slide-69
SLIDE 69

Wrap-up

Contribution 1: Optimizing Bleichenbacher’s attack

  • Overcame the memory barrier of previous approach by

applying knapsack algorithm.

Contribution 2: Fault attacks on qDSA over Curve25519

  • Discovered yet another situation where adversary could

learn partial information of nonces.

  • Cofactor-killing is crucial when using
  • only arithmetic.

Contribution 3: Implementation

  • First large-scale parallelization of Bleichenbacher
  • Set new records!

18

slide-70
SLIDE 70

Wrap-up

Contribution 1: Optimizing Bleichenbacher’s attack

  • Overcame the memory barrier of previous approach by

applying knapsack algorithm.

Contribution 2: Fault attacks on qDSA over Curve25519

  • Discovered yet another situation where adversary could

learn partial information of nonces.

  • Cofactor-killing is crucial when using
  • only arithmetic.

Contribution 3: Implementation

  • First large-scale parallelization of Bleichenbacher
  • Set new records!

18

slide-71
SLIDE 71

Wrap-up

Contribution 1: Optimizing Bleichenbacher’s attack

  • Overcame the memory barrier of previous approach by

applying knapsack algorithm.

Contribution 2: Fault attacks on qDSA over Curve25519

  • Discovered yet another situation where adversary could

learn partial information of nonces.

  • Cofactor-killing is crucial when using
  • only arithmetic.

Contribution 3: Implementation

  • First large-scale parallelization of Bleichenbacher
  • Set new records!

18

slide-72
SLIDE 72

Wrap-up

Contribution 1: Optimizing Bleichenbacher’s attack

  • Overcame the memory barrier of previous approach by

applying knapsack algorithm.

Contribution 2: Fault attacks on qDSA over Curve25519

  • Discovered yet another situation where adversary could

learn partial information of nonces.

  • Cofactor-killing is crucial when using
  • only arithmetic.

Contribution 3: Implementation

  • First large-scale parallelization of Bleichenbacher
  • Set new records!

18

slide-73
SLIDE 73

Wrap-up

Contribution 1: Optimizing Bleichenbacher’s attack

  • Overcame the memory barrier of previous approach by

applying knapsack algorithm.

Contribution 2: Fault attacks on qDSA over Curve25519

  • Discovered yet another situation where adversary could

learn partial information of nonces.

  • Cofactor-killing is crucial when using x-only arithmetic.

Contribution 3: Implementation

  • First large-scale parallelization of Bleichenbacher
  • Set new records!

18

slide-74
SLIDE 74

Wrap-up

Contribution 1: Optimizing Bleichenbacher’s attack

  • Overcame the memory barrier of previous approach by

applying knapsack algorithm.

Contribution 2: Fault attacks on qDSA over Curve25519

  • Discovered yet another situation where adversary could

learn partial information of nonces.

  • Cofactor-killing is crucial when using x-only arithmetic.

Contribution 3: Implementation

  • First large-scale parallelization of Bleichenbacher
  • Set new records!

18

slide-75
SLIDE 75

Wrap-up

Contribution 1: Optimizing Bleichenbacher’s attack

  • Overcame the memory barrier of previous approach by

applying knapsack algorithm.

Contribution 2: Fault attacks on qDSA over Curve25519

  • Discovered yet another situation where adversary could

learn partial information of nonces.

  • Cofactor-killing is crucial when using x-only arithmetic.

Contribution 3: Implementation

  • First large-scale parallelization of Bleichenbacher
  • Set new records!

18

slide-76
SLIDE 76

Wrap-up

Contribution 1: Optimizing Bleichenbacher’s attack

  • Overcame the memory barrier of previous approach by

applying knapsack algorithm.

Contribution 2: Fault attacks on qDSA over Curve25519

  • Discovered yet another situation where adversary could

learn partial information of nonces.

  • Cofactor-killing is crucial when using x-only arithmetic.

Contribution 3: Implementation

  • First large-scale parallelization of Bleichenbacher
  • Set new records!

18

slide-77
SLIDE 77

Thank you! Dank je!

GitHub: https://github.com/security-kouza/ new-bleichenbacher-records [Fre] By Akira Takahashi, Mehdi Tibouchi, and Masayuki Abe

18

slide-78
SLIDE 78

References I

Diego F. Aranha, Pierre-Alain Fouque, Benoit Gérard, Jean-Gabriel Kammerer, Mehdi Tibouchi, and Jean-Christophe Zapalowicz. GLV/GLS decomposition, power analysis, and attacks on ECDSA signatures with single-bit nonce bias. In T. Iwata and P. Sarkar, editors, ASIACRYPT 2014, volume 8873 of LNCS, pages 262–281. Springer, 2014. Daniel Bleichenbacher. On the generation of one-time keys in DL signature schemes. Presentation at IEEE P1363 working group meeting, 2000.

19

slide-79
SLIDE 79

References II

Elke De Mulder, Michael Hutter, Mark E Marson, and Peter Pearson. Using Bleichenbacher’s solution to the hidden number problem to attack nonce leaks in 384-bit ECDSA: extended version. Journal of Cryptographic Engineering, 4(1):33–45, 2014. Freepik. Icons made by Freepik from Flaticon.com is licensed by CC 3.0 BY. http://www.flaticon.com.

20

slide-80
SLIDE 80

References III

Nick Howgrave-Graham and Antoine Joux. New generic algorithms for hard knapsacks. In Henri Gilbert, editor, EUROCRYPT 2010, volume 6110 of LNCS, pages 235–256. Springer, 2010. Mingjie Liu and Phong Q. Nguyen. Solving BDD by enumeration: An update. In CT-RSA 2013, volume 7779 of LNCS, pages 293–309. Springer, 2013. Phong Q. Nguyen and Igor E. Shparlinski. The insecurity of the digital signature algorithm with partially known nonces. Journal of Cryptology, 15(3), 2002.

21

slide-81
SLIDE 81

References IV

Joost Renes and Benjamin Smith. qDSA: Small and secure digital signatures with curve-based Diffie-Hellman key pairs. In Tsuyoshi Takagi and Thomas Peyrin, editors, ASIACRYPT 2017, volume 10625 of LNCS, pages 273–302. Springer, 2017. Richard Schroeppel and Adi Shamir. A T = O(2n/2), S = O(2n/4) algorithm for certain NP-complete problems. SIAM Journal on Computing, 10(3):456–464, 1981.

22