compressing randomly-generated numbers

james hughes hughejp at mac.com
Thu Aug 10 20:06:54 EDT 2006


On Aug 9, 2006, at 8:44 PM, Travis H. wrote:

> Hey,
>
> I was mulling over some old emails about randomly-generated numbers
> and realized that if I had an imperfectly random source (something
> less than 100% unpredictable), that compressing the output would
> compress it to the point where it was nearly so.  Would there be any
> reason to choose one algorithm over another for this application?

This is neither correct nor a good idea.

Taking almost random information and compressing it will lead to less  
random results.

Specifically, I will give the general LZW case and then go to the BZ2  
case.

1) For LZW (even ignoring the magic numbers), if a byte does not  
match anything in the dictionary (it starts with a dictionary of all  
0s, so the probability of a match on the first byte is low) then that  
byte will get a header of a 0 bit. That byte now becomes 9 bits. The  
next byte will have a dictionary of the previous byte and all zeros.  
The chance of a match will still be small and putting that into the  
dictionary will be a 9 bit field with 0s. So in the first 2 bytes, I  
can almost guarantee I know where 2 zero bits are.

2) BZ2 transforms the data and then uses LZW. See 1)....

The correct way to "improve" almost random data is to process it with  
a hash like function with compression.

Jim


---------------------------------------------------------------------
The Cryptography Mailing List
Unsubscribe by sending "unsubscribe cryptography" to majordomo at metzdowd.com



More information about the cryptography mailing list