The
qsieve utility will list candidates for Sophie-Germaine primes (where q = (p-1)/2) to standard output. The list is checked against small known primes (less than 2**30). This step is both processor and memory intensive.
The
megabytes value sets a limit for the internal sieve buffer. This should be small enough to remain entirely in memory. Swap thrashing can increase the run time from hours to days or weeks! When the
megabytes value is zero (0),
qsieve will select a default suitable for the
bits.
The
bits value sets the length of the generated possible primes (typically 768, 1024, 1536, 2048, 3072, or 4096, although others can be used for variety).
The optional
initial value (hex) specifies the beginning of the search. Otherwise,
qsieve generates a randomly selected number.
The
qsafe utility will perform a Miller-Rabin primality test on the list of candidates (checking both q and p) from standard input. The result is a list of so-call "safe" primes to standard output, suitable for use as Diffie-Hellman moduli. This step is merely processor intensive.
The
trials value sets the number of Miller-Rabin interations (typically 16 to 128).
The optional
generator value (hex) limits testing to candidates with a specific generator (usually 2). Otherwise,
qsafe will test each candidate and suggest a generator.