Из Википедии, бесплатной энциклопедии
  (Перенаправлено из генератора случайных чисел )
Перейти к навигации Перейти к поиску
Игральные кости являются примером механического аппаратного генератора случайных чисел. Когда бросается кубический кубик, получается случайное число от 1 до 6.

Генерация случайных чисел - это процесс, который, часто с помощью генератора случайных чисел ( ГСЧ ), генерирует последовательность чисел или символов , которую невозможно разумно предсказать лучше, чем на основе случайной случайности. Генераторы случайных чисел могут быть действительно случайными аппаратными генераторами случайных чисел (HRNGS), которые генерируют случайные числа в зависимости от текущего значения некоторого атрибута физической среды, который постоянно изменяется таким образом, который практически невозможно смоделировать, или генераторами псевдослучайных чисел ( PRNGS), которые генерируют числа, которые выглядят случайными, но на самом деле являются детерминированными и могут быть воспроизведены, если состояние PRNG известно.

Различные применения случайности привели к развитию нескольких различных методов генерации случайных данных, некоторые из которых существуют с древних времен, среди которых хорошо известные «классические» примеры, включая бросание игральных костей , подбрасывание монеты , тасование из игральных карт , использование тысячелистника стеблей (для гаданий ) в I Ching, а также бесчисленное множество других техник. Из-за механической природы этих методов генерация большого количества достаточно случайных чисел (что важно в статистике) требовала много работы и времени. Таким образом, результаты иногда собирались и распределялись в виде таблиц случайных чисел .

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

Практическое применение и использование [ править ]

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

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

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

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

«Истинные» против псевдослучайных чисел [ править ]

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

Скорость, с которой энтропия может быть извлечена из естественных источников, зависит от измеряемых физических явлений. Таким образом, источники естественной «истинной» энтропии называются блокирующими  - они ограничены по скорости до тех пор, пока не будет собрано достаточно энтропии для удовлетворения спроса. В некоторых Unix-подобных системах, включая большинство дистрибутивов Linux , файл псевдоустройства / dev / random блокируется до тех пор, пока из среды не будет собрана достаточная энтропия. [1] Из-за такого поведения блокировки большие объемные операции чтения из / dev / random , такие как заполнение жесткого диска случайными битами, часто могут быть медленными в системах, использующих этот тип источника энтропии.

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

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

Хотя генератор псевдослучайных чисел, основанный исключительно на детерминированной логике, никогда не может рассматриваться как «истинный» источник случайных чисел в самом чистом смысле этого слова, на практике их обычно достаточно даже для требовательных приложений, критичных к безопасности. Действительно, тщательно разработанные и реализованные генераторы псевдослучайных чисел могут быть сертифицированы для критических с точки зрения безопасности криптографических целей, как в случае с алгоритмом тысячелистника и fortuna . Первый является основой / dev / random источника энтропии во FreeBSD , AIX , OS X , NetBSD и других. OpenBSD использует алгоритм псевдослучайных чисел, известный как arc4random.. [2]

В октябре 2019 года было отмечено, что внедрение генераторов квантовых случайных чисел (QRNG) в модели машинного обучения, включая нейронные сети и сверточные нейронные сети для случайного начального распределения веса и случайные леса для процессов разделения, оказало глубокое влияние на их возможности по сравнению с классический метод генераторов псевдослучайных чисел (ГПСЧ). [3]

Способы генерации [ править ]

Физические методы [ править ]

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

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

Появление широкополосных источников фотонной энтропии, таких как оптический хаос и усиленный шум спонтанного излучения , в значительной степени способствует развитию физического генератора случайных чисел. Среди них оптический хаос [4] [5] имеет высокий потенциал физического создания высокоскоростных случайных чисел из-за его высокой пропускной способности и большой амплитуды. В 2013 году был построен прототип высокоскоростного физического генератора случайных битов в реальном времени на основе хаотического лазера [6].

Были изобретены различные творческие способы сбора этой энтропийной информации. Один из способов - запустить хеш-функцию для кадра видеопотока из непредсказуемого источника. Лаваранд использовал эту технику с изображениями ряда лавовых ламп . HotBits меры радиоактивного распада с Гейгера-Мюллера трубок , [7] в то время как Random.org использует вариации амплитуды атмосферного шума , записанного с нормальным радио.

Демонстрация простого генератора случайных чисел в зависимости от того, где и когда нажимается кнопка

