home *** CD-ROM | disk | FTP | other *** search
-
- Archive-name: cryptography-faq/part06
-
-
- This is the sixth of ten parts of the sci.crypt FAQ. The parts are
- mostly independent, but you should read the first part before the rest.
- We don't have the time to send out missing parts by mail, so don't ask.
- Notes such as ``[KAH67]'' refer to the reference list in the last part.
-
-
-
- Contents:
-
- 6.1. What is public-key cryptography?
- 6.2. What's RSA?
- 6.3. Is RSA secure?
- 6.4. How fast can people factor numbers?
- 6.5. What about other public-key cryptosystems?
-
-
- 6.1. What is public-key cryptography?
-
- In a classic cryptosystem, we have encryption functions E_K and
- decryption functions D_K such that D_K(E_K(P)) = P for any plaintext
- P. In a public-key cryptosystem, E_K can be easily computed from some
- ``public key'' X which in turn is computed from K. X is published, so
- that anyone can encrypt messages. If D_K cannot be easily computed
- from X, then only the person who generated K can decrypt messages.
- That's the essence of public-key cryptography, published by Diffie
- and Hellman in 1976.
-
- In a classic cryptosystem, if you want your friends to be able to
- send secret messages to you, you have to make sure nobody other than
- them sees the key K. In a public-key cryptosystem, you just publish X,
- and you don't have to worry about spies.
-
- This is only the beginning of public-key cryptography. There is an
- extensive literature on security models for public-key cryptography,
- applications of public-key cryptography, other applications of the
- mathematical technology behind public-key cryptography, and so on.
-
- 6.2. What's RSA?
-
- RSA is a public-key cryptosystem defined by Rivest, Shamir, and
- Adleman. Here's a small example. See also [FTPDQ].
-
- Plaintexts are positive integers up to 2^{512}. Keys are quadruples
- (p,q,e,d), with p a 256-bit prime number, q a 258-bit prime number,
- and d and e large numbers with (de - 1) divisible by (p-1)(q-1). We
- define E_K(P) = P^e mod pq, D_K(C) = C^d mod pq.
-
- Now E_K is easily computed from the pair (pq,e)---but, as far as
- anyone knows, there is no easy way to compute D_K from the pair
- (pq,e). So whoever generates K can publish (pq,e). Anyone can send a
- secret message to him; he is the only one who can read the messages.
-
- 6.3. Is RSA secure?
-
- Nobody knows. An obvious attack on RSA is to factor pq into p and q.
- See below for comments on how fast state-of-the-art factorization
- algorithms run. Unfortunately nobody has the slightest idea how to
- prove that factorization---or any realistic problem at all, for that
- matter---is inherently slow. It is easy to formalize what we mean by
- ``RSA is/isn't strong''; but, as Hendrik W. Lenstra, Jr., says,
- ``Exact definitions appear to be necessary only when one wishes to
- prove that algorithms with certain properties do _not_ exist, and
- theoretical computer science is notoriously lacking in such negative
- results.''
-
- 6.4. How fast can people factor numbers?
-
- It depends on the size of the numbers. In October 1992 Arjen Lenstra
- and Dan Bernstein factored 2^523 - 1 into primes, using about three
- weeks of MasPar time. (The MasPar is a 16384-processor SIMD machine;
- each processor can add about 200000 integers per second.) The
- algorithm there is called the ``number field sieve''; it is quite a
- bit faster for special numbers like 2^523 - 1 than for general numbers
- n, but it takes time only exp(O(log^{1/3} n log^{2/3} log n)) in any
- case.
-
- An older and more popular method for smaller numbers is the ``multiple
- polynomial quadratic sieve'', which takes time exp(O(log^{1/2} n
- log^{1/2} log n))---faster than the number field sieve for small n,
- but slower for large n. The breakeven point is somewhere between 100
- and 150 digits, depending on the implementations.
-
- Factorization is a fast-moving field---the state of the art just a few
- years ago was nowhere near as good as it is now. If no new methods are
- developed, then 2048-bit RSA keys will always be safe from
- factorization, but one can't predict the future. (Before the number
- field sieve was found, many people conjectured that the quadratic
- sieve was asymptotically as fast as any factoring method could be.)
-
- 6.5. What about other public-key cryptosystems?
-
- We've talked about RSA because it's well known and easy to describe.
- But there are lots of other public-key systems around, many of which
- are faster than RSA or depend on problems more widely believed to be
- difficult. This has been just a brief introduction; if you really want
- to learn about the many facets of public-key cryptography, consult the
- books and journal articles listed in part 10.
-