Date: Wed, 11 Jul 2018 07:58:35 -0600 From: Ian Lepore <ian@freebsd.org> To: Dirk-Willem van Gulik <dirkx@webweaving.org>, "freebsd-hackers@freebsd.org" <freebsd-hackers@freebsd.org> Subject: Re: Limits to seeding /dev/random | random(4) Message-ID: <1531317515.66719.20.camel@freebsd.org> In-Reply-To: <3A988D26-7B08-4301-8176-B0ED8A559420@webweaving.org> References: <3A988D26-7B08-4301-8176-B0ED8A559420@webweaving.org>
next in thread | previous in thread | raw e-mail | index | archive | help
On Wed, 2018-07-11 at 14:03 +0200, Dirk-Willem van Gulik wrote: > When feeding /dev/random from hardware USB devices like Bill > Woodcock’s design in PCB incarnation: > > https://13-37.org/de/shop/infinite-noise-trng/ > > Are there any caveats with regard to volume or speed of doing so ? Or > is it always a plus ? > > Actual code at https://github.com/dirkx/infnoise/blob/master/software > /libinfnoise.c line 122: > > if ((devRandomFD = open("/dev/random",O_WRONLY)) <0) > .. error handling > > if (write(devRandomFD, bytes, length) != length) > .. error handling > > And is there any case where length would not return the length > written — it seems that the driver traps/ignores EINT, EAGAIN and > short writes ? > > Or should one check the entropy available in /dev/random (how?) and > hold off feeding it until it is low enough (this is what the > infinite-trng seems to do on linux). > > With kind regards, > > Dw There is no way to check the entropy available in /dev/random because the whole concept doesn't apply. Entropy isn't a limited resource that can be exhausted after the prng is seeded at boot time. When asking our prng gurus for advice on writing a device driver for an on-chip entropy source, the advice I got was basically: there's no need to feed in more entropy on an ongoing basis, but no harm in doing so either, within reason. The recommendation was to feed at or below an average rate of about 128 bits/second. Pushing in more isn't harmful, just wasteful of system resources because it doesn't make anything better. -- Ian
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?1531317515.66719.20.camel>