Susan Landau, Sun Microsystems
Attack: Let Alice use ,
, Bob,
,
. Then if
, Eve can decrypt message as follows:
Eve uses Euclidean Algorithm to compute and
such that
. Assume
is negative (one of
and
must be, so just switch
the two if
is positive), then
.
Moral: Never share a common modulus.
Attack: Suppose Bob sends to
of his friends: Alice, Bill,
..., Ethan. (We will do this for
but the idea holds in general.)
Eve sees
for
Now
(otherwise the
recipients could not decode
uniquely). Thus
.
But either the
'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
's and compute
that way. In the first case, Eve has
, where
for each
, so in
Eve has a perfect cube over the
integers. Eve can compute the cube root, and get
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 . Alice refuses, so Eve computes
a
random number, and asks Alice to sign
. Alice does so, and sends
to Eve. Eve observes that
Since Even knows
she can divide
by
and get
.
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
such that
. So
.
Thus is an approximation of
. Eve does not know
but she knows
which is an approximation of it. Eve knows
and
. Then
.
Thus
. Recall
. Since
and
, we get
. Thus we get
.
Thus is an extremely good approximation to
(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
satisfying
.
Moral: avoid decryption exponents less than
.
(Since
is a 1024-bit integer, this means
must be at least 257 bits.)
Suppose Bob sends
, but Eve intercepts,
e.g. Bob sends
to Alice,
to
Bill, and
to Carol. This is insecure due to:
Theorem (Hastad): Let
be pairwise relatively prime
integers and let
. Let
be
polynomials of
maximum degree
. Let
. Then if
, we can
[quickly] find all common solutions to the
.
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 be an RSA key. Let
, and let
be a message of
bits. Let
,
be secret random numbers with
and
.
Then given
,
Eve can recover
.
If the attack can be mounted so long as the pad is less than
of the message length.
Moral: Use the recommended value of 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 , the second-least significant bit, etc.
Moral: Always take a fixed amount of time to sign.