A Wikipedia descreve esse exemplo. Considere o problema UNSAT de coNP-completo: dado um CNF em n variáveis, queremos convencer o verificador de que φ não é satisfatório. Aritmizamos φ em um polinômio p e escolhemos um q primo grande . Seja
p ( x 1 , … , x k ) = 1 ∑ x k + 1 = 0 ⋯ 1 ∑ x n = 0 p ( x 1 ,φnφφpq
O protocolo procede da seguinte maneira:
p(x1,…,xk)=∑xk+1=01⋯∑xn=01p(x1,…,xn).
- O provador envia ao verificador um primo , e o último verifica se q é primo.q∈(2n,2n+1)q
- O provador envia o verificador . O verificador verifica se p ( 0 ) + p ( 1 ) = 0 e envia ao provador um r 1 aleatório .p(z)∈Zq[z]p(0)+p(1)=0r1
- O provador envia o verificador . O verificador verifica se p ( r 1 , 0 ) + p ( r 1 , 1 ) = p ( r 1 ) e envia ao testador um r 2 aleatório .p(r1,z)∈Zq[z]p(r1,0)+p(r1,1)=p(r1)r2
- p(r1,…,rn)∈Zqp
pq