Интерактивный протокол
В предыдущем подходе получатель играл пассивную роль. Построим протокол в котором он будет что-то делать.
Интерактивный протокол - 3 алгоритма: R, S, T. R, S - вероятностные полиномиальные алгоритмы. T - детерминированный полиномиальный алгоритм, котороый получает протокол общения и должен сказать, что же там было запечатано. Он возвращает 0,1 либо ошибки ⊥R,⊥S.
2 фазы протокола:
Привязка . <R,S(σ)>- протокол общения R и S.
Раскрытие. S посылает свои биты S.
Требования:
T(,S)=σ - требование корректности.
T(,s)∈{σ,⊥R} - усиленная корректность. (Жульничающий R не может заставить S привязаться к другому биту).
∀S∗ ∃σ∗ ∀s∗ T(,S∗)∈{σ∗,⊥S} - требование надежности.
<R∗,S(0)> и <R∗,S(1)> вычислительно не отличимы. (До раскрытия R ничего не узнает о бите, то есть все, что он увидит будет вычислительно неотличимо друг от друга.)
Конструкция на базе генератора G:{0,1}n↦{0,1}3n: Sr∈{0,1}3n←R, r - случайное S выбирает случайное s∈{0,1}n S⟶R T получает q - сообщение R, m - сообщение S, s - случайные биты S. T(q,m,s)={0при m⊕G(s)=03n1при m⊕G(s)=q⊥Sиначе Вычислительная неотличимость: (q,G(s))∼(q,t)∼(q,t⊕q)∼(q,G(s)⊕q), где t - случайное, длины 3n.
Надежность - выполнена с вероятностью (по r∈{0,1}3n) не меньше 1−12n. Покажем это рассмотрев неоднозначное раскрытие:
∃s1 m⊕G(s1)=03n и ∃s2 m⊕G(s2)=r.
При выполнении обоих условий ∃s1,s2 G(s1)⊕G(s2)=r. Вероятность этого не превосходит 22n23n=2−n.