Applied Cryptography, Second Edition: Protocols, Algorthms, and Source Code in C (cloth)
(Publisher: John Wiley & Sons, Inc.)
Author(s): Bruce Schneier
ISBN: 0471128457
Publication Date: 01/01/96

Previous Table of Contents Next


RDES

RDES is a variant that replaces swapping the left and right halves at the end of each round with a key-dependent swap [893]. The swappings are fixed, depending solely on the key. This means that the 15 key-dependent swaps occur with 215 possible instances, and that the variant is not resistant to differential cryptanalysis [816,894,112]. RDES has a large number of weak keys. In fact, almost every key is weaker than a typical DES key. This variant should not be used.

A better idea is to swap only within the right half, at the beginning of each round. Another better idea is to make the swapping dependent on the input data and not a static function of the key. There are a number of possible variants [813,815]. In RDES-1, there is a data-dependent swap of the 16-bit words at the beginning of each round. In RDES-2, there is a data-dependent swap of the bytes at the beginning of each round after the 16-bit swappings as in RDES-1. And so on through RDES-4. RDES-1 is secure against both differential cryptanalysis [815] and linear cryptanalysis [1136]. Presumably RDES-2 and greater are as well.

Table 12.15
Differential Cryptanalysis Attacks against DES Variants

Modified Operation Chosen Plaintexts

Full DES (no modification) 247
P permutation Cannot strengthen
   Identity permutation 219
Order of S-boxes 238
Replace XORs by additions 239, 231
S-boxes:
   Random 218–220
   Random permutations 233–241
   One entry 233
   Uniform tables 226
Elimination of the E Expansion 226
Order of E and subkey XOR 244
GDES (width q = 8):
   16 rounds 6, 16
   64 rounds 249 (independent key)

sn DES

A group of Korean researchers, led by Kwangjo Kim, has attempted to find a set of S-boxes that are optimally secure against both linear and differential cryptanalysis. Their first attempt, known as s2DES, was presented in [834] and shown to be worse than DES against differential cryptanalysis in [855,858]. Their next attempt, s3DES, was presented in [839] and shown to be worse than DES against linear cryptanalysis [856,1491,1527,858,838]. Biham suggested a minor change to make s3DES secure against both linear and differential cryptanalysis [165]. The group went back to their computers and developed better techniques for S-box design [835,837]. They proposed s4DES [836] and then s5DES [838,944].

Table 12.16 gives the s3DES S-boxes with S-box 1 and S-box 2 reversed, which are secure against both differential and linear cryptanalysis. Sticking this variant in a triple-DES mix is sure to irritate cryptanalysts.

DES with Key-Dependent S-Boxes

Linear and differential cryptanalysis work only if the analyst knows the composition of the S-boxes. If the S-boxes are key-dependent and chosen by a cryptographically strong method, then linear and differential cryptanalysis are much more difficult. Remember though, that randomly generated S-boxes have very poor differential and linear characteristics; even if they are secret.

Table 12.16
s3DES S-Boxes (with S-box 1 and S-box 2 reversed)

S-box 1:
13 14 0 3 10 4 7 9 11 8 12 6 1 15 2 5
8 2 11 13 4 1 14 7 5 15 0 3 10 6 9 12
14 9 3 10 0 7 13 4 8 5 6 15 11 12 1 2
1 4 14 7 11 13 8 2 6 3 5 10 12 0 15 9
S-box 2:
15 8 3 14 4 2 9 5 0 11 10 1 13 7 6 12
6 15 9 5 3 12 10 0 13 8 4 11 14 2 1 7
9 14 5 8 2 4 15 3 10 7 6 13 1 11 12 0
10 5 3 15 12 9 0 6 1 2 8 4 11 14 7 13
S-box 3:
13 3 11 5 14 8 0 6 4 15 1 12 7 2 10 9
4 13 1 8 7 2 14 11 15 10 12 3 9 5 0 6
6 5 8 11 13 14 3 0 9 2 4 1 10 7 15 12
1 11 7 2 8 13 4 14 6 12 10 15 3 0 9 5
S-box 4:
9 0 7 11 12 5 10 6 15 3 1 14 2 8 4 13
5 10 12 6 0 15 3 9 8 13 11 1 7 2 14 4
10 7 9 12 5 0 6 11 3 14 4 2 8 13 15 1
3 9 15 0 6 10 5 12 14 2 1 7 13 4 8 11
S-box 5:
5 15 9 10 0 3 14 4 2 12 7 1 13 6 8 11
6 9 3 15 5 12 0 10 8 7 13 4 2 11 14 1
15 0 10 9 3 5 4 14 8 11 1 7 6 12 13 2
12 5 0 6 15 10 9 3 7 2 14 11 8 1 4 13
S-box 6:
4 3 7 10 9 0 14 13 15 5 12 6 2 11 1 8
14 13 11 4 2 7 1 8 9 10 5 3 15 0 12 6
13 0 10 9 4 3 7 14 1 15 6 12 8 5 11 2
1 7 4 14 11 8 13 2 10 12 3 5 6 15 0 9
S-box 7:
4 10 15 12 2 9 1 6 11 5 0 3 7 14 13 8
10 15 6 0 5 3 12 9 1 8 11 13 14 4 7 2
2 12 9 6 15 10 4 1 5 11 3 0 8 7 14 13
12 6 3 9 0 5 10 15 2 13 4 14 7 11 1 8
S-box 8:
13 10 0 7 3 9 14 4 2 15 12 1 5 6 11 8
2 7 13 1 4 14 11 8 15 12 6 10 9 5 0 3
4 13 14 0 9 3 7 10 1 8 2 11 15 5 12 6
8 11 7 14 2 4 13 1 6 5 9 0 12 15 3 10


Previous Table of Contents Next
[an error occurred while processing this directive]