Practical Key Recovery for Discrete-Logarithm Based Authentication - - PowerPoint PPT Presentation

practical key recovery for discrete logarithm based
SMART_READER_LITE
LIVE PREVIEW

Practical Key Recovery for Discrete-Logarithm Based Authentication - - PowerPoint PPT Presentation

Practical Key Recovery for Discrete-Logarithm Based Authentication Schemes from Random Nonce Bits Damien Vergnaud cole normale suprieure CHES September, 15th 2015 (with Aurlie Bauer) Damien Vergnaud (ENS) Key Recovery from Random


slide-1
SLIDE 1

Practical Key Recovery for Discrete-Logarithm Based Authentication Schemes from Random Nonce Bits

Damien Vergnaud

École normale supérieure

CHES September, 15th 2015

(with Aurélie Bauer)

Damien Vergnaud (ENS) Key Recovery from Random Nonce Bits September, 15th 2015 1 / 20

slide-2
SLIDE 2

Contents

1

Introduction DL-based Identification Schemes Cryptanalysis of DL-based Authentication Schemes

2

First attack: Exact Partial Knowledge of Nonces Key Recovery with Two Signatures (Key Recovery with More Signatures Coding-Theoretic Viewpoint

3

Second Attack: Correcting Errors in Nonces

Damien Vergnaud (ENS) Key Recovery from Random Nonce Bits September, 15th 2015 2 / 20

slide-3
SLIDE 3

Identification Schemes

enables a prover to identify itself to a verifier Adversary goal: impersonation

◮ playing the role of Alice but denied the secret key, ◮ it should have negligible probability of making Bob accept. ◮ passive attacks / active attacks Damien Vergnaud (ENS) Key Recovery from Random Nonce Bits September, 15th 2015 3 / 20

slide-4
SLIDE 4

Schnorr’s Identification Scheme

G = g a group of prime order q

Prover P proves to verifier V that it knows the discrete log x of a public group element y = gx. P V

x

R

← −Zq

y=gx y

Damien Vergnaud (ENS) Key Recovery from Random Nonce Bits September, 15th 2015 4 / 20

slide-5
SLIDE 5

Schnorr’s Identification Scheme

G = g a group of prime order q

Prover P proves to verifier V that it knows the discrete log x of a public group element y = gx. P V

x

R

← −Zq

y=gx y r

R

← −Zq

Damien Vergnaud (ENS) Key Recovery from Random Nonce Bits September, 15th 2015 4 / 20

slide-6
SLIDE 6

Schnorr’s Identification Scheme

G = g a group of prime order q

Prover P proves to verifier V that it knows the discrete log x of a public group element y = gx. P V

x

R

← −Zq

y=gx y r

R

← −Zq

Z=gr

Damien Vergnaud (ENS) Key Recovery from Random Nonce Bits September, 15th 2015 4 / 20

slide-7
SLIDE 7

Schnorr’s Identification Scheme

G = g a group of prime order q

Prover P proves to verifier V that it knows the discrete log x of a public group element y = gx. P V

x

R

← −Zq

y=gx y r

R

← −Zq

Z=gr Z

Damien Vergnaud (ENS) Key Recovery from Random Nonce Bits September, 15th 2015 4 / 20

slide-8
SLIDE 8

Schnorr’s Identification Scheme

G = g a group of prime order q

Prover P proves to verifier V that it knows the discrete log x of a public group element y = gx. P V

x

R

← −Zq

y=gx y r

R

← −Zq

Z=gr Z c

R

← −Zq

Damien Vergnaud (ENS) Key Recovery from Random Nonce Bits September, 15th 2015 4 / 20

slide-9
SLIDE 9

Schnorr’s Identification Scheme

G = g a group of prime order q

Prover P proves to verifier V that it knows the discrete log x of a public group element y = gx. P V

x

R

← −Zq

y=gx y r

R

← −Zq

Z=gr Z c

R

← −Zq

c

Damien Vergnaud (ENS) Key Recovery from Random Nonce Bits September, 15th 2015 4 / 20

slide-10
SLIDE 10

Schnorr’s Identification Scheme

G = g a group of prime order q

Prover P proves to verifier V that it knows the discrete log x of a public group element y = gx. P V

x

R

← −Zq

y=gx y r

R

← −Zq

Z=gr Z c

R

← −Zq

c s=r+cx mod q

Damien Vergnaud (ENS) Key Recovery from Random Nonce Bits September, 15th 2015 4 / 20

slide-11
SLIDE 11

Schnorr’s Identification Scheme

G = g a group of prime order q

Prover P proves to verifier V that it knows the discrete log x of a public group element y = gx. P V

x

R

← −Zq

y=gx y r

R

← −Zq

Z=gr Z c

R

← −Zq

c s=r+cx mod q s

Damien Vergnaud (ENS) Key Recovery from Random Nonce Bits September, 15th 2015 4 / 20

slide-12
SLIDE 12

Schnorr’s Identification Scheme

G = g a group of prime order q

Prover P proves to verifier V that it knows the discrete log x of a public group element y = gx. P V

x

R

← −Zq

y=gx y r

R

← −Zq

Z=gr Z c

R

← −Zq

c s=r+cx mod q s gs·y−c ? =Z

Damien Vergnaud (ENS) Key Recovery from Random Nonce Bits September, 15th 2015 4 / 20

slide-13
SLIDE 13

GPS Identification Scheme

proposed by Girault in 1991 formally analyzed by Poupard, and Stern in 1998 based on Schnorr’s identification scheme Leaves modular reduction in response-calculation step

◮ save computation time ◮ allows fast on-the-fly authentication (use of coupons)

signatures using Fiat-Shamir transform

Damien Vergnaud (ENS) Key Recovery from Random Nonce Bits September, 15th 2015 5 / 20

slide-14
SLIDE 14

GPS Identification Scheme

G = g a group

Prover P proves to verifier V that it knows the discrete log x of a public group element y = gx. Parameters (128-bit security level): (S, R, C) = (256, 512, 128) P V

x

R

← −{1,...,2S}

y=gx y r

R

← −{1,...,2R}

Z=gr Z c

R

← −{1,...,2C}

c s=r+cx s gs·y−c ? =Z

Damien Vergnaud (ENS) Key Recovery from Random Nonce Bits September, 15th 2015 6 / 20

slide-15
SLIDE 15

Cryptanalysis of DL-based Schemes

Discrete logarithm computation of x = logg(y) impersonation Knowledge of r = logg(Z) Key recovery: s = r + cx ⇒ x = (s − r)/c impersonation This knowledge may be due to

◮ a weak random number generator ◮ a timing attack ◮ a probing attack ◮ . . . Damien Vergnaud (ENS) Key Recovery from Random Nonce Bits September, 15th 2015 7 / 20

slide-16
SLIDE 16

Cryptanalysis of DL-based Schemes

Discrete logarithm computation of x = logg(y) impersonation Knowledge of r = logg(Z) Key recovery: s = r + cx ⇒ x = (s − r)/c impersonation This knowledge may be due to

◮ a weak random number generator ◮ a timing attack ◮ a probing attack ◮ . . . Damien Vergnaud (ENS) Key Recovery from Random Nonce Bits September, 15th 2015 7 / 20

slide-17
SLIDE 17

Cryptanalysis of DL-based Schemes

Discrete logarithm computation of x = logg(y) impersonation Knowledge of r = logg(Z) Key recovery: s = r + cx ⇒ x = (s − r)/c impersonation This knowledge may be due to

◮ a weak random number generator ◮ a timing attack ◮ a probing attack ◮ . . . Damien Vergnaud (ENS) Key Recovery from Random Nonce Bits September, 15th 2015 7 / 20

slide-18
SLIDE 18

Cryptanalysis of DL-based Schemes

Kuwakado, Tanaka (1999): half of r’s LSB leaked for two identification/signatures Howgrave-Graham, Smart, Nguyen, Shparlinski (2001-2002): fraction of r’s consecutive bits for several identification/signatures Our work: fraction of r’s bits for several identification/signatures not necessarily consecutive

Damien Vergnaud (ENS) Key Recovery from Random Nonce Bits September, 15th 2015 8 / 20

slide-19
SLIDE 19

Cryptanalysis of DL-based Schemes

Kuwakado, Tanaka (1999): half of r’s LSB leaked for two identification/signatures Howgrave-Graham, Smart, Nguyen, Shparlinski (2001-2002): fraction of r’s consecutive bits for several identification/signatures Our work: fraction of r’s bits for several identification/signatures not necessarily consecutive

Damien Vergnaud (ENS) Key Recovery from Random Nonce Bits September, 15th 2015 8 / 20

slide-20
SLIDE 20

Cryptanalysis of DL-based Schemes

Kuwakado, Tanaka (1999): half of r’s LSB leaked for two identification/signatures Howgrave-Graham, Smart, Nguyen, Shparlinski (2001-2002): fraction of r’s consecutive bits for several identification/signatures Our work: fraction of r’s bits for several identification/signatures not necessarily consecutive

Damien Vergnaud (ENS) Key Recovery from Random Nonce Bits September, 15th 2015 8 / 20

slide-21
SLIDE 21

Our Work

reconstructing private keys given a random fraction of nonce bits

◮ elementary and does not make use of the lattice techniques ◮ similar to reconstruction of RSA secret key

(Heninger et al. Crypto’09 + Crypto’10)

specialized to the case where the value r + cx is known over Z

◮ GPS identification under passive attacks ◮ GPS signature (Fiat-Shamir heuristic) ◮ Schnorr identification under active attacks (small challenge)

analysis of the algorithm’s runtime behavior algorithm implemented (extensive experiments using it)

Damien Vergnaud (ENS) Key Recovery from Random Nonce Bits September, 15th 2015 9 / 20

slide-22
SLIDE 22

General Idea – Two Signatures

r1 + c1x = s1 r2 + c2x = s2 GOAL: reconstruct bits of nonces starting at the LSB. APPROACH (odd c1 and c2)

◮ 4 choices for each pair of bits (r1[i], r2[i]) # Search space: 22R ◮ reduces to 2 as the relation

c2r1 − c1r2 = c2s1 − c1s2 = C gives r1[i] + r2[i] = (C − c2r1[0..i − 1] − c1r2[0..i − 1])[i] mod 2 # Search space: 2R (same as exhaustive search!)

IDEA: Search tree can be pruned if we know some bits of r1, r2

Damien Vergnaud (ENS) Key Recovery from Random Nonce Bits September, 15th 2015 10 / 20

slide-23
SLIDE 23

General Idea – Two Signatures

r1 + c1x = s1 r2 + c2x = s2 GOAL: reconstruct bits of nonces starting at the LSB. APPROACH (odd c1 and c2)

◮ 4 choices for each pair of bits (r1[i], r2[i]) # Search space: 22R ◮ reduces to 2 as the relation

c2r1 − c1r2 = c2s1 − c1s2 = C gives r1[i] + r2[i] = (C − c2r1[0..i − 1] − c1r2[0..i − 1])[i] mod 2 # Search space: 2R (same as exhaustive search!)

IDEA: Search tree can be pruned if we know some bits of r1, r2

Damien Vergnaud (ENS) Key Recovery from Random Nonce Bits September, 15th 2015 10 / 20

slide-24
SLIDE 24

General Idea – Two Signatures

r1 + c1x = s1 r2 + c2x = s2 GOAL: reconstruct bits of nonces starting at the LSB. APPROACH (odd c1 and c2)

◮ 4 choices for each pair of bits (r1[i], r2[i]) # Search space: 22R ◮ reduces to 2 as the relation

c2r1 − c1r2 = c2s1 − c1s2 = C gives r1[i] + r2[i] = (C − c2r1[0..i − 1] − c1r2[0..i − 1])[i] mod 2 # Search space: 2R (same as exhaustive search!)

IDEA: Search tree can be pruned if we know some bits of r1, r2

Damien Vergnaud (ENS) Key Recovery from Random Nonce Bits September, 15th 2015 10 / 20

slide-25
SLIDE 25

Solution Tree: Example

c1 = 9, s1 = 147 c2 = 15, s2 = 239 C = 54 r1 = 1???, r1 = ??10 c2r1 − c1r2 = C 0000 1010

r1 r2 1 1

Damien Vergnaud (ENS) Key Recovery from Random Nonce Bits September, 15th 2015 11 / 20

slide-26
SLIDE 26

Solution Tree: Example

c1 = 9, s1 = 147 c2 = 15, s2 = 239 C = 54 r1 = 1???, r1 = ??10 c2r1 − c1r2 = C 0000 1010

r1 r2 1 1

Damien Vergnaud (ENS) Key Recovery from Random Nonce Bits September, 15th 2015 11 / 20

slide-27
SLIDE 27

Solution Tree: Example

c1 = 9, s1 = 147 c2 = 15, s2 = 239 C = 54 r1 = 1???, r1 = ??10 c2r1 − c1r2 = C 0000 1010

r1 r2 1 1 00 10 10 00

Damien Vergnaud (ENS) Key Recovery from Random Nonce Bits September, 15th 2015 11 / 20

slide-28
SLIDE 28

Solution Tree: Example

c1 = 9, s1 = 147 c2 = 15, s2 = 239 C = 54 r1 = 1???, r1 = ??10 c2r1 − c1r2 = C 0000 1010

r1 r2 1 1 00 10 10 00

Damien Vergnaud (ENS) Key Recovery from Random Nonce Bits September, 15th 2015 11 / 20

slide-29
SLIDE 29

Solution Tree: Example

c1 = 9, s1 = 147 c2 = 15, s2 = 239 C = 54 r1 = 1???, r1 = ??10 c2r1 − c1r2 = C 0000 1010

r1 r2 1 1 00 10 10 00

000 010 100 110

Damien Vergnaud (ENS) Key Recovery from Random Nonce Bits September, 15th 2015 11 / 20

slide-30
SLIDE 30

Solution Tree: Example

c1 = 9, s1 = 147 c2 = 15, s2 = 239 C = 54 r1 = 1???, r1 = ??10 c2r1 − c1r2 = C 0000 1010

r1 r2 1 1 00 10 10 00

000 010 100 110 0000 1010 1000 0010 0100 0110 1100 1110

Damien Vergnaud (ENS) Key Recovery from Random Nonce Bits September, 15th 2015 11 / 20

slide-31
SLIDE 31

Solution Tree: Example

c1 = 9, s1 = 147 c2 = 15, s2 = 239 C = 54 r1 = 1???, r1 = ??10 c2r1 − c1r2 = C 0000 1010

r1 r2 1 1 00 10 10 00

000 010 100 110 0000 1010 1000 0010 0100 0110 1100 1110 0000 1010 1000 0010 0100 0110 1100 1110

Damien Vergnaud (ENS) Key Recovery from Random Nonce Bits September, 15th 2015 11 / 20

slide-32
SLIDE 32

Branching Analysis – Two Signatures

r1[i] or r2[i] is known the equation fixes the other bit. r1[i] and r2[i] known the equation is either satisfied or not. Assumption: δ-fraction of r1 and r2 bits known #{r1[i], r2[i] known} = 0: 2 Branches, Prob = (1 − δ)2 #{r1[i], r2[i] known} = 1: 1 Branch , Prob = 2δ(1 − δ) #{r1[i], r2[i] known} = 2: γ Branch , Prob = δ2 for 0 < γ < 1 Expected number of branches from each node: 2 · (1 − δ2) + 1 · 2δ(1 − δ) + γ · δ2 = 2 − 2δ + γδ2

Damien Vergnaud (ENS) Key Recovery from Random Nonce Bits September, 15th 2015 12 / 20

slide-33
SLIDE 33

Branching Analysis – Two Signatures

r1[i] or r2[i] is known the equation fixes the other bit. r1[i] and r2[i] known the equation is either satisfied or not. Assumption: δ-fraction of r1 and r2 bits known #{r1[i], r2[i] known} = 0: 2 Branches, Prob = (1 − δ)2 #{r1[i], r2[i] known} = 1: 1 Branch , Prob = 2δ(1 − δ) #{r1[i], r2[i] known} = 2: γ Branch , Prob = δ2 for 0 < γ < 1 Expected number of branches from each node: 2 · (1 − δ2) + 1 · 2δ(1 − δ) + γ · δ2 = 2 − 2δ + γδ2

Damien Vergnaud (ENS) Key Recovery from Random Nonce Bits September, 15th 2015 12 / 20

slide-34
SLIDE 34

Branching Analysis – Two Signatures

r1[i] or r2[i] is known the equation fixes the other bit. r1[i] and r2[i] known the equation is either satisfied or not. Assumption: δ-fraction of r1 and r2 bits known #{r1[i], r2[i] known} = 0: 2 Branches, Prob = (1 − δ)2 #{r1[i], r2[i] known} = 1: 1 Branch , Prob = 2δ(1 − δ) #{r1[i], r2[i] known} = 2: γ Branch , Prob = δ2 for 0 < γ < 1 Expected number of branches from each node: 2 · (1 − δ2) + 1 · 2δ(1 − δ) + γ · δ2 = 2 − 2δ + γδ2

Damien Vergnaud (ENS) Key Recovery from Random Nonce Bits September, 15th 2015 12 / 20

slide-35
SLIDE 35

Branching Analysis (simplified) – Two Signatures

Growth factor of the Search Tree: 2 − 2δ + γδ2 Polynomial time attack ? Keep the growth factor ≃ 1 to restrict growth. δ = (1 −

  • 1 − γ)/γ

Experimental observation: γ ≃ 1/2 (open problem) δ ≃ 2 − √ 2 ≃ 0, 5857 For δ > 2 − √ 2, the algorithm recovers the secret key in expected quadratic time. (assuming that the effect of a bit error during reconstruction is propagated uniformly through subsequent bits of the key

Damien Vergnaud (ENS) Key Recovery from Random Nonce Bits September, 15th 2015 13 / 20

slide-36
SLIDE 36

Branching Analysis (simplified) – Two Signatures

Growth factor of the Search Tree: 2 − 2δ + γδ2 Polynomial time attack ? Keep the growth factor ≃ 1 to restrict growth. δ = (1 −

  • 1 − γ)/γ

Experimental observation: γ ≃ 1/2 (open problem) δ ≃ 2 − √ 2 ≃ 0, 5857 For δ > 2 − √ 2, the algorithm recovers the secret key in expected quadratic time. (assuming that the effect of a bit error during reconstruction is propagated uniformly through subsequent bits of the key

Damien Vergnaud (ENS) Key Recovery from Random Nonce Bits September, 15th 2015 13 / 20

slide-37
SLIDE 37

Branching Analysis (simplified) – n Signatures

Assumption: δ-fraction of r1, . . . , rn bits known #{r1[i], . . . , rn[i] known} = 0: 2 Branches, Prob = (1 − δ)n #{r1[i], . . . , rn[i] known} = 1: 1 Branches, Prob = nδ(1 − δ)n−1 #{r1[i], . . . , rn[i] known} = 2: γ1 Branches, Prob = n

2

  • δ2(1 − δ)n−2

. . . #{r1[i], . . . , rn[i] known} = n: γn−1, Prob = δn Experimental observation: γi ≃ 2−i (open problem) For δ > 2 − 21−1/n ≃ ln(2)/n, the algorithm recovers the secret key in O(nk2) expected time. (assuming that the effect of a bit error during reconstruction is propagated uniformly through subsequent bits of the key

Damien Vergnaud (ENS) Key Recovery from Random Nonce Bits September, 15th 2015 14 / 20

slide-38
SLIDE 38

Branching Analysis (simplified) – n Signatures

Assumption: δ-fraction of r1, . . . , rn bits known #{r1[i], . . . , rn[i] known} = 0: 2 Branches, Prob = (1 − δ)n #{r1[i], . . . , rn[i] known} = 1: 1 Branches, Prob = nδ(1 − δ)n−1 #{r1[i], . . . , rn[i] known} = 2: γ1 Branches, Prob = n

2

  • δ2(1 − δ)n−2

. . . #{r1[i], . . . , rn[i] known} = n: γn−1, Prob = δn Experimental observation: γi ≃ 2−i (open problem) For δ > 2 − 21−1/n ≃ ln(2)/n, the algorithm recovers the secret key in O(nk2) expected time. (assuming that the effect of a bit error during reconstruction is propagated uniformly through subsequent bits of the key

Damien Vergnaud (ENS) Key Recovery from Random Nonce Bits September, 15th 2015 14 / 20

slide-39
SLIDE 39

Binary Erasure Channel

1 ? 1 1 − δ 1 − δ δ δ Channel capacity: 1 − δ Code C: set of 2r words on nr bits (r Hensel lifts w/o any pruning) Code rate: 1/n Received word: noisy version of the nonces.

Damien Vergnaud (ENS) Key Recovery from Random Nonce Bits September, 15th 2015 15 / 20

slide-40
SLIDE 40

Binary Erasure Channel

1 ? 1 1 − δ 1 − δ δ δ Channel capacity: 1 − δ Code C: set of 2r words on nr bits (r Hensel lifts w/o any pruning) Code rate: 1/n Received word: noisy version of the nonces.

Shannon’s noisy-channel coding theorem

Reliable decoding impossible when the code rate exceeds the capacity. Variants of the algorithm cannot be efficient for δ < 1/n

Damien Vergnaud (ENS) Key Recovery from Random Nonce Bits September, 15th 2015 15 / 20

slide-41
SLIDE 41

What about errors instead of erasures?

Scenario: Attacker gets all bits but errors occur

◮ i.e. we obtain erroneous versions of nonces

Motivation: Physical measurements induces random faults. The adversary knows r ′

1, . . . , r ′ n s.t.

Pr(r ′

j [i] = rj[i]) = 1 − δ, for all i, j

(for simplicity, we assume δ is known) Information provided by the Oracle is no longer fault-free!

Damien Vergnaud (ENS) Key Recovery from Random Nonce Bits September, 15th 2015 16 / 20

slide-42
SLIDE 42

Can we adapt the previous algorithm?

The previous pruning algorithm requires correct bits.

◮ otherwise we might prune the correct solution

Need pruning with the following properties:

◮ Correct key survives with large probability. ◮ Sufficiently many incorrect keys are pruned. ◮ similar to Henecka-May-Meurer error correction in RSA secret keys

(Crypto’10)

IDEA: Use many subsequent bits instead of just one

◮ grow subtrees of depth t ◮ prune leaves whose Hamming distance is greater than some

threshold d

Damien Vergnaud (ENS) Key Recovery from Random Nonce Bits September, 15th 2015 17 / 20

slide-43
SLIDE 43

Can we adapt the previous algorithm?

The previous pruning algorithm requires correct bits.

◮ otherwise we might prune the correct solution

Need pruning with the following properties:

◮ Correct key survives with large probability. ◮ Sufficiently many incorrect keys are pruned. ◮ similar to Henecka-May-Meurer error correction in RSA secret keys

(Crypto’10)

IDEA: Use many subsequent bits instead of just one

◮ grow subtrees of depth t ◮ prune leaves whose Hamming distance is greater than some

threshold d

Damien Vergnaud (ENS) Key Recovery from Random Nonce Bits September, 15th 2015 17 / 20

slide-44
SLIDE 44

Can we adapt the previous algorithm?

The previous pruning algorithm requires correct bits.

◮ otherwise we might prune the correct solution

Need pruning with the following properties:

◮ Correct key survives with large probability. ◮ Sufficiently many incorrect keys are pruned. ◮ similar to Henecka-May-Meurer error correction in RSA secret keys

(Crypto’10)

IDEA: Use many subsequent bits instead of just one

◮ grow subtrees of depth t ◮ prune leaves whose Hamming distance is greater than some

threshold d

Damien Vergnaud (ENS) Key Recovery from Random Nonce Bits September, 15th 2015 17 / 20

slide-45
SLIDE 45

Analysis of Error-Correction

GOALS:

◮ # of nodes polynomially bounded (t not too large, i.e. t = O(log r)) ◮ Separate correct and incorrect partial solutions (t large) ◮ Correct solution passes all pruning steps (d not too large) ◮ Few incorrect solutions survive pruning (d large)

Analysis (see paper): for ǫ > 0

◮ t = ln(R)/nǫ2 ◮ γ =

  • (1 + 1/t) ln(2)/2n

◮ d = nt(1/2 + γ) ◮ δ = 1/2 − γ − ǫ Damien Vergnaud (ENS) Key Recovery from Random Nonce Bits September, 15th 2015 18 / 20

slide-46
SLIDE 46

Analysis of Error-Correction

GOALS:

◮ # of nodes polynomially bounded (t not too large, i.e. t = O(log r)) ◮ Separate correct and incorrect partial solutions (t large) ◮ Correct solution passes all pruning steps (d not too large) ◮ Few incorrect solutions survive pruning (d large)

Analysis (see paper): for ǫ > 0

◮ t = ln(R)/nǫ2 ◮ γ =

  • (1 + 1/t) ln(2)/2n

◮ d = nt(1/2 + γ) ◮ δ = 1/2 − γ − ǫ Damien Vergnaud (ENS) Key Recovery from Random Nonce Bits September, 15th 2015 18 / 20

slide-47
SLIDE 47

Cryptanalytic Result

For ǫ > 0 and δ > 1

2 −

  • ln(2)

2n − ǫ, the algorithm recovers the secret key

in O(nk2+ln(2)/nǫ2) expected time. (assuming that the effect of a bit error during reconstruction is propagated uniformly through subsequent bits of the key

n 2 3 4 5 6 n δ 0.084 0.160 0.205 0.237 0.260 1/2 −

  • ln(2)/2n

δ∗ 0.110 0.174 0.214 0.243 0.264 H−1

2 (1 − 1/n) Damien Vergnaud (ENS) Key Recovery from Random Nonce Bits September, 15th 2015 19 / 20

slide-48
SLIDE 48

Conclusion

Key recovery attack on DL-based authentication schemes

◮ given a random fraction of nonce bits ◮ given all bits with noise

The two approaches can be combined (and also with other side information) Open problems:

◮ Combine these algorithms with discrete-log algorithms with partial

knowledge

◮ Adapt to schemes with modular reduction (using leakage of

modular reduction ?)

Damien Vergnaud (ENS) Key Recovery from Random Nonce Bits September, 15th 2015 20 / 20