Open ghost opened 5 years ago
There are several possibilities for the entries of the LAT, typically you count how often the XOR sum of the masked input does not equals the XOR sum of the masked output minus how often it does equals.
What I prefer is the notation that the LAT at position (a,b) contains the Fourier coefficient of the S-box at point (a,b) (the Fourier coefficient might also be called Walsh coefficient, or Walsh-Hadamard).
So for position (f, f) we get: 10 times different XOR sum, 6 times equal XOR sum => 10-6 = 4.
Hello,
I have problems understanding how the LAT is calculated in PEIGEN. Different papers showed, that the LAT counts, how often XOR(inputvector*X)=XOR(outputvector*Y) where XOR means the bitwise XOR. Page 10: http://cse.iitkgp.ac.in/~debdeep/courses_iitkgp/Crypto/slides/LC.pdf Page 2: https://link.springer.com/content/pdf/10.1007/3-540-60590-8_10.pdf
In case of a 4-bit S-Box, entry (2, f) or (0010, 1111) in binary should be the Linear Approximation x3=y1 XOR y2 XOR y3 XOR y4, where x1/y1 is the Most Significant Bit.
I tried it with a S-Box, where the output is the Input+1 mod 16. The entry (f, f) should be equal to 6, because:
But PEIGEN says it is 4. What was my fault here?