Физики из МГУ и МИФИ построили генератор, позволяющий получать последовательности случайных чисел со скоростью 75 мегабит в секунду. В качестве источника случайности устройство использует процесс поглощения фотонов атомами фотоумножителей. Статья опубликована в Laser Physics Letters.
Чтобы зашифровать информацию, необходимо сгенерировать ключ, то есть случайную последовательность нолей и единиц. Получить эту последовательность можно разными способами. Например, с помощью генератора псевдослучайных чисел, который вычисляет по заданному правилу и начальному числу последовательность, очень похожую на случайную. Проблема таких псевдослучайных последовательностей в том, что если разгадать правило, по которому генератор находит следующее число, легко предсказать, что он будет выдавать. Поэтому надежные криптографические системы используют в качестве источника физические генераторы случайности.
Физические генераторы, в свою очередь, делятся на классические и квантовые. Классические используют тот факт, что в некоторых системах погрешность начальных условий очень быстро растет со временем (динамический хаос), и предсказать их конечное состояние сложно. Тем не менее, это не настоящая случайность, поскольку классические уравнения движения являются детерминированными. В квантовой же механике неопределенность заложена в самих уравнениях движения, и при измерении состояния квантовых систем мы должны получать по-настоящему случайные числа. Поэтому последовательности, полученные с помощью квантовых генераторов, самые надежные. К сожалению, скорость генерации таких случайных последовательностей обычно не очень велика.
В данной статье физики придумали и реализовали на практике способ быстро получать случайные последовательности чисел, используя случайность процесса поглощения фотона атомом. Идея разработанного ими метода заключается в следующем. Если светить слабым лазером на кремниевый фотоумножитель, то можно считать, что атомы фотоумножителя поглощаю отдельные фотоны. Вероятность того, что одиночный атом поглотит m фотонов за время T, подчиняется распределению Пуассона и равна PT(m) = e