1

In DES key schedule some rounds use one left shift while others use two left shifts. What is the reason behind this?

otus
  • 32,462
  • 5
  • 75
  • 167
Aamir
  • 73
  • 1
  • 5

1 Answers1

2

For the first part of the question regarding DES subkey generation, the reason there is a difference in the rotation amount is so that each subkey is different, and that all bits of the original key are used, and that there is a fairly equal probability that a bit will be in a subkey.

The rotations occur on the equal sized 28-bit halves of the 56-bit permuted key (after PC1), and are then sent to PC2 and reduced to 48-bits.

Because of the rotation constant, all 16 subkeys are different. If the rotation constant was 2, the subkeys would start to repeat after 14 rounds.

The combination of PC2 and the rotation constant means that each bit of the 56-bit key is used in approximately 14 of the subkeys. Bit 1 of 56 for example is used 15 times, whereas bit 2 is used 13 times. A complete list of bits (prior to PC2) used in the subkey generation are shown in this answer.

Richie Frame
  • 13,278
  • 1
  • 26
  • 42