Cryptography Reference
In-Depth Information
in a 1. There are a number of similar constructions that can produce
fairly efficient codes.
Imagine, for instance, that the tree will have height 2
n
, meaning
that the longest codes will be 2
bits long. Let one of these long codes
be the synchronization code created from
n
n
0s followed by
n
1s. So if
=4 , then the synchronization code would be 00001111 . Let's repre-
sent this as 0 4 1 4 or 0 n 1 1 . Using a long code for synchronization may
be a bit inefficient if you intend to include it often, but it simplifies
the process of ensuring that no two letters can combine to form the
synchronization character.
We can fix the codes for the remaining characters by adding the
right suffixes:
n
If a code for a character ends with more than
n
0s, add 101 to
the code.
n
0s, add 1 to the
If a code for a character ends with fewer than
code.
If a code for a character ends withmore than
n
1s, add nothing.
n
1s, add 01 to the
If a code for a character ends with fewer than
code.
This construction may not be optimal in many cases, but it should
suffice to prevent
n
0s from appearing before
n
1s except in the syn-
chronization character.
There are other techniques that rearrange the tree and provide
more efficient codes.
19.4 Summary
Being able to pick up a steganographic trail in the middle of a stream
is a useful technique for adding watermarks and other messages
when the cover file may be cropped or truncated along the way.
When users cut and paste snippets of songs or parts of an image, the
watermark can still survive if it's possible to synchronize the solution.
The algorithms given here are just a small selection. Synchroniza-
tion is a common problem in data communications because noise
can corrupt signals. Many radio devices like cell phones must be able
to synchronize themselves with a network when they turn on.
The Disguise The algorithms given here don't add any cover to the
process themselves. They just make it simpler to recover the
Search WWH ::




Custom Search