Cryptography Reference
In-Depth Information
k
elements in each block, then the odds of choosing one element in a
block is N . The odds of having any overlap between blocks can be
computed with the classic binomial expansion.
In the sound file displayed in Figure 14.3, there are 14
processisstraightforward. Ifthereare
N
elements in the file and
976 ele-
ments. If the block sizes are 100 elements, then the odds of choosing
an element froma block is about
,
1
150
. The probability of choosing 100
elements and finding no intersections is about
.
51 , one intersection,
about
.
35 , two intersections, about
.
11 , three intersections, about
.
02 ,
and the rest are negligible.
Of course, this solution may increase the amount of information
that can be packed into a file, but it sacrifices resistance to synchro-
nization. Any complicated solution for choosing different elements
and assembling them into a block will be thwarted if the data file
loses information. Choosing the 1st, the 189th, the 542nd, and the
1044th elements from the data file fails if even the first one is deleted.
14.4 Comparative Blocks
The first section spread the information over a block of data by rais-
ing the average so it was larger or smaller than some value,
.The
solution works well if the average is predictable. While the examples
used sound files with averages near zero, there's no reason why other
data streams couldn't do the job if their average was known before-
hand to both the sender and the recipient.
Another solution is to tweak the algorithm to adapt to the data at
hand. This works better with files like images, which often contain
information with very different statistical profiles. A dark picture of
shadows and a picture of a snow-covered mountain on a sunny day
have significantly different numbers in their file. It just isn't possible
for the receiver and the sender to predict the average.
Here's a simple solution:
S
1. Divide the elements in the file into blocks as before. They can
either be contiguous groups or random selections chosen by
some cryptographically secure random number generator.
2. Group the blocks into pairs.
3. Compute the averages of the elements in the blocks.
4. Compare the averages of the pairs.
5. If the difference between the averages is larger than some
threshold, (
|B 1 − B 2 | >T
), throw out the pair and ignore it.
Search WWH ::




Custom Search