Экстрактор случайности - Randomness extractor
А экстрактор случайности, часто называемый просто «экстрактором», представляет собой функцию, которая применяется для вывода из слабо случайного энтропия источник вместе с коротким, равномерно случайным начальным числом генерирует высокоэффективное случайный вывод, который появляется независимый из источника и равномерно распределены.[1] Примеры слабослучайных источников включают: радиоактивный распад или же тепловой шум; Единственное ограничение на возможные источники состоит в том, что их невозможно полностью контролировать, рассчитывать или предсказывать, и что можно установить нижнюю границу их энтропии. Для данного источника экстрактор случайности может даже рассматриваться как истинный генератор случайных чисел (TRNG ); но не существует единого экстрактора, который, как было доказано, производил действительно случайный результат из любого типа слабо случайного источника.
Иногда термин «смещение» используется для обозначения отклонения от однородности слабо случайного источника, а в более ранней литературе некоторые экстракторы называются беспристрастные алгоритмы,[2] поскольку они берут случайность из так называемого «предвзятого» источника и выводят распределение, которое кажется беспристрастным. Слабо случайный источник всегда будет длиннее, чем мощность экстрактора, но эффективный экстрактор - это тот, который максимально снижает это соотношение длин, одновременно сохраняя низкую длину затравки. Интуитивно это означает, что из источника «извлечено» как можно больше случайности.
Обратите внимание, что экстрактор имеет некоторое концептуальное сходство с псевдослучайный генератор (PRG), но эти две концепции не идентичны. Обе функции принимают на входе небольшое равномерно случайное начальное число и выдают более длинный результат, который «выглядит» равномерно случайным. Некоторые псевдослучайные генераторы фактически также являются экстракторами. (Когда PRG основана на существовании жесткие предикаты, можно представить себе слабослучайный источник как набор таблиц истинности таких предикатов и доказать, что результат статистически близок к однородному.[3]) Однако общее определение PRG не указывает, что должен использоваться слабослучайный источник, и хотя в случае экстрактора выход должен быть статистически близко к униформе, в PRG требуется только вычислительно неразличимый от униформы, несколько более слабое понятие.
NIST Специальная публикация 800-90B (проект) рекомендует несколько экстракторов, включая SHA хэш-семейство и заявляет, что если количество энтропии на входе вдвое превышает количество битов, выводимых из них, этот вывод можно считать по существу полностью случайным.[4]
Формальное определение экстракторов
В мин-энтропия распределения (обозначен ), является наибольшим действительным числом такой, что для каждого в диапазоне . По сути, это измеряет, насколько вероятно принимает наиболее вероятное значение, давая оценку наихудшего случая того, насколько случайным появляется. Сдача обозначим равномерное распределение по , четко .
Для п-битовое распределение с мин-энтропией kмы говорим, что является распространение.
Определение (экстрактор): (k, ε) -экстрактор
Позволять быть функцией, которая принимает в качестве входных данных образец из распределение и d-битовое семя из , и выводит м-битовая строка. это (k, ε) -экстрактор, если для всех распределения , выходное распределение является ε-рядом с .
В приведенном выше определении ε-close относится к статистическое расстояние.
Интуитивно экстрактор берет слабо случайный п-битовый ввод и короткое, равномерно случайное начальное число и производит м-битовый вывод, который выглядит равномерно случайным. Цель состоит в том, чтобы (т.е. использовать как можно меньше однородной случайности) и как можно более высокое насколько это возможно (т.е. чтобы получить как можно больше битов, близких к случайным).
Сильные экстракторы
Экстрактор силен, если сцепление посевной материал с мощностью экстрактора дает распределение, близкое к равномерному.
Определение (сильный экстрактор): А -сильный экстрактор - это функция
так что для каждого распределение распространение (две копии обозначают одну и ту же случайную величину) -Близко к равномерному распределению на .
Явные экстракторы
С использованием вероятностный метод, можно показать, что существует (k, ε) -экстрактор, т.е. что конструкция возможна. Однако обычно недостаточно просто показать, что экстрактор существует. Требуется явная конструкция, которая дается следующим образом:
Определение (явный экстрактор): Для функций k(п), ε(п), d(п), м(п) семейство Ext = {Extп} функций
является явным (k, ε) -экстрактор, если Ext (Икс, у) можно вычислить в полиномиальное время (по входной длине) и для каждого п, Extп это (k(п), ε(п)) - экстрактор.
Вероятностным методом можно показать, что существует (k, ε) -экстрактор с длиной семян
и длина вывода
- .[5]
Диспергаторы
Вариант экстрактора случайности с более слабыми свойствами - это диспергатор.
Экстракторы случайности в криптографии
Один из важнейших аспектов криптография случайно генерация ключей.[6] Часто бывает необходимо сгенерировать секретные и случайные ключи из источников, которые являются полусекретными или которые могут быть в определенной степени скомпрометированы. Взяв в качестве источника один короткий (и секретный) случайный ключ, можно использовать экстрактор для генерации более длинного псевдослучайного ключа, который затем можно использовать для шифрования с открытым ключом. Более конкретно, когда используется сильный экстрактор, его вывод будет казаться равномерно случайным даже для того, кто видит часть (но не весь) источника. Например, если источник известен, но исходное значение неизвестно (или наоборот). Это свойство экстракторов особенно полезно в том, что обычно называется Устойчивый к воздействию криптография, в которой желаемый экстрактор используется как Устойчивость к воздействию воздействия (ERF). Криптография Exposure-Resilient принимает во внимание тот факт, что трудно сохранить в секрете первоначальный обмен данными, который часто происходит во время инициализации шифрование приложение, например, отправитель зашифрованной информации должен предоставить получателям информацию, которая требуется для дешифрования.
Следующие параграфы определяют и устанавливают важную взаимосвязь между двумя видами ERF:k-ERF и k-APRF- которые полезны в криптографии с устойчивостью к воздействию.
Определение (k-ERF): Адаптивный k-ERF - это функция где для случайного входа , когда вычислительно неограниченный противник может адаптивно читать все кроме биты для какой-то незначительной функции (определено ниже).
Цель состоит в том, чтобы построить адаптивный ERF, выходные данные которого сильно случайны и равномерно распределены. Но часто требуется более сильное условие, при котором каждый выход происходит с почти равномерной вероятностью. Для этого Почти идеальные гибкие функции (APRF). Определение APRF следующее:
Определение (k-APRF): А APRF - это функция где для любой настройки биты ввода для любых фиксированных значений вектор вероятности выхода над случайным выбором для оставшиеся биты удовлетворяют для всех и для какой-то незначительной функции .
Камп и Цукерман[7] доказали теорему о том, что если функция это k-APRF, тогда также k-ERF. В частности, любой экстрактор, имеющий достаточно малую ошибку и принимающий на вход не обращая внимания, источник исправления битов также является APRF и, следовательно, также k-ERF. Более конкретный экстрактор выражен в этой лемме:
Лемма: Любой -экстрактор для набора не обращая внимания на источники исправления битов, где незначительно, также является k-APRF.
Эта лемма доказана Кампом и Цукерманом.[7] Лемма доказывается путем исследования расстояния от формы выхода, которое в -экстрактор явно не более , что удовлетворяет условию АПРФ.
Лемма приводит к следующей теореме, утверждающей, что на самом деле существует k-APRF функция, как описано:
Теорема (существование): Для любой положительной постоянной , существует явный k-APRF , вычислимым за линейное число арифметических операций над -битовые строки, с и .
Определение (незначительная функция): Для доказательства этой теоремы нам понадобится определение незначительная функция. Функция определяется как незначительное, если для всех констант .
Доказательство:Рассмотрим следующее -extractor: функция экстрактор для набора не обращая внимания на источник исправления битов: . имеет , и .
Доказательство существования этого экстрактора с , а также тот факт, что он вычислим за линейное время вычислений на длине можно найти в статье Джесси Кампа и Дэвида Цукермана (стр. 1240).
То, что этот экстрактор удовлетворяет критериям леммы, очевидно, так как это незначительная функция.
Размер является:
Поскольку мы знаем то нижняя граница преобладают . На последнем этапе мы используем тот факт, что что означает, что сила самое большее . И с тех пор положительное целое число, которое мы знаем, что самое большее .
Значение вычисляется с использованием определения экстрактора, где мы знаем:
и используя значение у нас есть:
Используя это значение мы учитываем худший случай, когда находится на его нижней границе. Теперь путем алгебраических вычислений получаем:
Который вставлен в значение дает
- ,
что доказывает, что существует явный экстрактор k-APRF с заданными свойствами.
Примеры
Экстрактор фон Неймана
Возможно, самый ранний пример связан с Джон фон Нейман. Из входного потока его экстрактор брал биты, по два за раз (первый и второй, затем третий и четвертый и т. Д.). Если два бита совпадают, выходной сигнал не генерируется. Если биты различались, выводилось значение первого бита. Можно показать, что экстрактор фон Неймана производит однородный выходной сигнал, даже если распределение входных битов неоднородно при условии, что каждый бит имеет одинаковую вероятность быть одним и нет корреляция между последовательными битами.[8]
Таким образом, он принимает на входе Последовательность Бернулли с п не обязательно равно 1/2, и выводит последовательность Бернулли с В более общем плане это применимо к любому заменяемая последовательность - он полагается только на то, что для любой пары 01 и 10 являются на равных вероятно: для независимых испытаний у них есть вероятности , тогда как для заменяемой последовательности вероятность может быть более сложной, но обе равновероятны.
Машина хаоса
Другой подход - использовать вывод машина хаоса применяется к входному потоку. Этот подход обычно основан на свойствах хаотические системы. Входные биты передаются в машину, изменяя орбиты и траектории в нескольких динамических системах. Таким образом, небольшие различия на входе приводят к очень разным результатам. Такая машина имеет однородный выходной сигнал, даже если распределение входных битов неоднородно или имеет серьезные недостатки, и поэтому может использовать слабые источники энтропии. Кроме того, эта схема позволяет повысить сложность, качество и безопасность выходного потока, что контролируется указанием трех параметров: временные затраты, требуется память, и Секретный ключ.
Криптографическая хеш-функция
Также можно использовать криптографическая хеш-функция как экстрактор случайности. Однако не каждый алгоритм хеширования подходит для этой цели.[нужна цитата ]
Приложения
Экстракторы случайности широко используются в криптографических приложениях, благодаря чему криптографический хеш Функция применяется к высокоэнтропийному, но неоднородному источнику, например, информации о синхронизации дисковода или задержкам клавиатуры, чтобы получить равномерно случайный результат.
Экстракторы случайности сыграли свою роль в недавних разработках в квантовая криптография, где фотоны используются экстрактором случайности для генерации безопасных случайных битов.[1]
Извлечение случайности также используется в некоторых отраслях теория сложности вычислений.
Случайное извлечение также используется для преобразования данных в простую случайную выборку, которая нормально распределена и независима, что требуется для статистики.
Смотрите также
Рекомендации
- ^ «Извлечение случайности из выборочных распределений». Portal.acm.org. Получено 2012-06-12.
- ^ Дэвид К. Гиффорд, Натуральные случайные числа, Массачусетский технологический институт / LCS / TM-371, Массачусетский технологический институт, август 1988 г.
- ^ Лука Тревизан. «Экстракторы и псевдогенераторы» (PDF). Получено 2013-10-21.
- ^ Рекомендация по источникам энтропии, используемым для генерации случайных битов (черновик) NIST SP800-90B, Баркер и Келси, август 2012 г., раздел 6.4.2.
- ^ Ронен Шалтиэль. Последние разработки в явной конструкции экстракторов. С. 5.
- ^ Джесси Камп и Дэвид Цукерман. Детерминированные экстракторы для источников с фиксацией битов и устойчивой к уязвимости криптографии., SIAM J. Comput., Vol. 36, № 5, с. 1231–1247.
- ^ а б Джесси Камп и Дэвид Цукерман. Детерминированные экстракторы для источников с исправлением битов и устойчивой к уязвимости криптографии. С. 1242.
- ^ Джон фон Нейман. Различные методы, используемые в связи со случайными цифрами. Серия прикладной математики, 12: 36–38, 1951.
- Экстракторы случайности для независимых источников и приложений, Ануп Рао
- Последние разработки явных конструкций экстракторов, Ронен Шалтиэль
- Извлечение случайности и вывод ключей с использованием режимов CBC, Cascade и HMAC, Евгений Додис и др.
- Вывод ключей и извлечение случайности, Olivier Chevassut et al.
- Детерминированные экстракторы для источников с исправлением битов и устойчивой к уязвимости криптографии, Джесси Камп и Дэвид Цукерман
- Подбрасывание необъективной монеты (и оптимальность продвинутой многоуровневой стратегии) (конспект лекции), Михаэль Митценмахер