Вывод теоремы Голдрайха-Левина из теоремы о списочном декодировании
Теорема (Голдрайх-Левин)
Если f:{0,1}n→{0,1}n - односторонняя перестановка, то g:{0,1}2n→{0,1}2n, g(x,y)=(f(x),y) - тоже односторонняя перестановка, а h(x,y)=x⊙y - трудный бит для g.
Теорема (О кодах Адамара или о списочном декодировании)
Пусть hx(y)=x⊙y - код Адамара слова x∈{0,1}n. Пусть ˉh(y) - такая функция, что доля y удовлетоворяющих ˉh(y)=hx(y) больше либо равна 12. Тогда существует вероятностный алгоритм, работающий poly(nε), имеющий произвольный доступ к ˉh, выдающий список слов длины n, с вероятностью ≥12 содержит x.
Почему это называется декодированием списка? Вообще кодирование нужно для исправления ошибок. Код Адамара - длинный код. Точного полиномиального алгоритма декодирования не существует. h - код, ˉh - испорченный код.
Теорема
Из теоремы о списочном декодировании выводится теорема Голдрайха-Левина.
Доказательство
Пусть существует схема, которая с вероятностью ≥12+ε по (f(x),y) находит x⊙y. Pry{C(f(x),y)=x⊙y}≥12+ε Pry{ˉC(y)=hx(y)}≥12+ε ˉC - искаженный код Адамара слова x.
Обратитель f:
Применяет алгоритм списочного декодирования для ˉh=ˉC и ε.
Вычисляет значения f на всех элементах полученного списка.
Если f(ˉx)=f(x), то выводит ˉx, иначе выводит что угодно.
Утверждается, что этот обратитель будет достаточно успешным. Он точно будет работать полиномиальное время (он обращается к схеме, нужно переделать алгоритм в полиномиальную схему). Нужно понять, с какой вероятностью он будет обращать. Эта вероятность будет равна ε4. Ибо если декодирование успешно, то нужный x будет найден и вероятность успеха декодирования будет 12. Нужно посчитать долю x, для которых Pry{ˉC(y)=hx(y)}≥12+ε2 Эта доля ≥ε2, иначе Pry{C(f(x),y)=hx(y)}<ε2⋅1+1⋅(12+ε2)=12+ε Получили противоречие с предположением.
≥ε2 - вероятность хорошего x;
≥12 - вероятность успешного обращения хорошего x
Из последних двух оценок поулчаем ≥ε4 - вероятность успешного обращения x.