Susan Landau, Sun Microsystems
Attack: Let Alice use n, ea, Bob, n, eb. Then if gcd(ea, eb) = 1, Eve can decrypt message as follows:
Eve uses Euclidean Algorithm to compute r and s such that ear + ebs = 1. Assume r is negative (one of r and s must be, so just switch the two if r is positive), then (M-ea)-r(M-eb)s M(mod n).
Moral: Never share a common modulus.
Attack: Suppose Bob sends Me to e of his friends: Alice, Bill, ..., Ethan. (We will do this for e = 3 but the idea holds in general.)
Eve sees M3(mod ni) for i = 1, 2, 3. Now M < ni (otherwise the recipients could not decode M3 uniquely). Thus M3 < n1n2n3. But either the ni's are relatively prime, in which case by using the Chinese Remainder Theorem, Eve can compute M3(mod n1n2n3) or they are not, in which case Eve can factor some of the ni's and compute M that way. In the first case, Eve has M3(mod n1n2n3), where M < ni for each i, so in M3 Eve has a perfect cube over the integers. Eve can compute the cube root, and get M back.
Moral: Never send the same message to as many recipients as your encryption exponent. Another way to say this: Use a large encryption exponent.
Attack: Eve asks Alice to sign M. Alice refuses, so Eve computes r a random number, and asks Alice to sign C = reM. Alice does so, and sends Cd = (reM)d to Eve. Eve observes that Cd = redMd = rM. Since Even knows r she can divide c by r and get Md.
Moral: Never sign unknown messages, even ones that look random.
Attack: Very short description of idea; for full description see Wiener, M.J. ``Cryptanalysis of Short RSA Secret Exponents,'' IEEE Transactions on Information Theory, V. 36, N. 3, May 1990, pp.188-190.
Observe that ed = 1(mod (n)) so there is an integer k such that ed + k(n) = 1. So - = .
Thus k/d is an approximation of e/(n). Eve does not know (n) but she knows n which is an approximation of it. Eve knows (n) = n - p - q + 1 and p + q - 1 < 3. Then n - (n) < 3.
Thus - = = = . Recall ed - k(n) = 1. Since e < (n) and d < , we get 3k < . Thus we get - < < < .
Thus k/d is an extremely good approximation to e/n (which Eve knows, unlike ). It is sufficiently good that there are few candidates for it; it is a theorem (see Hardy and Wright for example) that given = a/b that there is an efficient algorithm that outputs all a/b satisfying - a/b < .
Moral: avoid decryption exponents less than . (Since n is a 1024-bit integer, this means d must be at least 257 bits.)
Suppose Bob sends Ci = fi(Mi)ei(mod ni), but Eve intercepts, e.g. Bob sends f1(M) = (a1M + b1)3 to Alice, f2(M) = (a2M + b2)3 to Bill, and f3(M) = (a3M + b3)3 to Carol. This is insecure due to:
Theorem (Hastad): Let n1,..., nk be pairwise relatively prime integers and let nmin = (ni). Let Pi be k polynomials of maximum degree e. Let B = ni. Then if B > (Nmin)e, we can [quickly] find all common solutions to the pi(x).
Moral: Always use a randomized pad to add to the message rather than an algebraic function.
Alice sends a properly-padded message to Bob. Eve intercepts it. Not having received a reply, Alice resends, changing the padding function. Eve decrypts the message.
This result is due to a theorem of Coppersmith:
Theorem: Let (n, e) be an RSA key. Let m = , and let M be a message of log n - m bits. Let r1, r2 be secret random numbers with M1 = 2mM + r1 and M2 = 2mM + r2. Then given C1, C2 Eve can recover M.
If e = 3 the attack can be mounted so long as the pad is less than of the message length.
Moral: Use the recommended value of e being at least 65337. Thus encryption exponent is fine for standard moduli sizes.
Eve asks the smart card to sign a number of messages, and measures the amount of time it takes to do so. By carefully measuring this time, and doing statistical correlations, Eve is able to determine, in order, the least significant bit of e, the second-least significant bit, etc.
Moral: Always take a fixed amount of time to sign.
This document was generated using the LaTeX2HTML translator Version 2K.1beta (1.57)
Copyright © 1993, 1994, 1995, 1996,
Nikos Drakos,
Computer Based Learning Unit, University of Leeds.
Copyright © 1997, 1998, 1999,
Ross Moore,
Mathematics Department, Macquarie University, Sydney.
The command line arguments were:
latex2html -link 0 -split +0 -html_version 3.2,math attacks-rsa.tex
The translation was initiated by Joshua R Holden on 2004-04-22