Другой распространенный источник энтропии - это поведение пользователей системы. Хотя люди не считаются хорошими генераторами случайности по запросу, они довольно хорошо генерируют случайное поведение в контексте игры со смешанными стратегиями . [8] Некоторое компьютерное программное обеспечение, связанное с безопасностью, требует от пользователя выполнения длительной серии движений мыши или ввода с клавиатуры для создания достаточной энтропии, необходимой для генерации случайных ключей или инициализации генераторов псевдослучайных чисел. [9]

Вычислительные методы [ править ]

Большинство случайных чисел, генерируемых компьютером, используют ГПСЧ, которые представляют собой алгоритмы, которые могут автоматически создавать длинные серии чисел с хорошими случайными свойствами, но в конечном итоге последовательность повторяется (или использование памяти неограниченно растет). Эти случайные числа хороши во многих ситуациях, но не так случайны, как числа, генерируемые из электромагнитного атмосферного шума, используемого в качестве источника энтропии. [10] Ряд значений, генерируемых такими алгоритмами, обычно определяется фиксированным числом, называемым начальным числом . Одним из наиболее распространенных ГПСЧ является линейный конгруэнтный генератор , который использует рекуррентность

для генерации чисел, где a , b и m - большие целые числа, и следующее в X в виде серии псевдослучайных чисел. Максимальное количество чисел, которое может дать формула, на единицу меньше модуля , m -1. Соотношение рекуррентности можно распространить на матрицы, чтобы иметь гораздо более длительные периоды и лучшие статистические свойства. [11] Чтобы избежать определенных неслучайных свойств одного линейного конгруэнтного генератора, несколько таких генераторов случайных чисел с немного разными значениями коэффициента множителя, a, может использоваться параллельно с «главным» генератором случайных чисел, который выбирает из нескольких различных генераторов. [ необходима цитата ]

Простым методом генерации случайных чисел с помощью ручки и бумаги является так называемый метод среднего квадрата, предложенный Джоном фон Нейманом . Несмотря на простоту реализации, его продукция низкого качества. У него очень короткий период и серьезные недостатки, например, выходная последовательность почти всегда стремится к нулю. Недавнее нововведение - объединить средний квадрат с последовательностью Вейля . Этот метод обеспечивает получение высококачественной продукции в течение длительного периода времени. См. Средний квадрат ГПСЧ последовательности Вейля .

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

Качество, т.е. случайность таких библиотечных функций, широко варьируется от полностью предсказуемого вывода до криптографически безопасного. Генератор случайных чисел по умолчанию во многих языках, в том числе Python, Ruby, R, IDL и PHP на основе Twister Mersenne алгоритма и не достаточно для целей криптографии, как это явно указано в документации языка. Такие библиотечные функции часто имеют плохие статистические свойства, и некоторые из них будут повторять шаблоны после десятков тысяч испытаний. Они часто инициализируются с использованием часов реального времени компьютера в качестве начального числа, поскольку такие часы обычно измеряют в миллисекундах, что намного превышает точность человека.. Эти функции могут обеспечивать достаточную случайность для определенных задач (например, видеоигр), но не подходят там, где требуется высококачественная случайность, например, в приложениях криптографии, статистике или численном анализе. [ необходима цитата ]

Источники случайных чисел гораздо более высокого качества доступны в большинстве операционных систем; например, / dev / random в различных вариантах BSD, Linux, Mac OS X, IRIX и Solaris или CryptGenRandom для Microsoft Windows. Большинство языков программирования, включая упомянутые выше, предоставляют средства для доступа к этим источникам более высокого качества.

Генерация на основе распределения вероятностей [ править ]

Существует несколько методов генерации случайного числа на основе функции плотности вероятности . Эти методы включают в себя какое-либо преобразование однородного случайного числа. Из-за этого эти методы одинаково хорошо работают при генерации как псевдослучайных, так и истинных случайных чисел. Один метод, называемый методом инверсии , включает интегрирование до области, большей или равной случайному числу (которое должно быть сгенерировано между 0 и 1 для правильного распределения). Второй метод, называемый методом принятия-отклонения , включает выбор значений x и y и проверку того, больше ли функция x значения y. Если это так, значение x принимается. В противном случае значение x отклоняется, и алгоритм пытается снова. [12] [13]

Люди [ править ]

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

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

Постобработка и статистические проверки [ править ]

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

Сгенерированные случайные числа иногда подвергаются статистическим тестам перед использованием, чтобы убедиться, что основной источник все еще работает, а затем подвергаются последующей обработке для улучшения их статистических свойств. Примером может служить аппаратный генератор случайных чисел TRNG9803 [15] , который использует измерение энтропии в качестве аппаратного теста, а затем обрабатывает случайную последовательность с помощью потокового шифра регистра сдвига. Обычно сложно использовать статистические тесты для проверки сгенерированных случайных чисел. Ван и Никол [16] предложили методику статистического тестирования, основанную на расстоянии, которая используется для выявления слабых мест нескольких случайных генераторов. Ли и Ван [17] предложил метод проверки случайных чисел на основе лазерных источников хаотической энтропии с использованием свойств броуновского движения.

