Asymmetric Key sizes
lists@notatla.demon.co.uk
lists at notatla.demon.co.uk
Sat, 13 Feb 1999 22:39:34 GMT
Denis.Russell@ncl.ac.uk:
> I didn't get a clear feeling for what the prudent target should be. Paul
> says (above) that 768-bit keys should be OK now against "reasonable"
> attack. Does this mean the worst realistic case that we can think of for
> the present, and into the "foreseeable" future - a few years? How much more
> prudent would 1024 bits be? What about putting things the other way round?
> What's the problem with everyone going for 2048 now and (presumably)
> putting things so far out of reach that attackers just give up?
See www.usenix.org/events/sec99 which I think is where I found
the following as part of a larger article "Factoring: Facts and Fables".
To argue his point, Lenstra extrapolated current factoring
capabilities. In 1994, a QS factored an RSA-129 modulus. This required
5,000 MIPS years for stage 1 (sieving) and two days on a 16K MasPar
for stage 2 (matrix). Then in 1996, an NFS factored a 130-digit number
in less than 700 MIPS years for stage 1 (68 hours and 700MB). However,
stage 2 required much more computation time, even on a Cray C-90.
Extrapolating these figures, Lenstra believes factoring a 512-bit
number with a QS would require 500,000 MIPS years for sieving and four
days (and 1GB of space) on a Cray C-90 for the matrix. Substituting
NFS, sieving would take 20,000 MIPS years, and matrix computations
would take three months (and 4GB of space). Therefore, 512-bit moduli
are not long enough for current technology. But factoring 1,024-bit
moduli seems hopeless. Just to sieve, the QS would require 1015 MIPS
years, and the NFS would take 1011 MIPS years. Lenstra concludes that
512-bit QS factorization is feasible, 512-bit NFS factorization is
hardly feasible, and 1,024-bit factorization is hopeless.
Which brings me to the following code announcements:
pgp553i (Windoze 95/98/NT) is on my website and
FBN_funcs.c should join it around midnight GMT.
/*
* Fixed Big Number library
* http://www.notatla.demon.co.uk/CRYPTO/FBN_funcs.c
*
* This is integer arithmetic code for up to 1024 bits
* (with intermediate results up to 2048 bits).
* This is what I mean by 'Fixed Big Number' - not arbitrary sizes.
* It has been tested against 'bc' for some calculations of each
* type, but not right up to the size limits. This code is simple
* and not especially fast.
*
* FBN_powmod() is effectively RSA. This code contains no
* primality testing which you would need to generate RSA keys.
*
* Parts of this code are derived from the book "Applied Cryptography"
* 2nd ed by Bruce Schneier.
*
* Distribution and use is free; no GPL, Berkeley or other licences
* apply. The RSA patent in the U.S is due to expire September 2000.
* More details at http://cwis.kub.nl/~frw/people/koops/lawsurvy.htm.
*
* Enail any bug reports to me please.
* Antonomasia <ant@notatla.demon.co.uk> 13Feb1999
*/