Инженеры из Великобритании разработали метод использования кристаллизации для генерации случайных чисел, что позволит усилить безопасность шифрования.
Если попытаться перечислить последовательность любых случайных чисел, это не получится. Многочисленные исследования показывают, что в любом ряде, созданном человеком, обнаруживаются определенные закономерности. Даже компьютер, использующий специальные алгоритмы для генерации случайных чисел, не сможет выдать их истинно случайные последовательности: числа, генерируемые им, точнее называть псевдослучайными.
Эти числа находят широкое применение, в частности, в криптографии, и знание о «расхождениях с истинной случайностью» может предоставить злоумышленникам критически важный инструмент для дешифровки защищенных данных. В связи с этим, для некоторых систем с повышенными требованиями к безопасности, разработчики используют датчики температуры, движения, шума и радиоактивного распада для получения случайных чисел из естественных явлений.
Например, в системе Lavarand генерация случайных чисел производится на основе снимков нескольких «лавовых ламп» и движения полужидких капель в масле. А Лерой Кронин (Leroy Cronin) и его коллеги из Университета Глазго нашли еще один нестандартный подход к задаче — и в качестве источника случайных чисел использовали кристаллы. Об этом они пишут в статье, опубликованной в журнале Matter.
Действительно, кристалл обладает высокой степенью упорядоченности, но формирование кристаллической структуры из жидкого раствора представляет собой последовательность непредсказуемых событий. Точное время начала процесса, скорость роста кристалла и количество дефектов, появляющихся в его структуре, определить невозможно. В связи с этим Лерой Кронин и ее коллеги использовали емкость с насыщенным раствором соли и наблюдали за ростом кристаллов, применяя обычную веб-камеру.
Система автоматически трансформировала непредсказуемый рост в последовательность нулей и единиц, из которых затем формировались случайные числа. Ученые зашифровали слово «crystal» («кристалл») с использованием этих чисел, а также с помощью псевдослучайных чисел, сгенерированных одним из популярных алгоритмов. Для декодирования первого варианта потребовалось значительно больше времени.
Авторы намерены повысить устойчивость своей системы к несанкционированному доступу. Для этого планируется внедрение дополнительных элементов случайности, в частности, посредством проведения химических реакций перед кристаллизацией. Также, как минимум на теоретическом уровне, прототип можно будет уменьшить в размерах и адаптировать для работы на обычных персональных компьютерах.