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