3-WAY
3-Way - это блочный шифр, разработанный Джоном Дэйменом (Joan Daemen) [402, 410]. Он использует блок и ключ длиной 96 бит, и его схема предполагает очень эффективную аппаратную реализацию.
3-Way является не сетью Фейстела, а итеративным блочным шифром. У 3-Way может быть n этапов, Дэймен рекомендует 11.
Описание S-Way
Этот алгоритм описать несложно. Для шифрования блока открытого текста x:
For i = 0 to n - 1
x = x XOR Ki
x = theta (x)
x = pi - 1 (x)
x = gamma (x)
x = pi - 2 (x)
x = x A Kn+1
x = theta (x)
При этом используются следующие функции:
-
theta(x) - функция линейной подстановки, в основном набор циклических сдвигов и XOR.
-
pi - 1 (x) и pi - 2 (x) - простые перестановки.
-
gamma (x) - функция нелинейной подстановки. Именно это действие и дало имя всему алгоритму, оно представляет собой параллельное выполнение подстановки 3-битовых данных.
Дешифрирование аналогично шифрованию за исключением того, что нужно изменить на обратный порядок битов исходных данных и результата. Исходный код, реализующий 3-Way, можно найти в конце этой книги.
Пока об успешном криптоанализе 3-Way неизвестно. Алгоритм незапатентован.