3
$\begingroup$

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?

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

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

$\endgroup$
1
$\begingroup$

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.

See similar question here or here

$\endgroup$
0
$\begingroup$

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.

From FIPS 46-3, Data Encryption Standard (DES) (withdrawn May 19, 2005)

We see Permuted Choice 1 expressed (PDF page 24):

PC1 from FIPS Pub 46-3

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:

Permuted Choice 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.

$\endgroup$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.