Re: strengthening /dev/urandom
From: Tom St Denis (tomstdenis_at_iahu.ca)
Date: 08/20/04
- Next message: Paul Rubin: "Re: strengthening /dev/urandom"
- Previous message: David Wagner: "Re: strengthening /dev/urandom"
- In reply to: David Wagner: "Re: strengthening /dev/urandom"
- Next in thread: Paul Rubin: "Re: strengthening /dev/urandom"
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ] [ attachment ]
Date: Thu, 19 Aug 2004 22:41:25 GMT
David Wagner wrote:
> Paul Rubin wrote:
>>I spent a couple minutes googling and didn't find any precise
>>descriptions of Fortuna, aside from references to Practical
>>Cryptography.
>
> Unfortunately, I'm not aware of any precise online descriptions, either.
>
> It's a really cute idea. From memory (and I'm sure I'll get some details
> wrong, because I don't have the book with me): You have a bunch of pools,
> ordered from left to right. Start with your finger pointing at the left
> (1st) pool. When you get an entropy sample from some source, mix it
> into the pool your finger is pointing at, and move your finger right
> one pool (wrapping around if necessary). When the application wants a
> bit of output, generate it from the 1st pool. Every so often, generate
> 160 bits of output from the 2nd pool and mix it into the 1st pool.
> Half as often, generate 160 bits of output from the 3rd pool and mix
> it into the 2nd pool. One-fourth as often, generate 160 bits of output
> from the 4th pool and mix it into the 3rd pool. You get the idea.
That's sorta it. When you reseed you use the pools to form the key [for
AES] as
K = HASH(K || HASH(p0) || HASH(p1) || ...)
You use pool i if the reseed count is divisible by 2^i. So you always use
pool 0, you use pool 1 every second reseed, etc...
It defaults to using SHA-256 as the hash and AES-256 a the cipher in CTR
mode.
Tom
- Next message: Paul Rubin: "Re: strengthening /dev/urandom"
- Previous message: David Wagner: "Re: strengthening /dev/urandom"
- In reply to: David Wagner: "Re: strengthening /dev/urandom"
- Next in thread: Paul Rubin: "Re: strengthening /dev/urandom"
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ] [ attachment ]
Relevant Pages
|