Cryptography Reference
In-Depth Information
1993, and 1999, and it was officially withdrawn in July 2004. 8 The DES specification
that was reaffirmed in 1999 (i.e., FIPS PUB 46-3 [1]) is publicly and freely available
on the Internet. 9 It specifies both the DES and the Triple Data Encryption Algorithm
(TDEA), which may be used to protect highly sensitive data (see Section 10.2.1.6).
From a security viewpoint, the TDEA is certainly the preferred choice. In either
case, cryptographic modules that implement FIPS 46-3 should also conform to the
requirements specified in FIPS 140-1 [2]. As of this writing, there is an increasingly
large number of DES implementations (both in hardware and software) that conform
to the various levels specified in this standard.
DES is the major representative of a Feistel cipher . 10 These ciphers are
overviewed first. Afterwards, the DES encryption and decryption algorithms are
described, and the security of the DES is briefly analyzed. Finally, a variant of DES
(named DESX) and TDEA are overviewed, discussed, and put into perspective.
10.2.1.1
Feistel Ciphers
A Feistel cipher is a block cipher with a particular structure (known as Feistel
network ). The alphabet is Σ=
Z 2
=
{
0 , 1
}
, and the block length is 2 t (for a
+ ). The Feistel cipher runs in r
+ rounds. For every
reasonably sized t
N
N
k
, r round keys k 1 ,...,k r must be generated and used on a per-round basis.
The encryption function E k starts by splitting the plaintext message block m
into two halves of t bits each. Let L 0 be the left half, and R 0 be the right half (i.e.,
m =( L 0 ,R 0 )). A sequence of pairs ( L i ,R i ) for i =1 ,...,r is then recursively
computed as follows:
∈K
( L i ,R i )=( R i− 1 ,L i− 1
f k i ( R i− 1 ))
(10.2)
This means that L i = R i− 1
and R i = L i− 1
f k i ( R i− 1 ). For example, if
i =1,then L 1 and R 1 are computed as follows:
L 1
=
R 0
R 1
=
L 0
f k 1 ( R 0 )
8
http://csrc.nist.gov/Federal-register/July26-2004-FR-DES-Notice.pdf
9
http://csrc.nist.gov/publications/fips/fips46-3/fips46-3.pdf
10
Feistel ciphers are named after the IBM researcher Horst Feistel who was involved in the original
design of Lucifer and DES. Feistel lived from 1915 to 1990 and was one of the first nongovernment
cryptographers.
Search WWH ::




Custom Search