Skip to main content

Timeline for Seed / reseed DRBG too often?

Current License: CC BY-SA 3.0

7 events
when toggle format what by license comment
Mar 22, 2016 at 12:00 comment added Gilles 'SO- stop being evil' @runeks The most common use of a DRBG is to generate unpredictable data (i.e. data that isn't correlated with anything else). You can do that with a DRBG with an unpredictable seed. In my answer I give a few reasons to use a DRBG seeded with /dev/urandom to generate unpredictable data: performance, portability, demonstrable security. It's rare to actually need the determinism aspect; an example use case is when you want to keep logs of everything and you want to be able to repeat a run of the program, e.g. to debug it.
Mar 22, 2016 at 8:28 comment added runeks Perhaps I'm not clear on the purpose of a DRBG, but it seems to me that the purpose of a deterministic random byte generator is lost if it isn't deterministic. Doesn't "solving" the reseeding problem of a DRBG using /dev/urandom mean that it isn't a DRBG any longer, ie. it is no longer deterministic? And indeed, if it isn't deterministic, why not drop it and use /dev/urandom exclusively?
Feb 24, 2014 at 11:26 comment added rzetterberg @Gilles It's funny that you mention that my pseudo-code looks like Haskell, since I use Haskell predominantly. Anyway, not only did you answer my question, you also provided more information that answered other questions I had. So thank you very much for that!
Feb 24, 2014 at 11:17 vote accept rzetterberg
Feb 20, 2014 at 22:59 comment added Gilles 'SO- stop being evil' @BrockHansen I'm afraid I don't see how this relates to my answer.
Feb 20, 2014 at 22:57 comment added Brock Hansen The Fortuna CSPRNG is reseeded at most 10 times per second, so that an attacker who has compromised its state can't supply so much input to it that none of its pools gain enough entropy before being used that the attacker can't track them.
Feb 20, 2014 at 13:35 history answered Gilles 'SO- stop being evil' CC BY-SA 3.0