Cryptography Reference
In-Depth Information
jective (many-to-one) mapping. It uses nonlinear building blocks and maps 32 input
bits to 32 output bits using a 48-bit round key k i , with 1
i
16.
3.3 Internal Structure of DES
The structure of DES as depicted in Fig. 3.5 shows the internal functions which we
will discuss in this section. The building blocks are the initial and final permutation,
the actual DES rounds with its core, the f -function, and the key schedule.
3.3.1 Initial and Final Permutation
As shown in Figs. 3.6 and 3.7, the initial permutation IP and the final permuta-
tion IP 1 are bitwise permutations. A bitwise permutation can be viewed as simple
crosswiring. Interestingly, permutations can be very easily implemented in hardware
but are not particularly fast in software. Note that both permutations do not increase
the security of DES at all. The exact rationale for the existence of these two permu-
tations is not known, but it seems likely that their original purpose was to arrange
the plaintext, ciphertext and bits in a bytewise manner to make data fetches easier
for 8-bit data busses, which were the state-of-the-art register size in the early 1970s.
1
50
58
64
. . .
. . .
. . .
x
. . .
. . .
IP(x)
2
Fig. 3.6 Examples for the bit swaps of the initial permutation
1
40
1
2
40
. . .
. . .
z
. . .
. . .
. . .
IP (z)
−1
1
50
58
64
Fig. 3.7 Examples for the bit swaps of the final permutation
The details of the transformation IP are given in Fig. 3.8. This table, like all other
tables in this chapter, should be read from left to right, top to bottom. The table
indicates that input bit 58 is mapped to output position 1, input bit 50 is mapped to
Search WWH ::




Custom Search