RSA Secret Key ≡dpt Factoring Alex May Faculty of Computer Science, Electrical Engineering and Mathematics Paderborn University Secret Key vs. Factoring – p.1/12 RSA and Factoring RSA setting: N = pq with p, q of the same bit-size ed = 1 mod φ(N ) with φ(N ) = N − (p + q − 1) Easy: Factoring N ⇒ Computing the secret key d Secret Key vs. Factoring – p.2/12 RSA and Factoring RSA setting: N = pq with p, q of the same bit-size ed = 1 mod φ(N ) with φ(N ) = N − (p + q − 1) Easy: Factoring N ⇒ Computing the secret key d Rivest, Shamir and Adleman (1978): Computing d ⇒ Factoring N in probabilistic polynomial time Secret Key vs. Factoring – p.2/12 The new result Theorem. Let N = pq be an RSA-modulus. Suppose we are given (N, e, d), ed > 1 with ed = 1 mod φ(N ) and ed < N 2 . Then N can be factored in deterministic time polynomial in log(N ). Secret Key vs. Factoring – p.3/12 The new result Theorem. Let N = pq be an RSA-modulus. Suppose we are given (N, e, d), ed > 1 with ed = 1 mod φ(N ) and ed < N 2 . Then N can be factored in deterministic time polynomial in log(N ). Proof idea: Determine unknowns (x0 , y0 ) = (k, p + q − 1) in ed = 1 + k(N − (p + q − 1)). N = pq . Solve y0 = p + q − 1 Secret Key vs. Factoring – p.3/12 The proof We start with ed = 1 + k(N − (p + q − 1)). Define k̃ = ed−1 N . Secret Key vs. Factoring – p.4/12 The proof We start with ed = 1 + k(N − (p + q − 1)). Define k̃ = ed−1 N . Then ed − 1 ed − 1 k − k̃ = − φ(N ) N N (ed − 1) − φ(N )(ed − 1) = φ(N )N 1 (p + q − 1)(ed − 1) = ≤ N2 φ(N )N Secret Key vs. Factoring – p.4/12 A nice by-product Small Theorem. Let N = pq be an RSA-modulus. Suppose we are given (N, e, d), ed > 1 with ed = 1 mod φ(N ) and 3 2 ed ≤ N . Then N can be factored in deterministic time 2 O(log (N )). Proof: l m ed−1 Compute k = k̃ = N Solve ed = 1 + k(N − (p + q − 1)). Secret Key vs. Factoring – p.5/12 3 2 The case N ≤ ed ≤ N 2 We know that (k̃ + (k − k̃))(N − (p + q − 1)) − ed + 1 = 0 Define the polynomial f (x, y) = (k̃ + x)(N − y) − ed + 1 with the root (x0 , y0 ) = (k − k̃, p + q − 1). 1 2 Let X = Y = N . Then x0 ≤ X and y0 ≤ Y . Secret Key vs. Factoring – p.6/12 Coppersmith method Theorem (Coppersmith 1996): Let f (x, y) be an irreducible polynomial of degree δ: f (x, y) = (k̃ + x)(N − y) − ed + 1, δ = 1 X, Y be bounds on the desired solution (x0 , y0 ): 1 X = Y = N2 W = ||f (xX, yY )||`∞ : 3 W = ||(−k̃Y, XN, −XY, k̃N − ed + 1)||`∞ ≥ N 2 Secret Key vs. Factoring – p.7/12 Coppersmith method Theorem (Coppersmith 1996): Let f (x, y) be an irreducible polynomial of degree δ: f (x, y) = (k̃ + x)(N − y) − ed + 1, δ = 1 X, Y be bounds on the desired solution (x0 , y0 ): 1 X = Y = N2 W = ||f (xX, yY )||`∞ : 3 W = ||(−k̃Y, XN, −XY, k̃N − ed + 1)||`∞ ≥ N 2 Then we can find all solutions (x0 , y0 ) for the equation f (x, y) = 0 with 2 3δ XY ≤ W : XY = N ≤ W 2 3 in time polynomial in (log W, 2δ ). Secret Key vs. Factoring – p.7/12 The running time Theoretical analysis: Lattice dimension : n = log N Entries in the lattice : B = log2 N Brute force search : c = O(1) bits L3 running time : O(n6 B 3 ) Total running time : O(log12 N ) Secret Key vs. Factoring – p.8/12 Dependency lattice dimension N c dim L3 -time 1024 bit 105 bit 16 2.5 min 1024 bit 82 bit 25 26 min 1024 bit 67 bit 36 242 min Results for ed ≈ N 2 Secret Key vs. Factoring – p.9/12 Dependency on N N c dim L3 -time 512 bit 43 bit 25 6 min 768 bit 63 bit 25 13 min 1024 bit 82 bit 25 26 min Results for ed ≈ N 2 Secret Key vs. Factoring – p.10/12 Dependency on ed N c dim L3 -time 512 bit 10 bit 25 6 min 768 bit 13 bit 25 13 min 1024 bit 18 bit 25 26 min Results for ed ≈ N 1.75 Secret Key vs. Factoring – p.11/12 Remarks and Conclusions Computing d ⇒ Factoring in deterministic PTime Result holds for balanced p, q (and for p ≤ N 0.38 ) Mainly of theoretical interest J.-S. Coron: Univariate modular formulation Univariate formulation: Works for arbitrary p, q. Secret Key vs. Factoring – p.12/12