Digital Signal Processing Reference
In-Depth Information
X
Inital
Permutation
Encryption
1
Encryption
16
Final
Permutation
Y
K 1
K 16
K
FIGURE 10.56. DES model.
TABLE 10.10
Initial Permutation
IP
58
50
42
34
26
18
10
2
60
52
44
36
28
20
12
4
62
54
46
38
30
22
14
6
64
56
48
40
32
24
16
8
57
49
41
33
25
17
9
1
59
51
43
35
27
19
11
3
61
53
45
37
29
21
13
5
63
55
47
39
31
23
15
7
the 58th bit of data is moved into the first position of a 64-bit array, the 50th bit
into position 2, and so on. The input stream is permutated using a nonrepetitive
random table of 64 integers (1-64) that corresponds to a new position of each bit in
the 64-bit data block. The final permutation is the reverse of the initial permutation
to reorder the samples into the correct original formation. The initial permutation
is followed by the actual encryption. The permutated 64-bit block is divided into a
left and a right block of 32 bits each. Sixteen rounds take place, each undergoing a
similar procedure, as illustrated in Figure 10.57. The right block is placed into the left
block of the next round, and the left block is combined with an encoded version of
the right block and placed into the right block of the next round, or
LR
RL
=
=≈ (
i
i
-
1
)
fRk
1 ,
i
i
-
1
i
-
i
where L i -1 and R i -1 are the left and right blocks, respectively, each with 32 bits, and
k i is the distinct key for the particular round of encryption. The original key is sent
through a key scheduler that alters the key for each round of encryption. The left
block is not utilized until the very end, when it is XORed with the encrypted right
block.
The f -function operating on a 32-bit quantity expands these 32 bits into 48 bits
using the expansion table (see Table 10.11). This expansion table performs a per-
mutation while duplicating 16 of the bits (the rightmost two columns). For example,
Search WWH ::




Custom Search