Другие соображения [ править ]

Случайные числа, равномерно распределенные между 0 и 1, можно использовать для генерации случайных чисел любого желаемого распределения, пропуская их через функцию обратного кумулятивного распределения (CDF) желаемого распределения (см. Выборка с обратным преобразованием ). Обратные функции CDF также называются квантильными функциями . Чтобы сгенерировать пару статистически независимых стандартных нормально распределенных случайных чисел ( x , y ), можно сначала сгенерировать полярные координаты ( r , θ ), где r 2 ~ χ 2 2 и θ ~UNIFORM (0,2π) (см. Преобразование Бокса – Мюллера ).

Некоторые ГСЧ от 0 до 1 включают 0, но исключают 1, в то время как другие включают или исключают оба.

Выходы нескольких независимых ГСЧ могут быть объединены (например, с помощью операции побитового исключающего ИЛИ ), чтобы обеспечить объединенный ГСЧ, по крайней мере, такой же хороший, как и лучший используемый ГСЧ. Это называется программным отбеливанием .

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

Последовательности с низким расхождением в качестве альтернативы [ править ]

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

Мероприятия и демонстрации [ править ]

Следующие сайты предоставляют образцы случайных чисел:

  • В SoCR страница ресурса содержит ряд практических на интерактивных мероприятиях и демонстрациях генерации случайных чисел с использованием Java - апплетов.
  • Группа квантовой оптики в ANU генерирует случайные числа, полученные из квантового вакуума. Примеры случайных чисел доступны на их странице исследования квантового генератора случайных чисел.
  • Random.org предоставляет случайные числа, которые получены из случайности атмосферного шума.
  • Служба квантового генератора случайных битов в Институте Руджера Бошковича извлекает случайность из квантового процесса фотонной эмиссии в полупроводниках. Они предоставляют множество способов получения данных, включая библиотеки для нескольких языков программирования.
  • Группа Технологического университета Тайюань генерирует случайные числа, полученные с помощью хаотического лазера. Образцы случайных чисел доступны в их службе генератора физических случайных чисел.

Бэкдоры [ править ]

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

Сообщается, что АНБ вставило бэкдор в сертифицированный NIST криптографически безопасный генератор псевдослучайных чисел Dual EC DRBG . Если, например, SSL-соединение создается с использованием этого генератора случайных чисел, то, по словам Мэтью Грина, это позволит NSA определять состояние генератора случайных чисел и, таким образом, в конечном итоге иметь возможность читать все данные, отправленные через SSL-соединение. [18] Хотя было очевидно, что Dual_EC_DRBG был очень плохим и, возможно, скрытым генератором псевдослучайных чисел, задолго до того, как бэкдор АНБ был подтвержден в 2013 году, он широко использовался на практике до 2013 года, например, известной компанией по безопасности RSA Security .[19] Впоследствии были обвинения в том, что RSA Security сознательно вставила бэкдор АНБ в свои продукты, возможно, как часть программы Bullrun . RSA отрицает намеренное использование бэкдора в своих продуктах. [20]

Также было высказано предположение, что аппаратные ГСЧ могут быть тайно модифицированы, чтобы иметь меньшую энтропию, чем заявлено, что сделает шифрование с использованием аппаратного ГСЧ уязвимым для атак. Один такой метод, который был опубликован, работает путем изменения легирующей маски микросхемы, которую невозможно обнаружить с помощью оптического обратного проектирования. [21] Например, для генерации случайных чисел в Linux считается неприемлемым использовать аппаратный ГСЧ Intel RDRAND без смешивания вывода RDRAND с другими источниками энтропии для противодействия любым бэкдорам в аппаратном ГСЧ, особенно после обнаружения Программа АНБ Bullrun. [22] [23]

В 2010 году розыгрыш лотереи в США был сфальсифицирован директором по информационной безопасности Межгосударственной лотерейной ассоциации (MUSL), который тайно установил вредоносную программу- бэкдор на защищенный ГСЧ-компьютер MUSL во время текущего обслуживания. [24] Во время хакерских атак этот человек выиграл общую сумму в 16 500 000 долларов, правильно угадав числа несколько раз в год.

