Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
MISZKI_Lektsii.doc
Скачиваний:
0
Добавлен:
01.05.2025
Размер:
2.88 Mб
Скачать

15.8 Объединение нескольких блочных алгоритмов

Вот другой способ объединить несколько блочных алгоритмов, безопасность которого гарантировано, будет, по крайней мере, не меньше, чем безопасность обоих алгоритмов. Для двух алгоритмов (и двух независимых ключей):

(1) Генерируется строка случайных битов R того же размера, что и сообщение М.

(2) R шифруется первым алгоритмом.

(3) М R шифруется вторым алгоритмом.

(4) Шифротекст сообщения является объединением результатов этапов (2) и (3).

При условии, что строка случайных битов действительно случайна, этот метод шифрует М с помощью одно­разового блокнота, а затем содержимое блокнота и получившееся сообщение шифруются каждым из двух алго­ритмов. Так как и то, и другое необходимо для восстановления М, криптоаналитику придется взламывать оба алгоритма. Недостатком является удвоение размера шифротекста по сравнению с открытым текстом.

Этот метод можно расширить для нескольких алгоритмов, но добавление каждого алгоритма увеличивает шифротекст. Сама по себе идей хороша, но, как мне кажется, не очень практична.

Лекция 15. Генераторы псевдослучайных последовательностей и потоковые шифры

16.1 Линейные конгруэнтные генераторы

Линейными конгруэнтными генераторами являются генераторы следующей формы

Хп = (аХп-1+ b) mod m

в которых Хn - это и-ый член последовательности, aХп-1 - предыдущий член последовательности. Перемен­ные а, b и т - постоянные: а - множитель, b - инкремент, и m- модуль. Ключом, или затравкой, служит значе­ние Хо.

Период такого генератора не больше, чем т. Если а, b и т выбраны правильно, то генератор будет генера­тором с максимальным периодом (иногда называемым максимальной длиной), и его период будет равен т. (Например, b должно быть взаимно простым с т.) Подробное описание выбора констант для получения максимального периода можно найти в [863, 942]. Еще одной хорошей статьей по линейным конгруэнтным генераторам и их теории является [1446].

В 15-й, взятой из [1272,], перечисляются хорошие константы линейных конгруэнтных генераторов. Все они обеспечивают генераторы с максимальным периодом и, что даже более важно, удовлетворяют спектральному тесту на случайность для размерностей 2, 3,4, 5 и 6 [385, 863]. Таблица организована по максимальному произ­ведению, которое не вызывает переполнения в слове указанной длины.

Преимуществом линейных конгруэнтных генераторов является их быстрота за счет малого количества оп е-раций на бит.

К несчастью линейные конгруэнтные генераторы нельзя использовать в криптографии, так как они предсказуемы. Впервые линейные конгруэнтные генераторы были взломаны Джимом Ридом (Jim Reeds) [1294, 1295, 1296], а затем Джоан Бояр (Joan Boyar) [1251]. Ей удалось также вскрыть квадратичные генераторы:

Хп = (аХп-12+ b Хп-1+ с) mod m

и кубические генераторы:

Хп = (аХп-13+ b Хп-12 + с Хп-1+ d) mod m

Другие исследователи расширили идеи Бояр, разработав способы вскрытия любого полиномиального генератора [923, 899, 900]. Были взломаны и усеченные линейные конгруэнтные генераторы [581, 705, 580], и усе­ченные линейные конгруэнтные генераторы с неизвестными параметрами [1500, 212]. Таким образом была до­казана бесполезность конгруэнтных генераторов для криптографии.

Табл. 16-1.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]