# Why are there $2^{56}$ possible DES keys when there are 64 key bits?

On forums I read DES has $2^{56}$ possible keys so it takes x times to brute force it with hardware x. But there are 64 total bits of which are 8 parity bits. But those parity bits are a 1 or 0, right? So since you still have to calculate the parity bits and since they aren't always the same bit, doesn't this mean that you have $2^{64}$ possible DES keys?

• The parity bits are discarded by DES. They are not used in the cipher internals. – mikeazo Jan 19 '16 at 13:20

Each 56-bit key has a unique 8-bit parity value. For this reason there are only $2^{56}$ keys.

The parity bits act as error checking. In effect there is only 56 bits being used for entropy. Also This question has already been answered.

Permuted Choice 1 selects 28 bits for C and 28 bits for D from the input 64 bits. The remaining 8 bits are odd byte parity.

We see Permuted Choice 1 expressed (PDF page 24): Reading the text associated with the table you'll find there are two groups of 28 input values each associated with C and D respecitively.

IBM patented a hardware implementation of the encryption algorithm that was to become the Digital Encryption Standard which also originally required hardware implementation.

The descriptions of permutations in the standard can also be describe in hardware terms, that with a byte wide interface also happens to show the relationship between input bytes, their bits and PC-1: The input bits that do not end up in C or D are odd parity bits. Note the bigendian bits in bytes ordering, the key occupies the most significant seven bits and that the parity bit is the least significant bit.

A key as 16 hexidecimal digits in documents describing a 64 bit block.

A key value of

0101010101010101

Represents 56 zero bits and an odd parity bit for each of eight bytes. Those parity bits are not used as key bits.