8.2 The Layers

We now describe the steps in more detail. The 128 input bits are grouped into 16 bytes of eight bits each, call them

a0, 0,  a1, 0,  a2, 0,  a3, 0,  a0, 1,  a1, 1, ,  a3, 3.

These are arranged into a 4×4 matrix

a0, 0a0, 1a0, 2a0, 3a1, 0a1, 1a1, 2a1, 3a2, 0a2, 1a2, 2a2, 3a3, 0a3, 1a3, 2a3, 3.

In the following, we’ll occasionally need to work with the finite field GF(28). This is covered in Section 3.11. However, for the present purposes, we only need the following facts. The elements of GF(28) are bytes, which consist of eight bits. They can be added by XOR. They can also be multiplied in a certain way (i.e., the product of two bytes is again a byte), but this process is more complicated. Each byte b except the zero byte has a ...

Get Introduction to Cryptography with Coding Theory, 3rd Edition now with O’Reilly online learning.

O’Reilly members experience live online training, plus books, videos, and digital content from 200+ publishers.