Нет, в AES $a_i$ не являются байтами. Они биты. 8 бит $a_i$ вместе образуют байт и считаются одним элементом поля Галуа. $ {\ OperatorName {GF} \ влево (2 ^ 8 \ вправо)} $, также отметил $\mathbb F_{2^8}$.
Значение этого байта можно вычислить, оценив многочлен для целого числа $х=2$, с обычным сложением и умножением. В обратном направлении биты $a_i$ являются двоичным представлением целочисленного значения байта, более 8 двоичных цифр, с $a_0$ самый младший бит.
В открытом тексте AES, зашифрованном тексте или раундовом ключе содержится 16 байтов. Их можно рассматривать как элементы множества $ {\ влево ({\ OperatorName {GF} \ влево (2 ^ 8 \ вправо)} ^ {4} \ вправо)} ^ {4} $. Это объясняет организацию 16 байтов как матрицу 4×4 элементов. $ {\ OperatorName {GF} \ влево (2 ^ 8 \ вправо)} $. В частности, это множество является группой при расширении закона сложения поля $ {\ OperatorName {GF} \ влево (2 ^ 8 \ вправо)} $, который при применении к байтам представляет собой побитовое исключающее ИЛИ. Это используется в AddRoundKey.В этой структуре можно выразить ShiftRows, SubBytes и даже MixColumns.
Для MixColumns существует другое возможное представление, где столбцы указанной матрицы 4×4 представляют собой 4 коэффициента в $ {\ OperatorName {GF} \ влево (2 ^ 8 \ вправо)} $ многочлена степени меньше 4. Такие многочлены можно умножать с редукцией по модулю редукционного полинома 4-й степени. Я не был знаком с тем, что является сутью этого другой ответ, и из этого комментарий. Я читал, что это представление дает элегантное сокращение к вектору с 4 элементами $ {\ OperatorName {GF} \ влево (2 ^ 8 \ вправо)} $ обычной матрицы 4×4 в MixColumns и упрощает получение инвертированной матрицы, необходимой для дешифрования, но не позволяет сократить время вычислений ни при шифровании, ни при дешифровании.