Односторонние функции и псевдослучайные генераторы
Содержание
Односторонние функции
Определения
- Функция называется пренебрежимо малой, если и достаточно больших . Пример: .
- Функция называется односторонней, если для любого полиномиального вероятностного алгоритма существует пренебрежимо малая функция такая, что для любого натурального вероятность для случайно выбранного .
Гипотеза
- Односторонние функции существуют.
Строго говоря, нам пока не известна ни одна односторонняя функция. Однако предложено несколько функций, которые могут оказаться односторонними — для этих функций в настоящее время, несмотря на интенсивные исследования, не известны эффективные алгоритмы нахождения обратной функции.
- RSA:
- Функция Рабина:
Теорема
Если P = NP, то не существует односторонних функций.
Доказательство:
Рассмотрим язык
- префикс .и, так как по условию , то . Заметим, что подбирая по одному биту, легко восстанавливается за полином и, следовательно, односторонних функций существовать не может.
Определение
Система шифрования называется вычислительно безопасной, если для любого полиномиального вероятностного алгоритма существует пренебрежимо малая функция такая, что вероятность для случайно выбранного и произвольного ключа . То есть любой выбранный наугад бит текста в лучшем случае может быть угадан перехватчиком с вероятностью, большей, чем , на пренебрежимо малую величину.
Теорема
Если существуют односторонние функции, то для любого натурального
существует - вычислительно безопасная схема: , то есть использующая ключи длины для сообщений размера .Без доказательства.
Псевдослучайные генераторы
Определение
Функция
называется псевдослучайным генератором, если для любого полиномиального вероятностного алгоритма и любого натурального существует пренебрежимо малая функция такая, что разность вероятностей для случайно выбранных . Иначе говоря, полиномиальному перехватчику невозможно различить случайно сгенерированную строку длины и строку, созданную генератором из более короткой случайной строки длины .Теорема
Если существуют односторонние функции, то существуют псевдослучайные генераторы.
Без доказательства.
Определение
Функция
называется непредсказуемой, если для любого полиномиального вероятностного алгоритма и любого натурального существует пренебрежимо малая функция такая, что вероятность для случайно выбранного . Иными словами, предсказать -й бит, зная предыдущие бит, трудно для любого полиномиального алгоритма.Теорема
Функция
является случайным генератором тогда и только тогда, когда - непредсказуемая.