A variant of Wiener's attack on RSA
Abstract
Wiener's attack is a well-known polynomial-time attack on a RSA cryptosystem with small secret decryption exponent d, which works if d<n0.25, where n=pq is the modulus of the cryptosystem. Namely, in that case, d is the denominator of some convergent pm/qm of the continued fraction expansion of e/n, and therefore d can be computed efficiently from the public key (n,e). There are several extensions of Wiener's attack that allow the RSA cryptosystem to be broken when d is a few bits longer than n0.25. They all have the run-time complexity (at least) O(D2), where d=Dn0.25. Here we propose a new variant of Wiener's attack, which uses results on Diophantine approximations of the form |α - p/q| < c/q2, and "meet-in-the-middle" variant for testing the candidates (of the form rqm+1 + sqm) for the secret exponent. This decreases the run-time complexity of the attack to O(D log(D)) (with the space complexity O(D)).