This is the mail archive of the libc-alpha@sourceware.org mailing list for the glibc project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [PATCH] Add getrandom implementation [BZ #17252]


On 06/11/2016 04:13 AM, Florian Weimer wrote:
programmers do not check for error returns from random number generators. Based on that, I concluded it was important to provide an implementation which cannot fail.

Yes, as an app developer I prefer primitives like OpenBSD arc4random_buf that are always successful. In contrast, Linux getrandom (BUF, LEN, 0) is guaranteed to succeed only when called with LEN <= 256, which is good enough for hash nonces but not for general-purpose use.

Implementing arc4random has both libc aspects (providing thread safety and invalidating the internal state around clone/fork) and cryptographic aspects (for performance reasons, it has to be a deterministic random bit generator, and use the kernel for seeding only). I think the cryptographic aspect dominates, which is why it is difficult to implement arc4random as part of glibc.

Sorry, I don't understand. What's the difficulty? Why can't glibc implement the cryptographic aspect of arc4random_buf via an internal deterministic random bit generator? Can't glibc borrow a bit generator from Internet RFC 7539, or from GNU Coreutils, or whatever?


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]