Re:On Linux's Random Number Generation
by ben_bai on Saturday December 21, 2019 @05:00AM
(#21850587)
So like the standard arc4random_buf(3) which everybody has except for Linux.
Don't worry the name is historic it does not us the arc4 cipher any longer, at least on OpenBSD. They switched to chacha20 as stream cipher.
The interface is the same, but arc4random_buf is a user-space CSPRNG.
The analog of zx_cprng_draw is getentropy(2): http://man.openbsd.org/cgi-bin/man.cgi/OpenBSD-current/man2/... except zx_cprng_draw kills the process, while getentropy returns an error.
- It won't fail if there are no file descriptors available
- No error handling needed: the call always succeeds and random bytes are always returned