haveged(8) (NAME) haveged - . (SYNOPSIS) haveged [] (DESCRIPTION) haveged HAVEGE ( HArdware Volatile Entropy Gathering and Expansion ) ( ) . (user space) . /dev/random /dev/urandom . /dev/random . haveged /dev/random (low water mark) /dev/random . haveged . (NOTES) . (OPTIONS) -b nnn, --buffer=nnn nnn - (KW). 128KW ( ) . -c cmd, --command=cmd haveged . : close haveged root= haveged . haveged chroot(2) execv(3) . -C , --no-command . . ( ) . -c . -d nnn, --data=nnn nnn . . -f file, --file=file . "sample" "-" . -F , --Foreground . (fork) . -e , --once . -i nnn, --inst=nnn nnn . . -n nnn, --number=nnn . k m g t . "16t" ( = ). . . --run . -o , --onlinetest= . "t"ot ( ) "c"ontinuous () "a" A AIS-31 "b" B AIS. ( B ) . a ( ) . A . a . A8 . "tot" . "tot" haveged . "tot" RNG . . "tbca8b" ( AIS NTG.1) B "tot" A8 B . . . . "w" . "tbca8wbw" . AIS (NOTES) . . ("ta8bcb" "ta8b" ) . -p file, --pidfile=file pid . "/var/run/haveged.pid" . -r n, --run=n : n = 0 - . /dev/random . n = 1 . n > 1 . ( --number ) . --number 0 1 . . -v n, --verbose=n : 1= / . 2= . 4= . 8= . 16= . 32= . 64= RNDADDENTROPY. . 1- . -w nnn, --write=nnn write_wakeup_threshold nnn . 0 . -V, --version -?, --help . (NOTES) haveged HAVEGE cpuid ( ) . . haveged . AIS-31 BSI . . haveged AIS-31 haveged . A AIS . B AIS . A haveged . B haveged haveged /dev/random . . 10e-4 . AIS-31 haveged . . libhavege(3) . (FILES) : /dev/random /proc/sys/kernel/osrelease /proc/sys/kernel/random/poolsize /proc/sys/kernel/random/write_wakeup_threshold (DIAGNOSTICS) Haveged . (<< >>) 128 + . stderr : Cannot fork into the background daemon(3) . Cannot open file for writing. . Cannot write data in file: . Couldn't get pool size. /proc/sys/kernel/random/poolsize . Couldn't initialize HAVEGE rng . Couldn't open PID file for writing PID . Couldn't open random device /dev/random . Couldn't query entropy-level from kernel: error ioctl(2) . Couldn't open PID file for writing /var/run/haveged.pid. Fail:set_watermark() /proc/sys/kernel/random/write_wakeup_threshold . RNDADDENTROPY failed! ioctl(2) . RNG failed . Select error select(2) . Stopping due to signal . Unable to setup online tests . (EXAMPLES) . /tmp/random: haveged -n 1.5M -f /tmp/random /tmp/keyfile LUKS: haveged -n 2048 -f /tmp/keyfile /dev/sda1 . ! haveged -n 0 | dd of=/dev/sda1 ASCII : (haveged -n 1000 -f - 2>/dev/null | tr -cd '[:graph:]' | fold -w 16 && echo ) | head . pv : haveged -n 0 | pv > /dev/null haveged : haveged -n 1g -f - | dd of=/dev/null aespipe: haveged -n 3705 -f - 2>/dev/null | uuencode -m - | head -n 66 | tail -n 65 dieharder: haveged -n 0 | dieharder -g 200 -a PractRand: haveged -n 0 | practrand-RNG_test stdin64 -tlmax 16G -multithreaded 16k A B . c : haveged -n 16k -o tba8ca8 -v 33 16k . c - : haveged -n 16k -o tba8ca8 -v 33 -b 512 16m c : haveged -n 16m -o tba8ca8 -v 33 - . B. B >/3000 0.5% : haveged -n 16T -o tba8cbw -f - | pv > /dev/null ( ). : haveged -n 16T -o tba8c -f - | pv > /dev/null : haveged -f - -n 32 2>/dev/null | base64 | tr -d = (SEE ALSO) libhavege(3), cryptsetup(8), aespipe(1), pv(1), openssl(1), uuencode(1) (REFERENCES) HArdware Volatile Entropy Gathering and Expansion: generating unpredictable random numbers at user level A. Seznec, N. Sendrier INRIA RR-4592 A proposal for: Functionality classes for random number generators W. Killmann W. Schindler . (BSI) A Statistical Test Suite for the Validation of Random NUmber Generators and Pseudorandom Number Generators for Cryptographic Applications, SP800-22 (NIST) : http://www.issihosts.com/haveged/ (AUTHORS) Gary Wuertz Jirka Hladky 1.9 10 2014 haveged(8)