Given by Geoffrey Fox at CRPC Annual Meeting on May 14-17 1996. Foils prepared May 12 1996
Outside Index
Summary of Material
We describe the RSA Factoring Problem and the solution developed by Lenstra and collaborators with sieving techniques of increasing power |
The Web was used succesfully in the just completed RSA130 factoring -- an almost embarassingly parallel but very non trivial computation |
The mathematicians are preparing code for RSA155 factorization and probably Web will be critical here to increase resources from Teraop-hours (RSA129/130) to the needed Teraop-Months (RSA155) |
We overview architecture of FAFNER system used and lessons drawn for general Metacomputing administration MetaWeb |
http://www.npac.syr.edu/factoring.html |
Outside Index Summary of Material
CRPC Annual Meeting |
May 16 1996 |
Geoffrey Fox |
NPAC |
Syracuse University |
111 College Place |
Syracuse NY 13244-4100 |
We describe the RSA Factoring Problem and the solution developed by Lenstra and collaborators with sieving techniques of increasing power |
The Web was used succesfully in the just completed RSA130 factoring -- an almost embarassingly parallel but very non trivial computation |
The mathematicians are preparing code for RSA155 factorization and probably Web will be critical here to increase resources from Teraop-hours (RSA129/130) to the needed Teraop-Months (RSA155) |
We overview architecture of FAFNER system used and lessons drawn for general Metacomputing administration MetaWeb |
http://www.npac.syr.edu/factoring.html |
Bellcore-Boston U.-Cooperating Systems-NPAC-Oxford U.
|
This approach to factoring uses world-wide distributed computing and is based on computationally enhanced Web servers. |
The project demonstrates the potential for self-organization of the resources of the World-Wide Web into a general-purpose parallel computing surface, overcoming geographic dispersion, architectural heterogeneity, and varying network connectivity |
The innovation of the WWC approach is a new way to execute HPC applications over highly heterogeneous platforms.
|
Factoring on the Web Project |
Factoring on the Web Project |
RSA Security Systems built around numbers |
RSA-N = Prime1 * Prime2 |
A Product of two large primes which are secret whereas "everybody" in principle is meant to be able to know public modulus RSAm which can be used by anybody to encrypt messages |
Only the recipient is meant to be able to decrypt message using secret prime factor |
Secrecy of the cryptosystem is that of the secret key |
Secrecy of the secret key is no more than the factorization of the public modulus |
Rivest, Shamir and Adleman (RSA!) posed RSA-129 in August 1977 Scientific American, predicting 40 quadrillion years as a solution time |
Actual time to crack RSA-129 was about eight months on the Internet (April 1994)
|
Still, many sites still use keys as small as 512 bits long (155 decimal digits) to protect enormous amounts of code and data |
Using the latest factoring technology it will only take a few tera-op months to factor a 512 binary bit number! |
The latest (mathematical) factoring technology |
Sieving over sets of "Q-values" (i.e., very large ranges of integers) |
Task specifications are small (the integer bounds of the Q-range) |
Task results are large (collections of "partial relations") |
These results must be accumulated, sorted, and run through a neat graph algorithm before they are fed into the final bitmatrix reduction step (done on Maspar in previous factoring efforts but any reasonable machine will handle) |
Forms an ideal, embarrassingly parallel application for Web-wide coordination: very large, naturally distributed database computation which can be done with PC's up. |
Note we build on and still support factoring by email preferred by users in secure/uncommunicative environments! |
RSA129 used the double partial variation of the Multiple Polynomial Quadratic Sieve (MPQS), the predecessor to the Number Field Sieve (NFS), in turn the predecessor to the General Number Field Sieve (GNFS) |
General factoring challenge: find x,y such that
|
This would give good odds that
|
Therefore, we'd have a factor of RSA-N. |
Numbers, "a", for which we can find an integer "b" where
|
Values of "a" which factorize into only small primes out of a short list (the "factor base") plus at most two more primes < 2^30 are "special" |
If there are 2 more such primes in the factorization of "a", then "a" if a "double partial", |
1 such prime, a "partial", |
and none, a "full" relation. |
Quadratic residues given by a certain polynomial and divisible by a particular prime are regularly spaced. (Don't ask why unless answerer is Math Whiz). |
In sieving you add the log of the prime every such regular distance through initially zeroed memory, for each prime in the factor base. |
When done, we pick out places where the accumulation exceeds a threshold; that's where you find quadratic residues divisible by lots of small primes. |
These residues are therefore more likely to be double-partial, partial, or full relations! |
For places that satisfy threshold constraint, the client workers emit the prime factorizations for the "a"s and print out the matching "b"s. |
If there's a set of "a"'s whose product's factorization consists of primes raised to EVEN powers, then the product is a square, and so is the product of all the matching b^2 terms (trivially). |
This would give the happy result that |
x^2==y^2 (modulo RSA-N), and we'd have our factorization! |
Finding such a set of "a"'s with prime factors raised to an even power, is pretty non-trivial, and is not performed by the sieving clients or servers. |
Initially wee derive a network in which nodes are primes and edges are drawn between
|
Then we run around looking for cycles in the network, which represent large primes that appear as squares when the two corresponding residues are multiplied together. |
Multiply all relations together, divide by all squared large primes, and you turn lots of partials and double partials into full relations. |
Take the processed partials/double-partials and the true "fulls" and now we want to find a new "a" which on combining current a's is a proper square number! |
Perform a Gaussian elimination looking for a linear dependency module two of a bitmatrix of F columns and R rows, where F is the size of the small-primes factor base and R is the number of quadratic residues. |
This is a big but not tera-op (for RSA155) computation. But at the end, if a dependency falls out, we know the factors of RSA-N. |
Proposed Architecture of WWVM |
http://cooperate.com/cgi-bin/FAFNER/factor.pl |
Features
|
months of runtime, dozens of collaborators, |
eight nations, four continents |
hardware platforms from an i386 laptop to an IBM SP/2 (including HPs, Alphas, MIPS, Suns, SGI machines, RS6000s) |
Most Heterogeneous and Geographically Dispersed Award, 3rd Annual HPC Challenge, Supercomputing '95. |
Implemented as Perl scripts, invoked via CGI |
Hierarchy of cooperating World-Wide Web servers used for many functions in the collaboration:
|
General Number Field Sieve (GNFS)
|
GNFSD Wrapper Code
|
Partition workload onto multiple servers |
Avoid redundant task allocation |
Accumulate large relation datasets |
Manage evolving software base that's widely distributed |
Coordinate many volunteer clients |
Requires a distributed Web based cluster management support |
Offload administration (divert blame) |
Coordinate volunteers with different computational capabilities |
Encourage anonymity, minimize exposure to security risks |
Tune task scheduling according to the individual workstation owner preferences |
We have designed Metaweb to extend Fafner to address technical and administrative issues |
http://www.npac.syr.edu/factoring/status.html |
Web Sieving started in September 1995. |
On April 10, 1996, we found that |
RSA-130 = 1807082088687404805951656164405905566278102516769401349170127021450056662540244048387341127590812303371781887966563182013214880557 has the following factorization: RSA-130 = 39685999459597454290161126162883786067576449112810064832555157243 * 45534498646735972188403686897274408864356301263205069600999044599 |
28.37% by Bruce Dodson (Lehigh University) |
27.77% by Marije Elkenbracht-Huizing (CWI, Amsterdam) |
19.11% by Arjen K. Lenstra (Bellcore) |
17.17% by contributors to the www-factoring project
|
4.36% by Matt Fante (IDA) |
1.66% by Paul Leyland (Oxford University) |
1.56% by Damian Weber (University of Saarland) |