Applied Cryptography, Second Edition: Protocols, Algorithms, and Source Code in C
by Bruce Schneier
Wiley Computer Publishing, John Wiley & Sons, Inc.

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