There are a few shortcuts you could take. For instance, instead of finding two random, prime numbers for every key, just keep one prime constant and generate another random prime for each key. This has the disadvantage that any one key factored would allow the other keys to be factored trivially. I know there are other ways, but I'm not very good with number theory.
This would actually not save as much time as it trivially appears to, the main time eater in pgp key generation is a. getting random seeds and mixing to distill randomness, and b. executing the extended euclidean algorithm to find modular inverses. Does anyone know any other speedups? - I`m sure I could think of a few but I`m really not in the mood ;-)... Datacomms Technologies data security Paul Bradley, Paul@fatmans.demon.co.uk Paul@crypto.uk.eu.org, Paul@cryptography.uk.eu.org Http://www.cryptography.home.ml.org/ Email for PGP public key, ID: FC76DA85 "Don`t forget to mount a scratch monkey"