Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ShPORY.docx
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
277 Кб
Скачать
☆

47 OpenSsl. Генерация псевдослучайной последовательности.

OpenSSL - криптографический пакет с открытым исходным кодом для работы с SSL/TLS. Позволяет создавать ключи RSA, DH, DSA и сертификаты X.509, подписывать их, формировать CSR и CRT. Также имеется возможность шифрования данных и тестирования SSL/TLS соединений. Доступна для большинства UNIX-подобных операционных систем (включая Solaris/OpenSolaris, Linux, Mac OS X, QNX4, QNX6 и четырёх операционных систем BSD с открытым исходным кодом), а также для OpenVMS и Microsoft Windows.

Основная сложность генерации последовательности псевдослучайных чиселна компьютере в том, что компьютеры детерминистичны(ограничены) по своей су-ти. Компьютер может находиться только в конечном количестве состояний (ко-личество состояний огромно, но все-таки конечно). Следовательно, любой дат-чик случайных чисел по определению периодичен. Все периодическое - предсказуемо, т.е. неслучайно. Лучшее, что может произвести компьютер - это псевдослучайная последовательность. Период такой последовательности должен быть таким, чтобы конечная последовательность разумной длины не была периодической. Относительно короткие непериодические под последовательности должны быть как можно более неотличимы от случайных последовательностей, в частности, соответствовать различным критериям случайности. Генераторы псевдослучайных последовательностей В большинстве алгоритмов шифрования, особенно потоковых шифрах, используются генераторы ключевой последовательности. Генератор ключевой последовательности выдает поток битов, который выглядит случайными, но в действительности является детерминированным и может быть в точности воспроизведен на стороне получателя. Чем больше генерируемый поток похож на случайный, тем больше времени потребуется криптоаналитику для взлома шифра. Однако, если каждый раз при включении генератор будет выдавать одну и ту же последовательность, то взлом криптосистемы будет тривиальной задачей. Например, в случае использования потокового шифрования, перехватив два шифрованных текста, злоумышленник может сложить их по модулю 2 и получить два исходных текста, сложенных также по модулю 2. Такую систему раскрыть очень просто. Если же в руках противника окажется пара «исходный текст – шифрованный текст», то задача вообще становится тривиальной. Поэтому все генераторы случайных последовательностей имеют зависимость от ключа. В этом случае простой криптоанализ будет невозможным. Структуру генератора ключевой последовательности можно представить в виде конечного автомата с памятью, состоящего из трех блоков: • блока памяти, хранящего информацию о состоянии генератора, • выходной функции, генерирующей бит ключевой последовательности в зависимости от состояния, • функции переходов, задающей новое состояние, в которое перейдет генератор на следующем шаге. В настоящее время насчитывается несколько тысяч различных вариантов генераторов псевдослучайных чисел. Рассмотрим основные методы получения псевдослучайных последовательностей, которые наиболее подходят для компьютерной криптографии

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