Help Plz Remember that it is desirable for good block ciphers that a change in o
ID: 3685540 • Letter: H
Question
Help Plz
Remember that it is desirable for good block ciphers that a change in one input bit affects many output bits, a property that is called diffusion or the avalanche effect. We try now to get a feeling for the avalanche property of DES. We apply an input word that has a "1" at bit position 33 and all other bits as well as the key are zero. (Note that the input word has to run through the initial permutation.) 1. How many S-boxes get different inputs compared to the case when an all-zero plaintext is provided? 2. What is the minimum number of output bits of the S-boxes that will changc according to the S-box design criteria? 3. What is the output after the first round? 4. How many output bit after the first round have actually changed compared to the case when the plaintext is all zero? (Observe that we only consider a single round here. There will be more and more output differences after every new round. Hence the term avalanche effect.)Explanation / Answer
1)
>The initial permutation maps IP(57) = 33, therefore L0 is all zeros and R0 is 80000000(hex). The f-function expands the first bit of R0 to the second and last bit of its 48-bit output 010000 000000 000000 000000 000000 000000 000000 000001(binary).
>XORing this result with the all zero key will not change it. Broken into block of 6 bits each (S-Box input) we see that only two S-boxes, namely S-box 1 and S-box 8, are affected.
2)
According to the S-box design criteria a single bit-flip in the inputs should at least flip two output bits. Since two S-Boxes each have one input bit flipped, a minimum of 4 output bits should flip
3)
>The output of the S-boxes is: (3, 15, 10, 7, 2, 12 ,4 , 1) which is in binary 0011 1111 1010 0111 0010 1100 0100 0001. This result is permuted according to the0 P-table to the final result of the f-function: 1101 0000 0101 1000 0101 1011 1001 1110.
>This gets XORed with L0 which does not change the result. The final result of the first round is the concatenation of L0 and R0 to
1000 0000 0000 0000 0000 0000 0000 0000 1101 0000 0101 1000 0101 1011 1001 1110(binary), 8000 0000 D058 5B9E(hex)
4)
0000 0000 0000 0000 0000 0000 0000 0000 1101 1000 1101 1000 1101 1011 1011 1100 1000 0000 0000 0000 0000 0000 0000 0000 1101 0000 0101 1000 0101 1011 1001 1110 over all 6 bits have changed (5 bits in the right half and 1 bit in the left half).
Related Questions
Navigate
Integrity-first tutoring: explanations and feedback only — we do not complete graded work. Learn more.