В начале 2017 года VUSec признала, что рандомизация адресного пространства (ASLR), защита от rowhammer и связанных атак на физическое оборудование микросхем памяти неадекватна. Алгоритм случайных чисел, если он основан на сдвиговом регистре, реализованном на оборудовании, предсказуем при достаточно больших значениях p и может быть реконструирован с достаточной вычислительной мощностью ( взлом грубой силы ). Это также косвенно означает, что вредоносные программы, использующие этот метод, могут работать как на графических процессорах, так и на процессорах, если они закодированы для этого, даже используя графический процессор для нарушения ASLR на самом процессоре. [25]

См. Также [ править ]

  • Флипизм
  • Список генераторов случайных чисел
  • ПП (сложность)
  • Процедурная генерация
  • Рандомизированный алгоритм
  • Генератор случайных паролей
  • Случайная переменная , содержит значение, зависящее от случайности

Ссылки [ править ]

  1. ^ random(4)  -  Руководство программиста Linux - Специальные файлы
  2. ^ arc4random(3)  -  Руководство по функциям библиотеки OpenBSD
  3. ^ Берд, Джордан Дж .; Экарт, Анико; Фариа, Диего Р. (28 октября 2019 г.). «О влиянии генераторов псевдослучайных и квантово-случайных чисел в мягких вычислениях» . Мягкие вычисления . ООО "Спрингер Сайенс энд Бизнес Медиа". 24 (12): 9243–9256. DOI : 10.1007 / s00500-019-04450-0 . ISSN  1432-7643 .
  4. ^ Ли, Пу; Ван, Юнь-Цай; Чжан, Цзянь-Чжун (13 сентября 2010 г.). «Полностью оптический быстрый генератор случайных чисел» . Оптика Экспресс . 18 (19): 20360–20369. Bibcode : 2010OExpr..1820360L . DOI : 10,1364 / OE.18.020360 . ISSN 1094-4087 . PMID 20940928 .  
  5. ^ Ли, Пу; Сунь Юаньюань; Лю, Сянлянь; И, Сяоган; Чжан, Цзяньго; Го, Сяоминь; Го, Яньцян; Ван, Юнькай (15.07.2016). «Полностью основанный на фотонике физический генератор случайных битов». Письма об оптике . 41 (14): 3347–3350. Bibcode : 2016OptL ... 41.3347L . DOI : 10.1364 / OL.41.003347 . ISSN 1539-4794 . PMID 27420532 .  
  6. ^ Ван, Анбанг; Ли, Пу; Чжан, Цзяньго; Чжан, Цзяньчжун; Ли, Лей; Ван, Юнькай (2013-08-26). «Высокоскоростной физический генератор случайных битов в реальном времени со скоростью 4,5 Гбит / с» (PDF) . Оптика Экспресс . 21 (17): 20452–20462. Bibcode : 2013OExpr..2120452W . DOI : 10,1364 / OE.21.020452 . ISSN 1094-4087 . PMID 24105589 . S2CID 10397141 .    
  7. ^ Уокер, Джон. «HotBits: настоящие случайные числа» . Проверено 27 июня 2009 .
  8. ^ Халприн, Ран; Наор, Мони . «Игры для извлечения случайности» (PDF) . Отдел информатики и прикладной математики, Институт Вейцмана . Проверено 27 июня 2009 . Cite journal requires |journal= (help)
  9. ^ TrueCrypt Foundation. «Учебное пособие по TrueCrypt для начинающих, часть 3» . Проверено 27 июня 2009 .
  10. ^ "RANDOM.ORG - Служба истинных случайных чисел" . www.random.org . Проверено 14 января 2016 .
  11. ^ "Генераторы псевдослучайных чисел высокой размерности" . Проверено 21 ноября 2018 .
  12. ^ MathWorks. «Общие методы генерации» . Проверено 13 октября 2011 .
  13. ^ Группа численных алгоритмов. «G05 - Генераторы случайных чисел» (PDF) . Руководство библиотеки NAG, Марк 23 . Проверено 9 февраля 2012 .
  14. ^ WA Wagenaar (1972). «Генерация случайных последовательностей людьми: критический обзор литературы». Психологический бюллетень . 77 (1): 65–72. CiteSeerX 10.1.1.211.9085 . DOI : 10.1037 / h0032060 . 
  15. ^ Dömstedt, B. (2009). «TRNG9803 Генератор истинных случайных чисел» . Производитель: www.TRNG98.se.
  16. ^ Ван, Yongge (2014). «Статистические свойства псевдослучайных последовательностей и эксперименты с PHP и Debian OpenSSL». Компьютерная безопасность - ESORICS 2014 . Конспект лекций по информатике. 8712 . Гейдельберг: Springer LNCS. С. 454–471. DOI : 10.1007 / 978-3-319-11203-9_26 . ISBN 978-3-319-11202-2.
  17. ^ Ли, Пу; И, Сяоган; Лю, Сянлянь; Ван, Юнкай; Ван Юнге (2016-07-11). «Броуновские свойства движения оптоэлектронных генераторов случайных битов на основе лазерного хаоса» . Оптика Экспресс . 24 (14): 15822–15833. Bibcode : 2016OExpr..2415822L . DOI : 10,1364 / OE.24.015822 . ISSN 1094-4087 . PMID 27410852 .  
  18. ^ Мэтью Грин (2013-09-18). «Множество недостатков Dual_EC_DRBG» .
  19. ^ Мэтью Грин (2013-09-20). «RSA предупреждает разработчиков не использовать продукты RSA» .
  20. ^ «Мы не используем бэкдоры в наших криптопродуктах, - сообщает RSA клиентам» . Ars Technica . 2013-09-20.
  21. ^ «Исследователи могут вставить необнаруживаемого трояна в процессоры Intel Ivy Bridge» . Ars Technica . 2013-09-18.
  22. ^ Теодор Ц'О. «Я так рад, что сопротивлялся давлению инженеров Intel, чтобы позволить / dev / random полагаться только на инструкцию RDRAND» . Гугл плюс.
  23. ^ Теодор Ц'О. «Re: [PATCH] / dev / random: Недостаточная энтропия на многих архитектурах» . LWN.
  24. ^ Nestel, ML (7 июля 2015). «Внутри самой большой аферы лотереи когда-либо» . Ежедневный зверь . Проверено 10 июля 2015 года .
  25. ^ "AnC - VUSec" . Проверено 13 июля 2018 .

