Cryptography Reference
In-Depth Information
is odd. That is, set the last bit to be one if there are an even
number of ones in the first
m −
1 bits and a zero if there are an
odd number.
4. Encrypt the block with a separate encryption function, ideally
using a different key constructed by appending a different ran-
dom string. This encryption function is necessary because of
the linear nature of the file system. If an attacker can estab-
lish some part of the file,
D
, then the attacker can solve some
linear equations to recover
K j . If the files aren't encrypted, an
attacker can extract the file if the attacker can guess a phrase
and its location in the file.
5. Replace
C i with
D ⊕ C i for all
i
where
K j (
i
)=1 .
This basic algorithm will store one file in the system. If it is used
repeatedly, it may bring problems because new files can overwrite
other files. If you want to store more than one file in the system, you
need to ensure that they will not disrupt each other.
The simplest solution is to choose the
m
values of
K j
so that
they're orthogonal vectors. That is,
K i · K j =1 if and only if
i
=
j
.In
all other cases,
K i
· K j =0 . If the password vectors are orthogonal,
then
different files can be stored in the system without disturbing
each other.
In other words, whenever the values of
m
D
are added to different
rows
K p · K q =0 ,then
there are only an even number of bits that are one in both
C j , that it will not distort another file. Why? If
K p and
K q .
)=1 .
Some of these rows will also rows which are storing parts of another
file defined by key
Imagine that you're replacing
C j with
D⊕C j for all
j
where
K p (
j
will
only be added to an even number of rows and the value will cancel
out.
K q . Why isn't this file disturbed? Because
D
=0 .
Consider this example with
D ⊕ D
K
:
01110
10110
00111
11101
11011
Thismatrix contains the keys for 5 files. The first row, for instance,
specifies that the first file consists of
C 2 ⊕ C 3 ⊕ C 4 .Thesecond
row specifies that the second file consists of
C 1 ⊕ C 3 ⊕ C 4 .Ifnew
data is stored in the first file, then
C 2 ,C 3 ,
and
C 4 will all become
C 2 ⊕ D, C 3 ⊕ D,
and
C 4 ⊕ D
respectively. What does this do to the
second file?
C 1 ⊕ C 3 ⊕ C 4 becomes
C 1
(
C 3 ⊕ D
)
(
C 4 ⊕ D
)=
C 1 ⊕ C 3 ⊕ C 4 ⊕ D ⊕ D
=
C 1 ⊕ C 3 ⊕ C 4 .
Search WWH ::




Custom Search