Методы и задачи криптографической защиты информации. Мартынов А.И. - 44 стр.

UptoLike

Составители: 

раскрыть очень просто. Если же в руках противника окажется пара «исходный
текстшифрованный текст», то задача вообще становится тривиальной.
Поэтому все генераторы случайных последовательностей имеют
зависимость от ключа. В этом случае простой криптоанализ будет
невозможным.
Структуру генератора ключевой последовательности можно представить
в виде конечного автомата с памятью, состоящего из трех блоков: блока
памяти, хранящего информацию о состоянии генератора, выходной функции,
генерирующей бит ключевой последовательности в зависимости от состояния,
и функции переходов, задающей новое состояние, в которое перейдет генератор
на следующем шаге.
В настоящее время насчитывается несколько тысяч различных вариантов
генераторов псевдослучайных чисел.
Рассмотрим основные методы получения псевдослучайных
последовательностей, которые наиболее подходят для компьютерной
криптографии.
Использование стандартных функций языков высокого уровня
Функция Rand() выдает псевдослучайное число в указанном диапазоне
(способ задания диапазона отличается в различных языках). Начальная
инициализация генератора случайных чисел происходит при помощи
системного вызова специальной функции. Для языка C – это функция srand, в
Object Pascal задание начального значения реализовано через свойство
RandSeed. Часто значение, используемое в качестве начального, называют
затравкой генератора.
В реальных криптосистемах эта возможность не используется, так как
обладает низкой криптостойкостью в силу своей доступности.
Конгруэнтные генераторы
Линейными конгруэнтными генераторами являются генераторы
следующей формы:
()
mbaXX
nn
mod
1
+=
,
в которых
n
X
n-й член последовательности, а
1
n
X
предыдущий член
последовательности. Переменные a, b и mпостоянные: амножитель, b
инкремент и mмодуль. Ключом или затравкой служит значение
0
X
.
Период такого генератора не больше, чем m. Если a, b и m подобраны
правильно, то генератор будет генератором с максимальным периодом, и его
период будет равен m. (Например, для линейного конгруэнтного генератора b
должно быть взаимно простым с m).