
Signature
Beware of bugs in the above code; I have only proved it correct, not
tried it. -- Donald E. Knuth
> > One thing I just noticed was that when I deflated a file full or
> > random bytes it actually increased its size. Just thought that was
[quoted text clipped - 7 lines]
>
> Random data being compressed would be surprising.
*Pseudo*random data can, of course, be compressed to a description
(goedel number? source code? whatever) of the algorithm plus the
initial conditions used to generate the values. This suggests to me
that there might be a fixed (or almost fixed) amount of entropy in
PRNG output, regardless of how many digits of output you have.
Hmm.
-o
Andreas Leitgeb - 18 Apr 2008 15:01 GMT
> *Pseudo*random data can, of course, be compressed to a description
> (goedel number? source code? whatever) of the algorithm plus the
> initial conditions used to generate the values. This suggests to me
> that there might be a fixed (or almost fixed) amount of entropy in
> PRNG output, regardless of how many digits of output you have.
If it's say 1e1000000000000000000 digits from the PRNG-Output, it's
not all that "regardless", as you'll need some extra bytes to encode
the actual length of the sequence :-)
rossum - 18 Apr 2008 17:08 GMT
>*Pseudo*random data can, of course, be compressed to a description
>(goedel number? source code? whatever) of the algorithm plus the
[quoted text clipped - 3 lines]
>
>Hmm.
Correct. In cryptography a PRNG is used to stretch entropy. A PRNG
is seeded from a true RNG and reseeded regularly to make sure that the
entropy is not stretched too thin. A PRNG can only output as much
total entropy as is put in via the seed/reseed process.
rossum
Arne Vajhøj - 19 Apr 2008 18:14 GMT
>>> One thing I just noticed was that when I deflated a file full or
>>> random bytes it actually increased its size. Just thought that was
[quoted text clipped - 12 lines]
> that there might be a fixed (or almost fixed) amount of entropy in
> PRNG output, regardless of how many digits of output you have.
True.
But current available compression algorithms does not analyze
data and detect the RNG algorithm. And I am pretty sure that
they will not in the future either.
So in practice the data does not compress.
Arne
Logan Shaw - 19 Apr 2008 20:36 GMT
>>> One thing I just noticed was that when I deflated a file full or
>>> random bytes it actually increased its size. Just thought that was
[quoted text clipped - 12 lines]
> that there might be a fixed (or almost fixed) amount of entropy in
> PRNG output, regardless of how many digits of output you have.
Assuming that the PRNG's state isn't shared among multiple pieces of
code generating separate streams of data. This could be a deterministic
process (no threads or other external entropy mixed in) but still screw
things up mightily.
I suppose you can view this issue as merely a parameterized PRNG in some
sense, I don't know. I think I'm just wondering if it's fully general
to reason about a PRNG in the context of only one piece of code using it,
not two unrelated pieces of code sharing the same PRNG.
- Logan