What is the output of the first round of the DES algorithm when the plaintext
and the key are both all ones?
The 64-bit input is x0=00...0 (64-zeroes). The initial permutation has no effect.
Hence L0=00...0 (32-zeroes) and R0=00...0 (32-zeroes). Applying the key schedule which is a fixed permutation on the input bits of the key yields the round key K1= (00..0) (48-zeroes).
The round computes R1=L0XOR f(R0, K1)
The f-function
First expands R0 into 48-bit long bitstring using a fixed permuted expansion rule.
Since only permutations and repetitions are used this will yield a 48-bit 0 string.
The result is XORed with K1, which produces a 48-bit zero string.
The 48-bit 0 string is divided into eight 6-bit chunks and the ith chunk is transformed under the rule specified in the Si box. 000000 is mapped 8 times with boxes Si i=1,..,8 and produces the following sequence of 4-bit values: 14, 15, 10, 7, 2, 12, 4, 13. In binary we obtain the following sequence:
1110 1111 1010 0111 0010 1100 0100 1101
Finally the bit-string is permuted according to the P table to the following:
1101 1000 1101 1000 1101 1011 1011 1100
This is the result of f(R0),K1)
The right half R1=L0XOR f(R0),K1) is simply the output of f(R0),K1) since the L0 is zero.
L1= R0= (00..0) (32-zeroes). Concatenating both yields the following 64-bit string, which is the output of round 1.
0000 0000 0000 0000 0000 0000 0000 0000 1101 1000 1101 1000 1101 1011 1011 1100
Comments
Leave a comment