The Early Days of RSA --
History and Lessons
Ronald L. Rivest
MIT Lab for Computer Science
ACM Turing Award Lecture
Lessons Learned
Try to solve “real-world” problems
… using computer science theory
… and number theory.
Be optimistic: do the “impossible”.
Invention of RSA.
Moore’s Law matters.
Do cryptography in public.
Crypto theory matters.
Organizations matter: ACM, IACR, RSA
Try to solve real-world problems
Diffie and Hellman published “New Directions in
Cryptography” Nov ’76:
“We stand today at the brink of a
revolution in cryptography.”
Proposed “Public-Key Cryptosystem” . (This
remarkable idea developed jointly with Merkle.)
Introduced even more remarkable notion of
digital signatures.
Good cryptography is motivated by applications.
(e-commerce, mental poker, voting, auctions, …)
… using computer science theory
In 1976 “complexity theory” and
“algorithms” were just beginning…
Cryptography is a “theory consumer”:
it needs
– easy problems (such as multiplication or
prime-finding, for the “good guys”) and
– hard problems (such as factorization, to
defeat an adversary).
…and number theory
Diffie/Hellman used number theory for
“key agreement” (two parties agree on a
secret key, using exponentiation modulo a
prime number).
Some algebraic structure seemed essential
for a PKC; we kept returning to number
theory and modular arithmetic…
Difficulty of factoring not well studied
then, but seemed hard…
Be optimistic: do the “impossible”
Diffie and Hellman left open the problem
of realizing a PKC:
D(E(M)) = E(D(M)) = M
where E is public, D is private.
At times, we thought it impossible…
Since then, we have learned
“Meta-theorem of Cryptography”:
Any apparently contradictory set
of requirements can be met using
right mathematical approach…
Invention of RSA
Tried and discarded many approaches,
including some “knapsack-based” ones.
(Len was great at killing off bad ideas.)
“Group of unknown size” seemed useful
idea… as did “permutation polynomials”…
After a “seder” at a student’s…
“RSA” uses n = pq product of primes:
C = M e (mod n) [public key (e,n)]
M = C d (mod n) [private key (d,n)]
$100 RSA SciAm Challenge
Martin Gardner publishes Scientific American
column about RSA in August ’77, including our
$100 challenge (129 digit n) and our infamous “40
quadrillion years” estimate required to factor
RSA-129 =
114,381,625,757,888,867,669,235,779,976,146,61
2,010,218,296,721,242,362,562,561,842,935,706,
935,245,733,897,830,597,123,563,958,705,058,9
89,075,147,599,290,026,879,543,541
(129 digits)
or to decode encrypted message.
TM-82 4/77; CACM 2/78
(4000 mailed)
S, R, and A in ‘78
S, R, and A in ‘78
The wonderful Zn*
Zn* = multiplicative group modulo n = pq
Factoring makes it hard for adversary
– to compute size of group
– to compute discrete logs
Taking e-th roots modulo n is hard
(“RSA Assumption”)
Taking e-th roots is hard, where the
adversary can pick e>1.
(“Strong RSA Assumption”)
Moore’s Law matters.
Time to do RSA decryption on a 1 MIPS
VAX was around 30 seconds (VERY SLOW…)
IBM PC debuts in 1981
Still, we worked on efficient special-purpose
implementation (e.g. special circuit board,
and then the “RSA chip”, which did RSA in
0.4 seconds) to prove practicality of RSA.
Moore’s Law to the rescue---software now
runs 2000x faster…
Now software and the Web rule…
Photo of RSA chip
Do cryptography in public.
Confidence in cryptographic schemes
derives from intensive public review.
Public standards (e.g. PKCS series)
Vigorous public research effort
results in many new cryptographic
proposals, definitions, and attacks
Other PKC proposals
1978: Merkle/Hellman (knapsack)
1979: Rabin/Williams (factoring)
1984: Goldwasser/Micali (QR)
1985: El Gamal (DLP)
1985: Miller/Koblitz (elliptic curves)
1998: Cramer/Shoup
… many others, too
$100 RSA Challenge Met ‘94
RSA-129was factored in 1994, using
thousands of computers on Internet.
“The magic words are squeamish ossifrage.”
Cheapest purchase of computing time
ever!
Gives credibility to difficulty of
factoring, and helps establish key
sizes needed for security.
Factoring milestones
’84: 69D (D = “digits”)
(Sandia; Time magazine)
’91: 100D
(Quadratic sieve)
’94: 129D ($100 challenge number)
(Distributed QS)
’99: 155D
(512-bits; Number field sieve)
’01: 15 = 3 * 5
(4 bits; IBM quantum computer!)
Other attacks on RSA
Cycling attacks (?)
Attacks based on “weak keys” (?)
Attacks based on lack of randomization or
improper “padding”
(use e.g. Bellare/Rogaway’s OAEP ’94)
Timing analysis, power analysis, fault
attacks, …
See Boneh’s “Twenty Years of Attacks on
the RSA Cryptosystem”.
Crypto theory matters
probabilisticencryption,
chosen-ciphertext attacks
GMR digital signatures,
zero-knowledge protocols,
concrete complexity of cryptographic
reductions; practice-oriented
provable security
…
Organizations matter
ACM
– e.g. CACM published RSA paper
IACR (David Chaum)
– sponsors CRYPTO conferences
RSA (Jim Bidzos)
– sponsors RSA conferences
– leader in many policy debates
– helped to set crypto standards
(The End)