Генераторы случайных чисел в криптографии
Процесс генерации случайных чисел является основной частью многих криптографических операций. Например, криптографические ключи должны выбираться настолько случайно, насколько это возможно, чтобы было фактически невозможно воспроизвести их значения. Криптографические генераторы случайных чисел должны выдавать данные, которые невозможно предугадать с вероятностью выше p≤0,5; это означает, что любой метод предсказания очередного выходного бита должен действовать не лучше, чем просто случайное угадывание.
Генераторы ПСЧ находя широкое применение в криптографии, например, при потоковом шифровании. Однако иногда бывает необходимо генерировать совершенно непредсказуемые или попросту абсолютно случайные числа. Такие генераторы называются генераторами случайных чисел(randomnumbergenerator) или сокращенно ГСЧ (RNG). Генератор настоящих случайных чисел в зависимости от некоторого инициализирующего значения выдает последовательность, которая не может быть впоследствии повторена.
Одной из главных областей применения генераторов случайных чисел является формирование уникальных ключей для шифрования. В любой системе передачи секретных данных требуется множество ключей для всех пользователей системы. В принципе ключи шифрования можно получать с помощью генератора псевдослучайных чисел, используя, например, алгоритм RC4 или блочный шифр в режиме OFB. Однако, если противник вдруг узнает ключ, использовавшийся для генерации псевдослучайных ключей, он сможет сгенерировать точно такие же ключи и вскрыть все передаваемые в системе сообщения. Следовательно, секретные ключи должны быть действительно случайными. Поэтому задача генерирования последовательностей настоящих случайных чисел представляет большой интерес для разработчиков криптосистем.
|
|
Наилучшие характеристики будут иметь генераторы случайных чисел, основанные на естественных случайностях реального мира. Например, можно создать ГСЧ, основанные на следующих данных:
· Количество импульсов счетчика Гейгера за единицу времени, например, за 1 секунду;
· Числа, оказывающиеся на верхней грани игрального кубика при произвольном броске;
· Количество самолетов, пролетающих над определенным районом в единицу времени, например, месяц.
Кроме того, параметры других различных физических явлений могут быть положены в основу ГСЧ. К сожалению, многие методики получения настоящих случайных чисел не могут быть реализованы на практике, так как используемый в криптографических целях генератор должен быть компактным, быстрым (генерировать числа за доли секунды), независящим от внешних факторов и условий окружающей среды.
|
|
Тем не менее, разработчики интегральных схем конструируют и производят аппаратные ГСЧ, основанные на разных принципах. Например, разработан способ с использование двух конденсаторов типа «металл – диэлектрик – полупроводник». Случайное значение является функцией разности зарядов этих конденсаторов. В другом устройстве обрабатываются и используются значение температурного шума полупроводникового диода.
Предлагаются и программно-аппаратные методы для получения случайных чисел. Известны методы, основанные на шуме звуковой карты персонального компьютера, значений счетчика тактов процессора, скорости вращения жесткого диска компьютера или значения системного таймера. Полученные каким-либо образом случайные данные обрабатываются криптостойким генератором ПСЧ и только после такой обработки используются.
Характеристики ГСЧ
Последовательности случайных чисел, формируемых тем или иным ГСЧ, должны удовлетворять ряду требований. Во-первых, числа должны выбираться из определенного множества (чаще всего это действительные числа в интервале от 0 до 1 либо целые от 0 до N). Во-вторых, последовательность должна подчиняться определённому распределению на заданном множестве (чаще всего распределение равномерное). Необязательным является требование воспроизводимости последовательности. Если ГСЧ позволяет воспроизвести заново однажды сформированную последовательность, отладка программ с использованием такого ГСЧ значительно упрощается. Кроме того, требование воспроизводимости часто выдвигается при использовании ГСЧ в криптографии.
|
|
Поскольку псевдослучайные числа не являются действительно случайными, качество ГСЧ очень часто оценивается по «случайности» получаемых чисел. В эту оценку могут входить различные показатели, например, длина цикла (количество итераций, после которого ГСЧ зацикливается), взаимозависимости между соседними числами (могут выявляться с помощью различных методов теории вероятностей и математической статистики) и т.д.
Важнейшими параметрами любых ГСЧ являются их статистические характеристики, показывающие на сколько генерируемые числа близки к чисто случайным.
Дата добавления: 2018-06-01; просмотров: 3093; Мы поможем в написании вашей работы! |
Мы поможем в написании ваших работ!