Attacking (EC)DSA Given Only an Implicit Hint SAC 2012 ` 1 , Christopher Goyet1,2 Jean-Charles Faugere 1: 2:

UPMC, INRIA, CNRS, LIP6

Thales Communications and Security

August 2012

´ el ¨ Renault1 Guena

Part I Introduction

2/26

Recovering the whole secret key in polynomial time

Partial exposure of the secret key: RSA: N = pq can be factored given some bits of p Rivest and Shamir (Eurocrypt 1985) Coppersmith (Eurocrypt 1996) Boneh et al. (Asiacrypt 1998) ... Herrmann and May (Asiacrypt 2008)

DSA: discrete logarithm of gk given small number of bits of k Howgrave-Graham and Smart (2001) Nguyen and Shparlinski (2002) ...

+ Take care to power analysis, fault attacks, protocol failures, etc.

3/26

Recovering the whole secret key in polynomial time

Partial exposure of the secret key: RSA: N = pq can be factored given some bits of p Rivest and Shamir (Eurocrypt 1985) Coppersmith (Eurocrypt 1996) Boneh et al. (Asiacrypt 1998) ... Herrmann and May (Asiacrypt 2008)

DSA: discrete logarithm of gk given small number of bits of k Howgrave-Graham and Smart (2001) Nguyen and Shparlinski (2002) ...

+ Take care to power analysis, fault attacks, protocol failures, etc.

3/26

Nowadays ?

Countermeasures development: unlikely that attacker can determine a set of bits too strong assumption but . . . does an attacker really need to explicitly know some bits ?

4/26

Nowadays ?

Countermeasures development: unlikely that attacker can determine a set of bits too strong assumption but . . . does an attacker really need to explicitly know some bits ?

4/26

With only an implicit hint: the case of RSA

Implicit factorization introduced by May and Ritzenhofen (PKC 2009) not required to explicitly know some bits an implicit hint may be enough ⇒ polynomial factorization Let Ni = pi qi be given RSA moduli. Implicit Hint was the suspicion that: number of pi ’s share enough bits + Many practical scenarii proposed (side-channel, design, . . . )

5/26

With only an implicit hint: the case of RSA

Implicit factorization introduced by May and Ritzenhofen (PKC 2009) not required to explicitly know some bits an implicit hint may be enough ⇒ polynomial factorization Let Ni = pi qi be given RSA moduli. Implicit Hint was the suspicion that: number of pi ’s share enough bits + Many practical scenarii proposed (side-channel, design, . . . )

5/26

with only an implicit Hint : the case of (EC)DSA What about (EC)DSA ? + application of the May-Ritzenhofen trick to DSA scenario

Proposed Problematic: Let (Mi , Si ) be given signed messages from a target with DSA-like schemes. Assuming some nonces share a portion of their (unknown) bits: evaluate the complexity to find the secret key possible positions for shared bits? (MSB, LSB, Middle, etc)

Possible applications: fault attacks (unknown bits modification) destroyed register (like in May-Ritzenhofen 2009) malicious modification of random generators (e.g. smart card) 6/26

With only an implicit hint: the case of (EC)DSA

Our results: implicit hint is exploited by lattice method (shortest vector) required shared bits/signatures comparable to explicit methods (e.g. ≈ 3 shared bits on 100 signed messages) efficient down to 1 shared bit/400 signatures malicious PRNG undetectable (DieHarder & STS testing suite)

7/26

DSA-like schemes We recall the DSA-style signature scheme: DLP instance: let G be a multiplicative group of prime order q (elements of G are seen as integers) with 2N−1 ≤ q < 2N , N at least 160 private key is an integer a ∈ {1, . . . , q − 1} public key is ga ∈ G, where g is a publicly known generator of G

Signature: to sign a message m, the signer computes h = HASH(m) and chooses a random number k ∈ {1, . . . , q − 1} called the ephemeral key or nonce the signature is the pair (r, s) given by r = gk mod q

and

s = k−1 (h + ar) mod q

8/26

Our assumptions To simplify, we choose the size of q equals to N = 160 bits (thus a and ki are < 2160 ) Attackers has messages mi (i = 1, . . . , n) with associated signatures (ri , si ) Implicit Hint all ephemeral keys ki used to signed mi shared δ bits between their MSB/LSB: 160 − δ

˜ki

ki = kL 0

t

kM t0

160

Notice that ki , ˜ki , kL and kM are unknown but the positions t and t0 are known 9/26

Part II Lattice Attack

10/26

Shared MSB and LSB: first lattice

Implicit hypothesis: 160 − δ

˜ki

ki = kL 0

t

kM t0

160

Polynomial system modeling (two signatures):  S:

k1 s1 = h1 + ar1 mod q k2 s2 = h2 + ar2 mod q

11/26

Shared MSB and LSB: first lattice

Implicit hypothesis: 160 − δ

˜ki

ki = kL 0

t

kM t0

160

Polynomial system modeling (two signatures):  S:

0 (kL + 2t k˜1 + 2t kM )s1 = h1 + ar1 mod q 0 (kL + 2t k˜2 + 2t kM )s2 = h2 + ar2 mod q

11/26

Shared MSB and LSB: first lattice Implicit hypothesis: 160 − δ

˜ki

ki = kL 0

t

kM t0

160

Polynomial system modeling (two signatures): 0

fi (kL , ki , kM , a) = hi + ari − (kL + 2t k˜i + 2t kM )si  f1 (kL , k1 , kM , a) = 0 mod q S: f2 (kL , k2 , kM , a) = 0 mod q Elimination of the variables kL and kM : −1 −1 −1 −t −1 −t −1 −t ˜ ˜ 2−t s−1 1 f1 − 2 s2 f2 = 2 (s1 h1 − s2 h2 ) + 2 a(s1 r1 − s2 r2 ) − (k1 − k2 )

11/26

Shared MSB and LSB: first lattice Implicit hypothesis: 160 − δ

˜ki

ki = kL 0

t

kM t0

160

Polynomial system modeling (two signatures): −1 −1 −1 −t −1 −t −1 −t ˜ ˜ 2−t s−1 1 f1 − 2 s2 f2 = 2 (s1 h1 − s2 h2 ) + 2 a(s1 r1 − s2 r2 ) − (k1 − k2 ) F(x0 , x1 , x2 ) = x0 α + x1 β − x2 ∈ Fq [x0 , x1 , x2 ] verifies F(1, a, κ) = 0 −1 α = 2−t (s−1 1 h1 − s2 h2 ) mod q −1 β = 2−t (s−1 1 r1 − s2 r2 ) mod q

κ = (k˜1 − k˜2 )

11/26

Shared MSB and LSB: first lattice Implicit hypothesis: 160 − δ

˜ki

ki = kL 0

t

kM t0

160

Polynomial system modeling (two signatures): F(x0 , x1 , x2 ) = x0 α + x1 β − x2 ∈ Fq [x0 , x1 , x2 ] verifies F(1, a, κ) = 0 The set of solutions L of F forms a lattice : v0 = (1, a, κ) ∈ L = {(x0 , x1 , x2 ) ∈ Z3 : x0 α + x1 β − x2 = 0 mod q}

11/26

Shared MSB and LSB: first lattice (n > 2 signatures) Implicit hypothesis: 160 − δ

˜ki

ki = kL 0

t

kM t0

160

Polynomial system modeling (n > 2 signatures):  α2 + aβ2 − κ2 ≡ 0 (mod q)     α3 + aβ3 − κ3 ≡ 0 (mod q) .. .. .. ..  . . . .    αn + aβn − κn ≡ 0 (mod q) −1 −1 −t −1 ˜ ˜ αi = 2−t (s−1 1 m1 − si mi ) mod q, βi = 2 (s1 r1 − si ri ) mod q, κi = k1 − ki

L = {(x0 , . . . , xn ) ∈

v0 = (1, a, κ2 , . . . , κn ) ∈ L n+1 Z : x0 αi + x1 βi − xi = 0

mod q (i = 2, . . . , n)} Is v0 a shortest vector in L? 12/26

Shared MSB and LSB: first lattice (n > 2 signatures)

L = {(x0 , . . . , xn ) ∈

v0 = (1, a, κ2 , . . . , κn ) ∈ L n+1 Z : x0 αi + x1 βi − xi = 0

mod q (i = 2, . . . , n)} Is v0 a shortest vector in L?

The lattice L is generated by the row-vectors of the matrix   1 0 α2 . . . αn  0 1 β2 . . . βn      M =  0 0 q ... 0   .. .. .. . . ..   . . . . .  0 0 0 ... q and (1, a, λ2 , . . . , λn ) · M = v0 for some λi .

13/26

Shared MSB and LSB: first lattice (n > 2 signatures)

v0 = (1, a, κ2 , . . . , κn ) ∈ L L = {(x0 , . . . , xn ) ∈ Zn+1 : x0 αi + x1 βi − xi = 0 mod q (i = 2, . . . , n)} Is v0 a shortest vector in L?

GA: Gaussian Assumption Let L be a lattice of dimension d and v0 ∈ L. If ||v0 ||2 is smaller than 2 d d 2πe Vol(L) then v0 is a shortest vector of L. + Assumption generally verified in practice (in particular during our experiments). + Find conditions on n and δ to be under the GA.

14/26

Shared MSB and LSB: first lattice (n > 2 signatures) L = {(x0 , . . . , xn ) ∈

v0 = (1, a, κ2 , . . . , κn ) ∈ L n+1 Z : x0 αi + x1 βi − xi = 0

mod q (i = 2, . . . , n)} Is v0 a shortest vector in L?

GA: Gaussian Assumption 2

d If ||v0 ||2 is smaller than 2πe Vol(L) d then v0 is a shortest vector of L. Here dimension d = n + 1.

The lattice L is generated by the row-vectors of the matrix   1 0 α2 . . . αn  0 1 β2 . . . βn      M =  0 0 q ... 0   .. .. .. . . .   . . . . ..  0 0

0

...

q 2

n−1

Vol(L) = qn−1 ≥ 2159(n−1) ⇒ Vol(L) n+1 ≥ 2318 n+1

15/26

Shared MSB and LSB: first lattice (n > 2 signatures) GA: Gaussian Assumption 2

d If ||v0 ||2 is smaller than 2πe Vol(L) d then v0 is a shortest vector of L. Here dimension d = n + 1. 2

n−1

Vol(L) = qn−1 ≥ 2159(n−1) ⇒ Vol(L) n+1 ≥ 2318 n+1 The vector v0 ∈ L is given by v0 = (1, a, κ2 , . . . , κn ) ||v0 ||2 ≥ a2 ≥ 2318 ⇒ v0 has not a high chance to be short! + We can suppose a smaller (exhaustive search): 2159−δ ≤ a < 2160−δ

15/26

Shared MSB and LSB: first lattice (n > 2 signatures) GA: Gaussian Assumption 2

d If ||v0 ||2 is smaller than 2πe Vol(L) d then v0 is a shortest vector of L. Here dimension d = n + 1. 2

n−1

Vol(L) = qn−1 ≥ 2159(n−1) ⇒ Vol(L) n+1 ≥ 2318 n+1 The vector v0 ∈ L is given by v0 = (1, a, κ2 , . . . , κn ) ||v0 ||2 ≥ a2 ≥ 2318 ⇒ v0 has not a high chance to be short! + We can suppose a smaller (exhaustive search): 2159−δ ≤ a < 2160−δ

15/26

Shared MSB and LSB: first lattice (n > 2 signatures) GA: Gaussian Assumption 2

d If ||v0 ||2 is smaller than 2πe Vol(L) d then v0 is a shortest vector of L. Here dimension d = n + 1. 2

n−1

Vol(L) = qn−1 ≥ 2159(n−1) ⇒ Vol(L) n+1 ≥ 2318 n+1 The vector v0 ∈ L is given by v0 = (1, a, κ2 , . . . , κn )

We have 2159−δ ≤ a < 2160−δ and 2159−δ ≤ κi < 2160−δ , thus ||v0 ||2 ≤ n · 22(160−δ) = 2320−2δ+log2 (n)

15/26

Shared MSB and LSB: first lattice, first result Theorem 1 Let be given n signatures (ri , si ). Under the following assumptions 160 − δ

Gaussian Assumption 2159−δ

≤a<

˜ki

ki = kL

2160−δ

0

t

kM t0

160

Implicit hint: nonces ki share δ bits (LSB/MSB) Then the secret a can be computed in time C(n + 1, 21 log2 (n − 1) + 160) as soon as δ≥

320 + (n − 1) 1 + log2 (πe) − log2 ( n+1 n ) + n+1 2

Notation We denote by C(d, B) the time complexity of computing a shortest vector of a d-dimensional lattice L defined by vectors with norm of bit-size bounded by B. 16/26

Shared MSB and LSB: improvement

The lattice L is generated by the row-vectors of the matrix   1 0 α2 . . . αn  0 1 β2 . . . βn      M =  0 0 q ... 0   .. .. .. . . ..   . . . . .  0 0

0

...

q

and the vector (1, a, λ2 , . . . , λn ) · M = (1, a, κ2 , . . . , κn ) = v0 . + Cancel the second coefficient of v0 + Considering a new lattice L.

17/26

Shared MSB and LSB: improvement

Let L0 (dimension n) generated by the row-vectors of the matrix   1 α2 . . . αn  0 β2 . . . βn      0 M =  0 q ... 0   .. .. . . .   . . . ..  0

0

...

q

and the vector (1, a, λ2 , . . . , λn ) · M 0 = (1, κ2 , . . . , κn ) = v00 . + The secret a is no more read in the vector v0 but in the transformation matrix.

17/26

Shared MSB and LSB: improvement Let L0 (dimension n) generated by the row-vectors of the matrix   1 α2 . . . αn  0 β2 . . . βn      M0 =  0 q . . . 0   .. .. . . .   . . . ..  0

0

...

q

and the vector (1, a, λ2 , . . . , λn ) · M 0 = (1, κ2 , . . . , κn ) = v00 . We have ||v0 ||2 ≤ (n − 1) · 22(160−δ) = 2320−2δ+log2 (n−1) and by considering the sublattice S ⊂ L0 of index q and volume qn−1 generated by the first and the last n − 1 row of M 0 we deduce 2

Vol(L0 ) = [L0 : S]−1 Vol(S) = qn−2 ≥ 2159(n−2) ⇒ Vol(L0 ) n ≥ 2318

n−2 n

17/26

Shared MSB and LSB: improvement Theorem 2 Let be given n signatures (ri , si ). Under the following assumptions 160 − δ

Gaussian Assumption 2159−δ ≤ a < 2160−δ

˜ki

ki = k L 0

t

kM t0

160

Implicit hint: nonces ki share δ bits (LSB/MSB) Then the secret a can be computed in time C(n, 12 log2 (n − 1) + 160) as soon as n 320 + (n − 2) 1 + log2 (πe) − log2 ( n−1 ) δ≥ + n 2

Notation We denote by C(d, B) the time complexity of computing a shortest vector of a d-dimensional lattice L defined by vectors with norm of bit-size bounded by B. 18/26

Shared MSB and LSB: improvement bis By using weighted norm we obtain a better result h(x0 , . . . , xn ), (y0 , . . . , yn )i :=

n X

xi yi 22(160−dlog2 (v0,i )e)

i=0

+ drastically reduce the required number of shared bits δ in practice

Theorem 3 Let be given n signatures (ri , si ). Under the following assumptions 160 − δ

Gaussian Assumption 2159−δ ≤ a < 2160−δ

˜ki

ki = k L 0

t

kM t0

160

Implicit hint: nonces ki share δ bits (LSB/MSB) Then the secret a can be computed in time C(n, 21 log2 (n − 1) + 160δ) as soon as 160 + (n − 2) n(1 + log2 (πe)) δ≥ + (1) n−1 2(n − 1) 19/26

δ, number of shared bits

Theoretical comparison 100 90 80 70 60 50 40 30 20 10 0

Thm 1 Thm 2 Thm 3

0

5

10

15

20

25

30

n, number of messages Figure : Theoretical bounds of Theorems 20/26

Generalization: shared blocks

General implicit hint: δ1 ki,0 b1 ki,1

ki = 0

p1 t1

δj

δl

bj ki,j

bl ki,l

p j tj

p l tl

N

+ More technical but comparable results (see the paper)

21/26

Part III Experimental Results

22/26

Performing the computations

Computation of a shortest vector This is an NP-hard problem ! The complexity C(d, B) is Exponential in d by using Kannan’s algorithm Polynomial in d and B if v0 can be found with LLL (Polynomial complexity but approximate (exponential 2d ) shortest vector) + We experimented our attack using LLL: we always obtain the shortest vector, even for large dimension! + The computational time is not more than one minute (Magma 2.17)

23/26

Success rates δ

n, Number of messages 6 7 8

3

4

5

9

10

11

0 0 0

0 0 0

80 0 0

100 3 0

100 100 0

100 100 0

100 100 83

100 100 100

100 100 100

< 0.1

< 0.1

< 0.1

< 0.1

< 0.1

< 0.1

< 0.1

0.1

0.1

170

180

190

n, Number of messages 200 250 300

400

500

600

2 1

73 0

80 2

85 8

100 10

100 35

100 56

100 91

100 99

100 99

Time (s)

3.5

3.8

4.1

4.2

6.3

8.5

15

27

44

40 30 20 Time (s) δ

Table : Success rate of LSB attack

Lines with 100 correspond to theoretical minimal values of δ for a given number of messages (columns). + The second table shows that the attack behaves better in practice! (In theory an attack can not be mount with δ < 3). 24/26

Part IV Conclusion

25/26

Results and Concluding Remarks Summary of the results: + Lattice attack on (EC)DSA using an implicit hint on the nonces + Success rate of 100% for our theoretical results using LLL (⇒ heuristic polynomial time attack) + Attack behaves better in practice + The knowledge of the shared bits is not necessary (comparable results in both cases) Concluding remarks: + Backdoor in PRNG using such implicit hint are undetecteble with Dieharder/STS (see the paper) + This attack can be applied mutatis mutandis on ElGamal or Schnorr signatures + Is it possible to use implicit hints in other cryptosystems? 26/26

(EC)DSA Given Only an Implicit Hint - SAC 2012

SAC 2012. Jean-Charles Faug`ere1, Christopher Goyet1,2. Gu éna ël Renault1. 1: UPMC, INRIA, CNRS, LIP6. 2: Thales Communications and Security ... implicit hint is exploited by lattice method (shortest vector) required shared bits/signatures comparable to explicit methods. (e.g. ≈ 3 shared bits on 100 signed messages).

