|
| ||||||||||||
| ||||||||||||
|
Next: Где взять истинно случайную
Up: 6.3. Как зашифровать файл?
Previous: А можно ли обойтись
Contents: Содержание
Где взять ключи?
Каким должен быть ключ шифрования? Случайным и равновероятным. А как
получить случайную и равновероятную последовательность символов?
Правильно, с помощью
генератора случайных чисел. Написать свой
генератор ``случайных'' чисел очень просто. Хорошие по статистическим
свойствам последовательности получаются по формуле линейного
конгруэнтного метода:
где
Качество псевдослучайной последовательности зависит от выбора чисел
Как видите, формула для получения очередного ``случайного'' числа
рекурсивна - каждый
член последовательности зависит от
предыдущего.
Возникает вопрос: откуда берется первый член? Обычно в качестве
Предположим, что с помощью линейного конгруэнтного метода сгенерирована
последовательность
Зафиксируем значение
Значение
Таким образом, значение Получается, что псевдослучайные последовательности в качестве ключей использовать нельзя. А что можно? В чем слабость псевдослучайных последовательностей? В том, что они псевдослучайны. Первый член последовательности однозначно определяет остальные. Чтобы ключ был по-настоящему случайным и равновероятным, последовательность должна быть не псевдослучайной, а истинно случайной.
Next: Где взять истинно случайную
Up: 6.3. Как зашифровать файл?
Previous: А можно ли обойтись
Contents: Содержание
|
|
CITForum © 1997–2025