Ensuring that LSBs in Stego "look random enough"
Tim May
tcmay at got.net
Sat Jul 21 17:19:44 PDT 2001
At 4:28 PM -0700 7/21/01, jamesd at echeque.com wrote:
> --
>On 18 Jul 2001, at 8:07, Ray Dillinger wrote:
>> *sigh*. I will not use a stego system unless I write it first and
>> my recipient has the only other copy. Because it's a matter of
>> keeping the *method* secret, that's really the only way.
>
>In principle, it should be possible to write a stego program that is
>undetectable, provided your enemy has no better models of noise
>sources in the medium than you have. As far as I know, no one
>has done this.
>
>It is probably easier to do this with sound than with video, as order
>and randomness in sound somewhat easier to specify.
Take a set of bits generated by a good PRNG. Use this set for the LSB
of GIFs or other noncompressed image files. Anyone analyzing the LSBs
sees a set with various spectral and statistical properties.
To send a signal, a message, XOR the message with this set of
PRNG-generated bits. One's recipient already has a copy of the
PRNG-generated bits. (Remember, stego is not the same as public key
crypto, so Alice and Bob can arrange in advance to use a particular
entry point in an PRNG, or an entry point in a one-time pad, etc.)
The resulting LSBs will have, "in almost cases," a set of spectral
and statistical properties nearly identical with the original LSBs.
Unless the message bits are somehow correlated with the
PRNG-generated bits, the distribution will pass all tests for
"randomness" that the orginal PRNG-generated bits passed.
This is a kind of variant on von Neumann's scheme for ensuring even
distributions of heads and tails in a message stream even with coins
weighted unevenly towards heads and tails.
The approach can be extended to have the distribution of LSBs look
like that of a camera source, or whatever normal images or sound
files typically have. (In this case, Alice and Bob exchange sets of
LSBs from camera/microphone sources. Messages are then XORed with
these sets. All statistical tests produce the same results as
original camera/microphone sources produce.)
(A "gotcha" left as an exercise if if the image or microphone source
produces fixed patterns of bits in certain places. For example, if
every image file begins with 16 fixed bits, or somesuch. In this
case, XORing these fixed bits with the message bits would NOT
preserve the statistical properties.)
--Tim May
--Tim May
--
Timothy C. May tcmay at got.net Corralitos, California
Political: Co-founder Cypherpunks/crypto anarchy/Cyphernomicon
Technical: physics/soft errors/Smalltalk/Squeak/agents/games/Go
Personal: b.1951/UCSB/Intel '74-'86/retired/investor/motorcycles/guns
More information about the cypherpunks-legacy
mailing list