Cryptography Reference
In-Depth Information
If
C>
0 and odd leave
C
unchanged to encode a 1 and decre-
ment it to encode a 0 .
If
C>
0 and even leave
C
unchanged to encode a
and decre-
ment it to encode a 1 .
if
C<
0 and odd, leave
C
unchanged to hide a 0 and increment
it to hide a 1 .
if
C<
0 and even, leave
C
unchanged to hide a 1 and increment
it to hide a 0 .
The only problem occurs when the decrementing or the incre-
menting produce a new coefficient of zero. In those cases, the bit is
repeated because the information is effectively lost. The coding pro-
cess ignores the coefficients with zero.
Here's a table that shows a slightly different technique for encod-
ing information.
Coefficient After encoding 0 (skip) 1
2 2 1
3 2 3
4 4 3
-1 -1 0 (skip)
-2 -1 -2
-3 -3 -2
-4 -3 -4
Here's a table showing the bits 01010 being hidden. The five bits
require seven coefficients because some are skipped.
Hidden Bit Coefficient Before Coefficient After
0 4 4
1 2 1
0(skip) 0 0
0 (again) -2 -1
1 1 1
0(skip) 1 0
0 (again) 2 2
Decoding the file is simple. A coefficient of 1 ,forinstance,is
either produced by hiding a 1 in a coefficient of 2 or by hiding a 1 in a
coefficient of 1 . In either case, the hidden bit is 1 . The same pattern
holds throughout the encoding process.
This solution avoids the gross statistical problems of Jsteg, but
it still changes the profile. Some bits are hidden by shrinking the
absolute values of the coefficients. This means that there are more
values clustered around 0 than before and the distribution is now
Search WWH ::




Custom Search