Люди часто тянут жребий, бросают кубики или подбрасывают монету, чтобы принять справедливое решение. Многие современные криптографические системы используют генераторы случайных чисел для создания защищенных ключей.
Проблема в том, что «случайные» числа вовсе не случайны. Некоторые генераторы алгоритмически обрабатывают данные о времени для получения таких чисел, а где есть алгоритм, там есть возможность его узнать и повлиять на результат обработки данных. Еще исследователи следят за комическими шумами для получения случайных числовых последовательностей. Настоящие случайные числа и события, не зависящие ни от каких других, найти и использовать довольно затратно.
Классические компьютерные алгоритмы могут создавать только псевдослучайные числа, и человек, знающий алгоритм или систему, может манипулировать ими или предсказать следующее число. Опытный фокусник способен подбросить монету так, чтобы гарантированно выпал орел или решка.
В отличие от кубиков или компьютерных алгоритмов, квантовая механика предлагает исследователям работать с фундаментальной случайностью. Ученые смогли использовать квантовые эффекты и тест Белла для создания отслеживаемого и верифицируемого сервиса генерации случайных чисел.
Тест Белла измеряет пары запутанных фотонов, чьи свойства коррелируют, даже когда частицы разделены огромными расстояниями. При измерении отдельной частицы результат случаен, но свойства пары связаны сильнее, чем допускает классическая физика, что позволяет ученым подтвердить случайность.
Процесс начинается с генерации пары запутанных фотонов в специальном нелинейном кристалле. Фотоны по оптическому волокну попадают в отдельные лаборатории на разных концах коридора. В лабораториях измеряется поляризация фотонов. Результаты этих измерений абсолютно случайны. Процесс повторяется 250 000 раз в секунду.
NIST передает миллионы таких «квантовых подбрасываний монеты» в программу Университета Колорадо в Боулдере. Специальные алгоритмы преобразуют результаты измерений в 512 случайных битов (0 и 1).
Ученые добавили возможность отслеживать и проверять каждый этап генерации случайности. Они разработали протокол «Twine» — набор квантово-совместимых блокчейн-технологий, позволяющих разным организациям совместно создавать и проверять случайность на основе теста Белла.
Исследователи из NIST (США) и Университета Колорадо в Боулдере (США) назвали свое устройство «Квантовый маяк случайности Университета Колорадо» (CURBy). CURBy генерирует случайные числа, а вспомогательная система ежедневно публикует их на сайте для свободного использования. Описывающее прибор исследование опубликовано в журнале Nature.