Квантовый генератор случайных чисел от Nokia N9

  1. Чтобы освободиться от этих ограничений, мы стремимся генерировать реальные случайные числа или псевдослучайные...
  2. Одним из недетерминированных явлений в физике является излучение света. Количество фотонов, испускаемых...

Генерация случайных чисел является неотъемлемой частью нашей жизни. От клинических испытаний, статистического анализа, онлайн-платежей до защиты просматриваемых веб-сайтов и онлайн-игр - нам нужны хорошие случайные числа для всего этого. Хорошо, я имею в виду ... обеспечение высокого уровня случайности.

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

Существует множество идей для получения более или менее случайных чисел. Человечество на заре цивилизации создало таких генераторов, как игральные кости или играющие моряка. Однако для современных приложений, например, в криптографии, они слишком медленные и примитивные. Для этого очень распространено использование специального алгоритма, запускаемого компьютером. Каждый язык программирования и каждая платформа имеют некоторую реализацию алгоритма генерации псевдослучайных чисел. В системах Unix (например, в Linux) также существует специальное виртуальное устройство / dev / random, которое возвращает случайные байты. Это устройство обычно собирает информацию, доступную для системы, в виде так называемой источники энтропии, благодаря которым она пытается улучшить качество (или случайность) случайных чисел.

Это устройство обычно собирает информацию, доступную для системы, в виде так называемой  источники энтропии, благодаря которым она пытается улучшить качество (или случайность) случайных чисел

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

Чтобы освободиться от этих ограничений, мы стремимся генерировать реальные случайные числа или псевдослучайные числа такого хорошего качества, что они будут неотличимы от случайных чисел.

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

Оказывается, в этой области можно сделать прорыв. Работая в Женевском университете, Бруно Сангинетти и его команда показали, что он способен генерировать случайные числа, используя реальные квантовые явления и обычный смартфон! Согласно Сангвинетии, метод, который он изобрел, генерирует случайные данные со скоростью один мегабайт в секунду.

Одним из недетерминированных явлений в физике является излучение света. Количество фотонов, испускаемых в единицу времени, совершенно случайно, и это является основой швейцарского эксперимента.

Как сказал исследователь, телефоны на телефонах стали настолько хорошими, что способны в значительной степени обнаруживать колебания в количестве испускаемых фотонов (и, следовательно, в интенсивности света). В эксперименте использовался телефон Nokia N9 с 8-мегапиксельной камерой. Каждый пиксель цифровой камеры - это достаточно чувствительный фотонный датчик.

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

По словам команды Sanguinetti, сгенерированные числа имеют очень хорошее качество как случайные числа. Чтобы наблюдать отклонение от общей случайности, процесс измерения должен повторяться 10118 раз - то есть с предполагаемой шириной полосы пропускания в 1 ГБ за время существования нашей Вселенной мы не сможем доказать повторяемость какой-либо случайности, портящей случайность. По словам ученого, сгенерированные числа прошли все известные ему тесты, чтобы исследовать случайность чисел.

Бруно Сангинетти

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

источники: Корнельская университетская библиотека через среда

фотография Столбчатая диаграмма кости разваливается приходит от ShutterStock.