Weak Key - Weak Keys in DES

Weak Keys in DES

The block cipher DES has a few specific keys termed "weak keys" and "semi-weak keys". These are keys that cause the encryption mode of DES to act identically to the decryption mode of DES (albeit potentially that of a different key).

In operation, the secret 56-bit key is broken up into 16 subkeys according to the DES key schedule; one subkey is used in each of the sixteen DES rounds. DES weak keys produce sixteen identical subkeys. This occurs when the key (expressed in hexadecimal) is:

  • Alternating ones + zeros (0x0101010101010101)
  • Alternating 'F' + 'E' (0xFEFEFEFEFEFEFEFE)
  • '0xE0E0E0E0F1F1F1F1'
  • '0x1F1F1F1F0E0E0E0E'

If an implementation does not consider the parity bits, the corresponding keys with the inverted parity bits may also work as weak keys:

  • all zeros (0x0000000000000000)
  • all ones (0xFFFFFFFFFFFFFFFF)
  • '0xE1E1E1E1F0F0F0F0'
  • '0x1E1E1E1E0F0F0F0F'

Using weak keys, the outcome of the Permuted Choice 1 (PC1) in the DES key schedule leads to round keys being either all zeros, all ones or alternating zero-one patterns.

Since all the subkeys are identical, and DES is a Feistel network, the encryption function is self-inverting; that is, despite encrypting once giving a secure-looking cipher text, encrypting twice produces the original plaintext.

DES also has semi-weak keys, which only produce two different subkeys, each used eight times in the algorithm: This means they come in pairs K1 and K2, and they have the property that:

where EK(M) is the encryption algorithm encrypting message M with key K. There are six semiweak key pairs:

  • 0x011F011F010E010E and 0x1F011F010E010E01
  • 0x01E001E001F101F1 and 0xE001E001F101F101
  • 0x01FE01FE01FE01FE and 0xFE01FE01FE01FE01
  • 0x1FE01FE00EF10EF1 and 0xE01FE01FF10EF10E
  • 0x1FFE1FFE0EFE0EFE and 0xFE1FFE1FFE0EFE0E
  • 0xE0FEE0FEF1FEF1FE and 0xFEE0FEE0FEF1FEF1

There are also 48 possibly weak keys that produce only four distinct subkeys (instead of 16). They can be found in

These weak and semiweak keys are not considered "fatal flaws" of DES. There are 256 (7.21 × 1016, about 72 quadrillion) possible keys for DES, of which four are weak and twelve are semiweak. This is such a tiny fraction of the possible keyspace that users do not need to worry. If they so desire, they can check for weak or semiweak keys when the keys are generated. They are very few, and easy to recognize. Note, however, that DES is not recommended for general use since all keys can be brute-forced in about a day for a one-time hardware cost on the order of some new cards.

Read more about this topic:  Weak Key

Famous quotes containing the words weak, keys and/or des:

    Sensuality often accelerates the growth of love so much that its roots remain weak and are easily pulled up.
    Friedrich Nietzsche (1844–1900)

    And yet we constantly reclaim some part of that primal spontaneity through the youngest among us, not only through their sorrow and anger but simply through everyday discoveries, life unwrapped. To see a child touch the piano keys for the first time, to watch a small body slice through the surface of the water in a clean dive, is to experience the shock, not of the new, but of the familiar revisited as though it were strange and wonderful.
    Anna Quindlen (b. 1952)

    When I was growing up I used to think that the best thing about coming from Des Moines was that it meant you didn’t come from anywhere else in Iowa. By Iowa standards, Des Moines is a mecca of cosmopolitanism, a dynamic hub of wealth and education, where people wear three-piece suits and dark socks, often simultaneously.
    Bill Bryson (b. 1951)