Manpages

NAME

ipsec_ranbits − generate random bits in ASCII form

SYNOPSIS

ipsec ranbits [−−quick] [−−continuous] [−−bytes] nbits

DESCRIPTION

Ranbits obtains nbits (rounded up to the nearest byte) high−quality random bits from random(4), and emits them on standard output as an ASCII string. The default output format is datatot(3) h format: lowercase hexadecimal with a 0x prefix and an underscore every 32 bits.

The −−quick option produces quick−and−dirty random bits: instead of using the high−quality random bits from /dev/random, which may take some time to supply the necessary bits if nbits is large, ranbits uses /dev/urandom, which yields prompt results but lower−quality randomness.

The −−continuous option uses datatot(3) x output format, like h but without the underscores.

The −−bytes option causes nbits to be interpreted as a byte count rather than a bit count.

FILES

/dev/random, /dev/urandom

SEE ALSO

ipsec_datatot(3), random(4)

HISTORY

Written for the Linux FreeS/WAN project <http://www.freeswan.org> by Henry Spencer.

BUGS

There is an internal limit on nbits, currently 20000.

Without −−quick, ranbits’s run time is difficult to predict. A request for a large number of bits, at a time when the system’s entropy pool is low on randomness, may take quite a while to satisfy.

Though not a bug of ranbits, the direct use of /dev/hw_random, the Linux hardware random number generator is not supported because it can produce very non−random data. To properly use /dev/hw_random, the rngd daemon should be used to read from /dev/hw_random and write to /dev/random, while performing a FIPS test on the hardware random read. No changes to Openswan are required for this support − just a running rngd.