566KB Sizes 0 Downloads 94 Views

Recommend Documents

Attacking (EC)DSA Given Only an Implicit Hint
Abstract. We describe a lattice attack on DSA-like signature schemes under the assumption that implicit infor- mation on the ephemeral keys is known. Inspired by the implicit oracle of May and Ritzenhofen presented in the context of RSA (PKC2009), we

An Algorithm for Implicit Interpolation
most n(d − 1), where d is an upper bound for the degrees of F1,...,Fn. Thus, al- though our space is ... number of arithmetic operations required to evaluate F1,...,Fn and F, and δ is the number of ...... Progress in Theoretical Computer Science.

An Algorithm for Implicit Interpolation
More precisely, we consider the following implicit interpolation problem: Problem 1 ... mined by the sequence F1,...,Fn and such that the degree of the interpolants is at most n(d − 1), ...... Progress in Theoretical Computer Science. Birkhäuser .

SAC-EmployeeResume.pdf
Loading… Page 1. Whoops! There was a problem loading more pages. SAC-EmployeeResume.pdf. SAC-EmployeeResume.pdf. Open. Extract. Open with.

User Demographics and Language in an Implicit Social Network
between language and demographics of social media users (Eisenstein et .... YouTube, a video sharing site. Most of the ... graph is a stricter version of a more popular co-view .... over all the comments (10K most frequent unigrams were used ...

Implicit Theories 1 Running Head: IMPLICIT THEORIES ...
self, such as one's own intelligence (Hong, Chiu, Dweck, Lin, & Wan, 1999) and abilities (Butler,. 2000), to those more external and beyond the self, such as other people's .... the self. The scale had a mean of 4.97 (SD = 0.87) and an internal relia

Pricing of Complementary Goods as an Implicit ...
May 21, 2014 - produced by the same firm, and wireless service providers offer cellular ..... the smallest per-user cost has a cost advantage over the other firms.

Implicit Interaction
interaction is to be incorporated into mainstream software development, ... of adaptive user interfaces on resource-constrained mobile computing devices.

SAC 101.pdf
There was a problem previewing this document. Retrying... Download. Connect more apps... Try one of the apps below to open or edit this item. SAC 101.pdf.

SAC Campus Map.pdf
Retrying... Download. Connect more apps... Try one of the apps below to open or edit this item. SAC Campus Map.pdf. SAC Campus Map.pdf. Open. Extract.

SAC Campus Map.pdf
Visual Communication. 3rd Floor • Academic Departments. Math & Sciences. Computer Studies. • Faculty Offices. • Interactive Video Conference. • Science Labs.

sac-reversible-patron.pdf
There was a problem previewing this document. Retrying... Download. Connect more apps... Try one of the apps below to open or edit this item.

The Intellectual Given
May 26, 2015 - relevant doxastic attitudes, in the absence of putative reason to with- hold assent). To say that ..... Frey's strategy for proving Fermat's Last Theorem—could be salvaged by reverting to the. Horizontal ...... 59 Earlier drafts of t

Contextual factors affecting hint utility
2 Contextual factors affecting hint utility ... problem-solving activity showed that early access to on-demand hints were linked .... 40594_2017_69_OnlinePDF.pdf.

sac-annual-report-2015.pdf
sac-annual-report-2015.pdf. sac-annual-report-2015.pdf. Open. Extract. Open with. Sign In. Main menu. Displaying sac-annual-report-2015.pdf.

sac-annual-report-2014.pdf
Retrying... sac-annual-report-2014.pdf. sac-annual-report-2014.pdf. Open. Extract. Open with. Sign In. Main menu. Displaying sac-annual-report-2014.pdf.

Towards Implicit Communication and Program ...
Key-Words: - Separability, Algorithm, Program, Implicit, Communication, Distribution. 1 Introduction ... source code. 1. This will simplify the programming stage, abstracting the concept of data location and access mode. 2. This will eliminate the co

Adaptive Bayesian personalized ranking for heterogeneous implicit ...
explicit feedbacks such as 5-star graded ratings, especially in the context of Netflix $1 million prize. ...... from Social Media, DUBMMSM '12, 2012, pp. 19–22.

SAC KALIP TASARIM .pdf
Fire ve bordürler = S . 2.5 ≈ 3. Adım = fire + parça boyu kadardır. Dayamalar bantın kalıp içerisinde ilerlemesini istenilen kadar yapmak ve durdurmak için ...

SAC 0317-Part2.pdf
... series of Communication and Navigation satellites and the optical and microwave sensors for. IRS and small satellite series of earth observation satellites.

sac - 04-04-2013.pdf
... the Support Center Specialists to address academic and personal concerns,. including how to locate quality child care. 4. Is it possible to get more computers, ...

SAC 0317-Part1.pdf
temperature, wind speed and wave heights as well as atmospheric parameters such as water. vapour and cloud liquid water content. इन्सैट-3डी/3डीआर, स्कै टसैट,ओशनसैट- II, काटोसैट श्à