Cryptography Reference
In-Depth Information
Next, the right block half, R i , is expanded from 32 to 48 bits.
The two 48-bit sequences are XORed.
Eight so-called S-boxes are used to transform the result into a 32-bit
sequence. (An S-box is a table with 4 rows and 16 columns.)
The 32-bit sequence is permuted, i.e., its sequence is modified. This
transformation is described by the P-box. (A P-box is simply a certain
arrangement of the numbers 1 through 32.)
All that remains to be done is to take the 32-bit block created and XOR it
with the left block half, L i , to produce the right block half for the new round.
Decryption works as in any Feistel network — similarly to encryption, except
with the round keys in reverse order.
We will look at a few details in the following sections.
Input and Output Permutation
The permutations before the first round and after the last round serve no security
purpose. Their use is probably due to the hardware because, in the mid-1970s,
it wasn't easy to load 64-bit data into a register. Even 16-bit microprocessors
weren't around.
Key Transformation
Before each round, we decompose the 56-bit key into two 28-bit halves and
rotate each half by 1 bit or 2 bits, depending on the round number. 'Rotating'
by 2 bits means that all bits walk two places to the left, while the two bits
pushed out march back in to the two places on the right. Subsequently, we put
the two halves together again to make a 56-bit key.
Based on a fixed scheme, we select 48 bits out of the 56 bits and permute them
concurrently, i.e., we modify their arrangement. Since this process reduces the
number of bits, it is called compression permutation .
On account of this (rigid) key transformation, different key bits are used in
each round; every bit is used in about 14 rounds, but not distributed equally
(which could be exploited in a special attack referred to as related-key crypt-
analysis — see Section 4.4.3).
The Half-Block Expansion
A fixed transformation is used to expand the 32 bits of block half R i to a
48-bit block. Some input bits occur twice in the output (every fourth bit and
Search WWH ::




Custom Search