# Re: Estimating entropy of a stream

*From*: lukeo <lukejamesoconnor@xxxxxxxxx>*Date*: Tue, 22 Dec 2009 04:11:55 -0800 (PST)

On Dec 20, 6:08 am, Joe Green <joe.gr...@xxxxxxxxxx> wrote:

Data examination, spectrum analysis and intimate knowledge of your randomness source is what is needed. Thus if you calculate 5 bits of randomness per sample, arithmetic says output 32 bits every 32/5 (round up to 7) times. Then double or triple that. I would go with 32 bits every 16 samples.

//Do it like this

hash_work_area tbl;

for(;;) {

for(j=0;j<16;j++) {

augment tbl with randomness source

tbl = someHash(tbl);

}

output 32 bits from table

}

After program start or power up be sure to toss the first outputs equivalent to at least 3 times the hash area size / bits of randomness per sample.

I will soon have a < US$100 USB TRNG that produces > 50K true random bytes per second. My processor is a 32-bit machine that runs the "augment tbl with randomness source and tbl = someHash(tbl)" steps for two samples in just over 3 microseconds. My hash work area is over 1200 bits with excellent and efficient augmentation and mixing.

Or you could cheat and no one could tell. (My USB TRNG does not cheat.)

I recently blogged about a USB Entropy Stick, and they use Maurer's

Universal statistical test which converges to the entropy

of a stream. Also see the other referenced paper which cleans up some

of Maurer's estimates/constants. Post is here

http://lukenotricks.blogspot.com/2009/12/usb-entropy-drive.html

rgs Luke

.

**Follow-Ups**:**Re: Estimating entropy of a stream***From:*unruh

**References**:**Re: Estimating entropy of a stream***From:*Joe Green

- Prev by Date:
**Re: Decimation** - Next by Date:
**Re: Estimating entropy of a stream** - Previous by thread:
**Re: Estimating entropy of a stream** - Next by thread:
**Re: Estimating entropy of a stream** - Index(es):