Дальнейшее чтение [ править ]

  • Дональд Кнут (1997). «Глава 3 - Случайные числа». Искусство программирования . Vol. 2: получисленные алгоритмы (3-е изд.).
  • L'Ecuyer, Пьер (2017). «История генерации однородных случайных чисел» (PDF) . Материалы Зимней Simulation конференции 2017 года . IEEE Press. С. 202–230.
  • L'Ecuyer, Пьер (2012). «Генерация случайных чисел» (PDF) . В JE Gentle; W. Haerdle; Ю. Мори (ред.). Справочник по вычислительной статистике: концепции и методы . Справочник по вычислительной статистике (второе изд.). Springer-Verlag. С. 35–71. DOI : 10.1007 / 978-3-642-21551-3_3 . hdl : 10419/22195 . ISBN 978-3-642-21550-6.
  • Крозе, Д.П . ; Taimre, T .; Ботев, З.И. (2011). «Глава 1 - Генерация однородных случайных чисел» . Справочник по методам Монте-Карло . Нью-Йорк: Джон Вили и сыновья. п. 772. ISBN. 978-0-470-17793-8.
  • Нажмите, WH; Теукольский, С.А. Феттерлинг, Вашингтон; Фланнери, ВР (2007). «Глава 7. Случайные числа» . Числовые рецепты: искусство научных вычислений (3-е изд.). Нью-Йорк: Издательство Кембриджского университета. ISBN 978-0-521-88068-8.
  • NIST SP800-90A, B, C серии по генерации случайных чисел
  • М. Томассини, М. Сиппер и М. Перрену (октябрь 2000 г.). «О генерации качественных случайных чисел двумерными клеточными автоматами». Транзакции IEEE на компьютерах . 49 (10): 1146–1151. DOI : 10.1109 / 12.888056 .CS1 maint: uses authors parameter (link)

Внешние ссылки [ править ]

  • RANDOM.ORG Служба истинных случайных чисел
  • Случайные и псевдослучайных на В наше время на BBC
  • jRand основанный на Java фреймворк для генерации последовательностей моделирования, включая псевдослучайные последовательности чисел.
  • Генераторы случайных чисел в библиотеке NAG Fortran
  • Маяк случайности в NIST , транслирующий полные энтропийные битовые строки блоками по 512 бит каждые 60 секунд. Предназначен для обеспечения непредсказуемости, автономности и согласованности.
  • Системный вызов для случайных чисел: getrandom () , статья LWN.net, описывающая специальный системный вызов Linux.
  • Статистические свойства псевдослучайных последовательностей и эксперименты с PHP и Debian OpenSSL
  • Криптографический генератор псевдослучайных лотерейных номеров ISAAC
  • Генератор случайных последовательностей на основе лавинного шума