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 неизвестно. Алгоритм незапатентован.