- NetBSD Manual Pages
QSIEVE(1) NetBSD General Commands Manual QSIEVE(1)
Powered by man-cgi (2020-09-24).
Maintained for NetBSD
by Kimmo Suominen.
Based on man-cgi by Panagiotis Christias.
qsieve, qsafe -- generate system moduli file
qsieve [megabytes bits [initial]]
qsafe [trials [generator]]
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 inten-
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 (typi-
cally 768, 1024, 1536, 2048, 3072, or 4096, although others can be used
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 candi-
date and suggest a generator.
These programs were originally developed for the Photuris project, and
later the OpenSSH project.
NetBSD 5.0.1 July 28, 1997 NetBSD 5.0.1