0
$\begingroup$

Perform DES encryption on the first 64-bit plaintext only, what are these 0's and 1's? Do they mean that I need to use this value 111101 to derive $K$?

I want to know how to use initial permutation to derive $K$ using permuted choice 1 and permute choice 2.

$\endgroup$
2
  • 4
    $\begingroup$ It is absolutely unclear what you're asking. $\endgroup$
    – Maeher
    Mar 24, 2020 at 7:03
  • $\begingroup$ Welcome to crypto.SE. Exactly what part fo the specification of DES do you have a problem with? $\endgroup$
    – fgrieu
    Mar 24, 2020 at 7:41

1 Answer 1

2
$\begingroup$

I want to know how to use initial permutation to derive $K$ using permuted choice 1 and permute choice 2

You start with the DES key $K$, usually expressed as 8 bytes. That's 64 bits. DES number these bits from 1 to 64, starting with high-order bit on the first byte in reading order, moving to lower-order bit, then after the 8th bit of a byte moving to the next byte in reading order, so that bit 42 is the second-highest-order bit of to the 6th byte in reading order, testable by binary AND of that byte with 40h.

From these bits 64 bits of $K$ it is extracted two 28-bit quantities $C_0$ and $D_0$ by picking bits per table $PC1$. The top (resp. bottom) of this table gives the bit numbers in $K$ of the bits forming $C_0$ (resp. $D_0$). You'll notice that $PC1$ contains no multiple of 8, meaning that the low-order bit of each byte of $K$ is ignored. This deliberately weakens DES.

Bits of $C_0$ are numbered 1 to 28, and bits of $D_0$ are numbered 29 to 56, in reading order of $PC1$.

For the first round of encryption, from $C_0\mathbin\|D_0$ it is extracted eight 6-bit quantities (the subkeys 1 to 8 for the first round) by picking bits per table $PC2$, which lines gives the bit numbers in $C_0\mathbin\|D_0$ of the bits forming each 6-bit quantities. Eight bits of $C_0\mathbin\|D_0$ are left aside, but will be used in the next round, after some rotation of $C_0$ (resp. $D_0$) yielding $C_1$ (resp. $D_1$).

$\endgroup$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge that you have read and understand our privacy policy and code of conduct.

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