Разработан новый генератор случайных чисел, основанный на кристаллах

Инженеры из Великобритании разработали метод использования кристаллизации для генерации случайных чисел, что позволит усилить безопасность шифрования.

Если попытаться перечислить последовательность любых случайных чисел, это не получится. Многочисленные исследования показывают, что в любом ряде, созданном человеком, обнаруживаются определенные закономерности. Даже компьютер, использующий специальные алгоритмы для генерации случайных чисел, не сможет выдать их истинно случайные последовательности: числа, генерируемые им, точнее называть псевдослучайными.

Эти числа находят широкое применение, в частности, в криптографии, и знание о «расхождениях с истинной случайностью» может предоставить злоумышленникам критически важный инструмент для дешифровки защищенных данных. В связи с этим, для некоторых систем с повышенными требованиями к безопасности, разработчики используют датчики температуры, движения, шума и радиоактивного распада для получения случайных чисел из естественных явлений.

Например, в системе Lavarand генерация случайных чисел производится на основе снимков нескольких «лавовых ламп» и движения полужидких капель в масле. А Лерой Кронин (Leroy Cronin) и его коллеги из Университета Глазго нашли еще один нестандартный подход к задаче — и в качестве источника случайных чисел использовали кристаллы. Об этом они пишут в статье, опубликованной в журнале Matter.

Действительно, кристалл обладает высокой степенью упорядоченности, но формирование кристаллической структуры из жидкого раствора представляет собой последовательность непредсказуемых событий. Точное время начала процесса, скорость роста кристалла и количество дефектов, появляющихся в его структуре, определить невозможно. В связи с этим Лерой Кронин и ее коллеги использовали емкость с насыщенным раствором соли и наблюдали за ростом кристаллов, применяя обычную веб-камеру.

Система автоматически трансформировала непредсказуемый рост в последовательность нулей и единиц, из которых затем формировались случайные числа. Ученые зашифровали слово «crystal» («кристалл») с использованием этих чисел, а также с помощью псевдослучайных чисел, сгенерированных одним из популярных алгоритмов. Для декодирования первого варианта потребовалось значительно больше времени.

Авторы намерены повысить устойчивость своей системы к несанкционированному доступу. Для этого планируется внедрение дополнительных элементов случайности, в частности, посредством проведения химических реакций перед кристаллизацией. Также, как минимум на теоретическом уровне, прототип можно будет уменьшить в размерах и адаптировать для работы на обычных персональных компьютерах.