Susan Landau, Sun Microsystems
Attack: Let Alice use n, ea, Bob, n, eb. Then if
, Eve can decrypt message as follows:
Eve uses Euclidean Algorithm to compute r and s such that ea r+eb
s=1. Assume r is negative (one of r and s must be, so just switch
the two if r is positive), then
.
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
for i=1, 2, 3. Now M< ni (otherwise the
recipients could not decode M3 uniquely). Thus M3 < n1 n2 n3.
But either the ni's are relatively prime, in which case by using the
Chinese Remainder Theorem, Eve can compute
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
, 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=re M. Alice does so, and sends Cd = (re M)d to Eve. Eve observes that Cd = red Md = 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
so there is an integer k such that
. So
.
Thus k/d is an approximation of
. Eve does not know
but she knows n which is an approximation of it. Eve knows
and
. Then
.
Thus
. Recall
. Since
and
, we get
. 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
that there is an efficient algorithm that outputs all
a/b satisfying
.
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
, but Eve intercepts,
e.g. Bob sends f1(M)=(a1 M+b1)3 to Alice, f2(M)=(a2 M+b2)3 to
Bill, and f3(M)=(a3 M+b3)3 to Carol. This is insecure due to:
Theorem (Hastad): Let
be pairwise relatively prime
integers and let
. Let Pi be k polynomials of
maximum degree e. Let
. 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
, and let M be a message of
bits. Let r1, r2
be secret random numbers with M1 = 2m M+r1 and M2 = 2m M+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 97.1 (release) (July 13th, 1997)
Copyright © 1993, 1994, 1995, 1996, 1997, Nikos Drakos, Computer Based Learning Unit, University of Leeds.
The command line arguments were:
latex2html -link 0 -split +0 attacks-rsa.
The translation was initiated by Joshua Holden on 9/27/2000