Can someone please check my work and correct me if I am wrong, I am just starting to learn about DES. I am trying to solve the following problem:
Show that
S1(x1) XOR S1 (x2) != S1(x1 XOR x2).
x1 = 000000,x2 = 000001
So, we get S1(x1) first: 00 is our row, and 0000 is our column which is (0,0) and in the S1 Box table is the value 14. 14 in binary is 1110.
Now we get S1(x2): 01 is our row, and 0000 is our column which is (1,0) and in the S1 Box table is the value 0. In binary, it's 0000.
Now we XOR the two outputs:
1110 XOR 0000 = 0001 Thus, S1(x1) XOR S1(x2) = 0001.
Now we XOR X1 and X2 first:
0000000 XOR 0000001 = 1111110 Now we lookup our output in the S1 table: Our row is 10, and our column is 1111 which is (2,15) and in the S1 Box Table is the value 08 which is 1000.
Thus, 0001 != 1000. Is that correct? (And in case it isn’t, where did I take a wrong turn?)
S1table at(1,15)rather than(2,15)as you wrote you would. And you did not detail how you split the 6 input bits into those for row and column. See page marked 14 of FIPS 46-3 for theses important details. $\endgroup$