Cryptography Reference
In-Depth Information
If you look carefully at the table on page 43, the first four bits
represent all of the possible points in a four-dimensional space. The
last three bits are parity bits that were added to puff it out into seven
dimensions.
The location of the parity bits varies significantly between differ-
ent codes. Some codes can correct a certain number of errors that
occur anywhere in a block of data. Others can correct errors that hap-
pen in bursts. They might be able to correct only one burst of errors,
but that burst can contain anywhere between one flipped bit and an
upper limit of
. If the errors don't occur next to each other, however,
then the code can't fix the error. Each of these codes places the parity
bits in different arrangements to grab different types of errors.
The rest of this topic will rely on error-correcting codes to add
robustness to protocols, perhaps add randomness, and provide an-
other way to split information into a number of different parts. Using
error-correcting codes is essential if information might bump into
other information in the channels.
k
3.2.1 Error Correction and White Noise
Error-correcting codes may be intended to correct errors, but they
can also be used to make a bit stream conform to some pattern.
Once a collection of bits is encoded in an error-correcting code then
changes can be introduced without destroying the underlying infor-
mation. These changes might add randomness or, with some diffi-
culty, make the data conform to a pattern.
In practice, the best choice for this approach is error-correcting
codes that can sustain a high number of errors. A good first choice
might be the 3-bit error-correcting code that conveys one bit. You
write 000 , 001 , 010 ,or 100 for the 0 bit and 111 , 110 , 101 ,or 011 for
the 1 bit. Any of the three are acceptable choices. This will triple the
size of the file, but it will allow plenty of flexibility in rearranging the
structure of the data.
Adding randomness is easy, but there are limitations to making
the data fit some other pattern. Obviously the underlying data must
come close enough to the pattern so that errors can be introduced
successfully. In an abstract sense, the pattern must fall into the
spheres. The bigger the spheres, the more patterns that can work
successfully. For instance, you could easily use the 3-bit code de-
scribed above to produce a bit stream that never hadmore than three
ones or three zeros occur in a row. Each bit could be encoded with
a pattern that started with a 1 or a 0 . On the other hand, you could
not produce a pattern that always requires that there were five ones
Search WWH ::




Custom Search