Алгоритм SAES оперирует 16-битовыми входными данными и данными секретного ключа такой же длины. Входные данные алгоритма S AES обозначаются как полубайты состоя;
ния Soo, Sio, Soi и Sii и представляют собой массив из двух строк и двух столбцов:
Ключ шифрования состоит из четырех полубайтов К0о, К|0, Koi и Kii и также представляется в виде массива из двух строк и двух столбцов:
Алгоритм S_AES состоит из двух раундов. Перед началом первого раунда происходит сложение исходных данных с первым подключом К1.
Всего в алгоритме S_AES используются три подключа. Есть три варианта их использования. В первом случае можно использовать в качестве раундового подключа заранее определенный секретный ключ К, т. е. в этом случае в каждом раунде будет использоваться один и тот же подключ К. Во втором случае можно заранее определить три секретных подключа и использовать их при шифровании. И, наконец, третьим вариантом, пожалуй, самым сложным, но в то же время и самым правильным, является извлечение раундового подключа из исходного секретного ключа К.
Первый раунд состоит из четырех преобразований, первое из которых заключается в замене полубайтов с помощью Sблока. Второе преобразование заключается в сдвиге строк на один полубайт, третье представляет собой перемешивание столбцов с помощью умножения столбцов данных на многочлен первой степени по модулю х2(c)1. И, наконец, последнее четвертое преобразование представляет собой поразрядное сложение данных с раундовым подключом по модулю 2.
Второй раунд алгоритма S_AES содержит те же преобразования, что и первый раунд, за исключением операции перемешивания столбцов. В последнем, втором раунде алгоритма.
S_AES, она отсутствует так же, как и в стандарте шифрования AES.
Рассмотрим каждую из вышеперечисленных операций более подробно.