Cryptography Reference
In-Depth Information
generators and place each element in the order with equal proba-
bility. The easiest way to create this is to use a well-designed cryp-
tographically secure hash function like SHA. The designers have al-
ready worked hard to ensure that the results of these functions be-
have close to a random number source.
If you can assume that
f 2 are random enough, then the
odds of a collision are simple. If data is hidden in the first
f 1 and
n 1
ele-
ments in the list produced by
f 1
and the first
n 2
elements in the list
produced by
f 2
, then the estimated chance of collisions is:
n 1 × n 2
n .
The damage can be reduced by using error-correcting codes like the
ones described in Chapter 3.
13.7 Sorting to Hide Information
The algorithms in the first part of this chapter use sorting as a form
of camoflage. The information is hidden and then scrambled to hide
it some more. Correctly sorting the information again reveals it.
Another solution is to actually hide information in the choice of
the scrambling. If there are
n ! ways that they
can be arranged. If the arrangements are given numbers, then there
are log n ! bits. Matthew Kwan used this solution to hide information
in the sequence of colors in the palette of a GIF image. A freely-
available program called GifShuffle implements the solution.
Here's a simple version of the algorithm:
n
items, then there are
1. Use a keyedpseudo-randombit stream to choose pairs of pixels
or data items in the file.
D
2. For each pair, let
be the difference between the two values.
3. If the difference is greater than some threshold of perception,
ignore the pair. That is, if the differences between the pixels or
data items are noticable by a human, then ignore the pair.
4. If
D =0,ignorethepair.
5. Encode one bit of information in the pair. Let
D> 0 stand for a
zero and
D< 0 stand for a one. If the pixels aren't arranged in
the right order, swap them.
Search WWH ::




Custom Search