Confusion and Diffusion Methods
Two 64-bit values are processed using 2 layers of S-boxes
- Permutations provide diffusion, S-boxes provide confusion
- KP(A,B) -- A simple keyed permutation
- E() -- An expansion function (64bits -> 96bits)
- Sa(),Sb() -- Two columns of S-boxes produced by concatenating box S1 and S2
- P() -- Permutation to diffuse S-box outputs across the 64-bit width using a regular latin-square pattern
- Could be implemented with 24 table lookups (8 Sa, 8 P, 8 Sb) and some boolean logic