Патенты и лицензии

SEAL запатентован [380]. По поводу лицензирования нужно обращаться к Управляющему по лицензиям IBM ( Director of Licenses, IBM Corporation, 500 Columbus Ave., Thurnwood, NY, 10594 ).


17.3 WAKE

WAKE - сокращение от Word Auto Key Encryption (Автоматическое шифрование слов ключом)- это алго­ритм, придуманный Дэвидом Уилером (David Wheeler) [1589]. Он выдает поток 32-битовых слов, которые с помощью XOR могут быть использованы для получения шифротекста из открытого текста или открытого текста из шифротекста. Это быстрый алгоритм.

WAKE работает в режиме CFB, для генерации следующего слова ключа используется предыдущее слово шифротекста. Алгоритм также использует S-блок из 256 32-битовых значений. Этот S-блок обладает одним особым свойством: Старший байт всех элементов представляет собой перестановку всех возможных байтов, а 3 младших байта случайны.

Сначала по ключу сгенерируем элементы S-блока, St. Затем проинициализируем четыре регистра с исполь­зованием того же или иного ключа: а0, Ь0, с0 и d0. Для генерации 32-битового слова потока ключей Kt.

Kt = d,

Слово шифротекста С, представляет собой XOR слова открытого текста Р, с К,. Затем обновим четыре реги­стра:

ат = M(a„di)

bi+1 = M(b„al+l)

сж = М(с, А+1)

dl+l = M(d„cM)

Функция М представляет собой

М(х,у) = + у) » 8 © S(x + yr255

Схема алгоритма показана на 15-й. Знак » обозначает обычный, не циклический сдвиг вправо . Младшие 8 битов х+у являются входом S-блока. Уилер приводит процедуру генерации S-блока, но на самом деле она не­полна. Будет работать любой алгоритм генерации случайных байтов и случайной перестановки .



M

D



М M