Описание S-Way

Безопасность SAFER K-64

SAFER K-128

Этот альтернативный способ использования ключа был разработан Министерством внутренних дел Синг а-пура, а затем был встроен Массеем в SAFER [1010]. В этом способе используются два ключа, Ка и Кь, по 64 бита каждый. Прием состоит в том, чтобы генерировать параллельно две последовательности подключей, а з а-тем чередовать подключи из каждой последовательности. Это означает, что при выборе Ка = Кь 128-битовый ключ совместим с 64-битовым ключом Ка.

Массей показал, что SAFER K-64 после 6 этапов абсолютно защищен от дифференциального криптоанализа после 8 этапов и достаточно безопасен. Уже после 3 этапов против этого алгоритма становится неэффективным и линейный криптоанализ [1010].

Кнудсен (Knudsen) обнаружил слабое место в распределении ключей: практически для каждого ключа сущ е-ствует не меньше одного (а иногда даже девять) другого ключа, который при шифровании какого-то другого открытого текста превращает его в тот же шифротекст [862]. Число различных открытых текстов, которые шифруются одинаковыми шифротекстами, находится в промежутке от 2 22 до 228. Хотя такое вскрытие не может повлиять на безопасность SAFER как алгоритма шифрования, оно значительно уменьшает его надежность при использовании в качестве однонаправленной хэш-функции. В любом случае Кнудсен рекомендует использовать не меньше 8 этапов.

SAFER был спроектирован для Cylink, a Cylink были предъявлены различные обвинения со стороны NSA [80]. Я рекомендовал бы потратить несколько лет на интенсивный криптоанализ прежде, чем как-либо испол ь-зовать SAFER.

14.5 3-WAY

3-Way - это блочный шифр, разработанный Джоном Дэйменом (Joan Daemen) [402, 410]. Он использует блок и ключ длиной 96 бит, и его схема предполагает очень эффективную аппаратную реализацию.

З-Way является не сетью Фейстела, а итеративным блочным шифром. У З-Way может быть п этапов, Дэ й-мен рекомендует И.

Этот алгоритм описать несложно. Для шифрования блока открытого текста х: For i = 0 to n - 1

х = х XOR Ki х = theta (х) х = pi - 1 (х) х = gamma (x) х = pi - 2 (х) x = x®Kn+1 х = theta (x) При этом используются следующие функции:

— theta(x) - функция линейной подстановки, в основном набор циклических сдвигов и XOR.

— pi - 1 (х) и pi - 2 (х) - простые перестановки.

— gamma (x) - функция нелинейной подстановки. Именно это действие и дало имя всему алгоритму, оно представляет собой параллельное выполнение подстановки 3-битовых данных.

Дешифрирование аналогично шифрованию за исключением того, что нужно изменить на обратный порядок битов исходных данных и результата. Исходный код, реализующий З-Way, можно найти в конце этой книги.

Пока об успешном криптоанализе З-Way неизвестно. Алгоритм незапатентован.