Псевдослучайный генератор - Pseudorandom generator

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

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

Определение

Позволять - класс функций. статистические тесты что псевдослучайный генератор попытается обмануть, а они обычно алгоритмы.Иногда статистические тесты также называют противники или же отличители.[1]

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

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

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

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

Генераторы псевдослучайных ситуаций в криптографии

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

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

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

Использует

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

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

В 1980-х годах при моделировании в физике начали использовать псевдослучайные генераторы для создания последовательностей с миллиардами элементов, а к концу 1980-х годов появились доказательства того, что несколько распространенных генераторов давали неверные результаты в таких случаях, как свойства фазового перехода трехмерной модели. Модель Изинга и формы агрегатов с ограниченной диффузией. Затем, в 1990-х годах, различные идеализации физических симуляций, основанные на случайные прогулки, корреляционные функции, локализация собственных состояний и т. д. использовались в качестве тестов псевдослучайных генераторов.[2]

Тестирование псевдослучайных генераторов

NIST анонсировал SP800-22 Тесты на случайность чтобы проверить, производит ли псевдослучайный генератор случайные биты высокого качества. Юнгге Ван показали, что тестирования NIST недостаточно для обнаружения слабых псевдослучайных генераторов, и разработали метод статистического тестирования на основе расстояния LILtest.[3]

Генераторы псевдослучайных ситуаций для дерандомизации

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

Конструкции

Псевдослучайные генераторы для полиномиального времени

Фундаментальный вопрос теории сложности вычислений заключается в том, все ли полиномиальное время рандомизированные алгоритмы за проблемы решения можно детерминированно смоделировать за полиномиальное время. Существование такого моделирования означало бы, что BPP = п. Для проведения такого моделирования достаточно построить псевдослучайные генераторы против семейства F всех схем типоразмера s(п) чьи входы имеют длину п и вывести один бит, где s(п) - произвольный многочлен, начальная длина псевдослучайного генератора равна O (log п) и его смещение равно ⅓.

В 1991 г. Ноам Нисан и Ави Вигдерсон предоставил кандидатный генератор псевдослучайных сигналов с этими свойствами. В 1997 г. Рассел Импальяццо и Ави Вигдерсон доказал, что конструкция Нисана и Вигдерсона является псевдослучайным генератором в предположении, что существует проблема решения который может быть вычислен за время 2O (п) на входах длины п но требует схемы размера 2Ω (п).

Псевдослучайные генераторы для логарифмического пространства

Хотя для доказательства того, что генератор Нисана – Вигдерсона работает для машин с ограничением по времени, необходимо недоказанное предположение о сложности схемы, естественно ограничить класс статистических тестов таким образом, чтобы нам не приходилось полагаться на такие недоказанные предположения. Один класс, для которого это сделан класс машин, рабочее пространство которых ограничено .Используя повторный трюк возведения в квадрат, известный как Теорема савича, легко показать, что каждое вероятностное вычисление в лог-пространстве может быть смоделировано в пространстве .Ноам Нисан (1992) показали, что эта дерандомизация действительно может быть достигнута с помощью псевдослучайного генератора длины начального числа это дурачит всех Генератор Нисана был использован Саксом и Чжоу (1999), чтобы показать, что вероятностные вычисления в лог-пространстве могут детерминированно моделироваться в пространстве. Этот результат по-прежнему является наиболее известным результатом дерандомизации для машин с общим логическим пространством в 2012 году.

Псевдослучайные генераторы линейных функций

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

Псевдослучайные генераторы многочленов

Альт (2008) доказывает, что взяв сумму генераторы малого смещения обманывают многочлены степени .Длина семян .

Генераторы псевдослучайных сигналов для схем постоянной глубины

Контуры постоянной глубины которые производят единственный выходной бит.[нужна цитата ]

Ограничения на вероятность появления псевдослучайных генераторов

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

Рекомендации

  1. ^ Кац, Джонатан (2014-11-06). Введение в современную криптографию. Линделл, Иегуда (Второе изд.). Бока-Ратон. ISBN  9781466570269. OCLC  893721520.
  2. ^ Вольфрам, Стивен (2002). Новый вид науки. Wolfram Media, Inc. стр.1085. ISBN  978-1-57955-008-0.
  3. ^ «Методы статистического тестирования псевдослучайной генерации».