Para facilitar o estudo das classes de complexidade relacionadas a provas de conhecimento zero, é importante observar que algumas das classes possuem problemas completos. Esse é o caso das classes relacionadas a sistemas de prova interativos de conhecimento zero perfeito e estatístico. Nessa seção apresentamos os problemas Distância Estatística (SD deStatistical
Distance) e Diferença de Entropia (ED deEntropy Difference), que são ambos completos para a classeHVSZK =SZK, e também apresentamos um problema que é completo para uma subclasse dePZK.
O problema computacional SD envolve decidir o quão próximas duas distribuições
“eficientemente amostráveis” são, através da métrica de distância estatística. Para definir o problema formalmente, apresentamos na Definição 3.4.1 a ideia de que circuitos booleanos codificam distribuições de probabilidade em seus contradomínios, induzidas pela distribuição uniforme nos bits de entrada.
Definição 3.4.1. (Distribuições codificadas por circuitos). SejaXum circuito Booleano (com portas AND, OR, NOT efan-inefan-outilimitados) commbits de entrada enbits de saída. A distribuição de probabilidade codificada porXé a distribuição induzida em{0,1}nao avaliar X em uma entrada escolhida de maneira uniforme aleatória em {0,1}m. Denotamos essa distribuição também porX.
Apresentamos então na Definição 3.4.2 o problema SD [SV03].
Definição 3.4.2. Distância Estatística é o problema de promessa SD = (SDS,SDN), onde SDS ={(X, Y) : Δ(X, Y)≥2/3}
SDN ={(X, Y) : Δ(X, Y)≤1/3}, ondeXeY são circuitos que codificam distribuições de probabilidade.
É possível também considerar variantes de SD parametrizadas pelos limites que indicam quais instâncias são do tipo sim e quais são do tipo não. Apresentamos essas variações na Definição 3.4.3.
Definição 3.4.3. Para quaisquer constantes0≤β < α≤1, o problema de promessa SDα,β = (SDα,βS ,SDα,βN )é definido por
SDα,βS ={(X, Y) : Δ(X, Y)≥α} SDα,βN ={(X, Y) : Δ(X, Y)≤β}, ondeXeY são circuitos que codificam distribuições de probabilidade.
Em especial citamos o problema SD1,0, no qual as instâncias sim são aquelas em que os circuitosX eY codificam distribuições de probabilidade com suportes disjuntos e as
instâncias não são aquelas em queXeY codificam distribuições de probabilidade identicamente distribuídas. Apresentamos no Teorema 3.4.4 o fato de que SD é completo paraSZK.
Teorema 3.4.4. [SV03] O problema SD é completo para a classeSZK.
3.4.1 Um Sistema de Prova Básico
Nesta seção apresentamos um sistema de prova de conhecimento zero para o problema SD. Uma maneira natural de construir um sistema de prova para alguma variação de SD é testar se a estratégia de prova consegue distinguir uma amostra aleatória da primeira distribuição de uma amostra aleatória da segunda distribuição. Nesse caso, dada uma amostraxque pode ser proveniente de qualquer um dos circuitos do problema SD, faz sentido que a melhor estratégia de prova seja aquela que associaxao circuito no qual a probabilidade de se amostrarxé maior.
Essa intuição motiva o Protocolo 2, a seguir.
Protocolo 2para variantes de SD - ambosP eV recebem como entrada os circuitosX0 eX1, commbits de entrada enbits de saída.
1: V: Seleciona de maneira aleatória e uniformeb ∈ {0,1}er ∈ {0,1}m, obtém a amostra x=Xb(r)e enviaxparaP.
2: P: SePr[X0 =x]>Pr[X1 =x], fazc= 0, caso contrário fazc= 1. EnviacparaV.
3: V: Aceita se e somente sec=b.
Primeiro provamos na Afirmação 3.4.5 que esse é um sistema de prova interativo para SD1,0.
Afirmação 3.4.5. [Vad99] O protocolo apresentado é um sistema de prova interativo para SD1,0 com integralidade perfeita e erro de corretude1/2.
Demonstração. Observa-se claramente que a computação realizada porV é polinomial. Prova-mos então as outras duas propriedades que um sistema de prova interativo deve ter.
Integralidade: para instâncias do tipo sim. Nesse caso X0 e X1 possuem suportes disjuntos, e a estratégia de prova do protocolo apresentado obtém sucesso com probabilidade 1, poisP sempre consegue acertar, em tempo super polinomial, de qual circuitoxé amostrado.
Corretude: para instâncias do tipo não. Nesse casoX0 eX1 codificam distribuições idênticas, e o valor debé independente do valor dex, poisxassume os mesmos valores, com a mesma probabilidade, para qualquer valor deb. Comob é independente dex, o valor dex enviado porV não revela a escolha do bitb, e qualquer estratégia de provaP∗ só pode tentar adivinharbcom probabilidade no máximo1/2.
Quando as distribuições são disjuntas (instância sim do problema), tudo que o verificador vê é a respostacda estratégia de prova, igual ab, um valor que o verificador já “conhece”. Isso sugere que o simulador a seguir simula perfeitamente a interação.
Simulador 3para variantes de SD - a entrada é composta pelos circuitosX0 eX1, commbits de entrada enbits de saída.
1: Seleciona de maneira aleatória e uniformebs ∈ {0,1}e rs ∈ {0,1}m, obtém a amostra xs =Xbs(rs).
2: Fazcs =bs.
3: Responde(xs, cs;bs, rs).
Usamos o Simulador 3 para provar a Afirmação 3.4.6.
Afirmação 3.4.6. [Vad99] O protocolo apresentado é uma prova de conhecimento zero perfeito (para verificadores honestos) para SD1,0.
Demonstração. Provamos a propriedade de Conhecimento Zero Perfeito para Verificadores Honestos, que só precisa ser válida para instâncias do tipo sim. Nesse casoX0eX1codificam distribuições com suportes disjuntos, e a estratégia de provaP sempre responde corretamente qual foi o bitbsorteado pelo verificador. Comparamos a saída(xs, cs;bs, rs)do simulador com a visão(x, c;b, r)da interação deV comP. As mensagensxexssão obtidas da mesma maneira e por isso possuem a mesma distribuição, o mesmo vale parabseberser. Por último, como na simulaçãobs =cse também no sistema de provab=c,cecstêm a mesma distribuição.
Essa análise também vale de forma aproximada quando estamos lidando com uma instância mais genérica de SD. Esse fato é capturado pelo Lema 3.4.7.
Lema 3.4.7. QuandoX0 eX1 tem distância estatísticaδ, a estratégia de prova do Protocolo 2 faz com que o verificador aceite com probabilidade exatamente(1 +δ)/2, e nenhuma estratégia de prova obtêm probabilidade de aceitação maior. Além disso, a saída do Simulador 3 tem distância estatística exatamente(1−δ)/2da visão do verificador de(P, V)(X0, X1).
Demonstração. Levando em consideração a Proposição 2.1.3, que apresenta a distância estatística entre duas distribuições de probabilidadeX eY como a área da regiãoX-superior ou a área da regiãoY-superior, podemos mostrar um processo alternativo que induz a mesma distribuição em (b, x)que a estratégia do verificador no Protocolo 2.
1. Jogue uma moeda viciadadque assume o valor0com probabilidade1−δ e1com probabilidadeδ.
2. Sed= 0:
(a) Selecione de maneira aleatória uniforme um pontox∈ {0,1}nna região comum.
(b) Selecione de maneira aleatória uniformeb ∈ {0,1}. 3. Sed= 1:
(a) Selecione de maneira aleatória uniformeb ∈ {0,1}.
(b) Seb = 0, selecione de maneira aleatória uniforme um pontox∈ {0,1}nda região X0-superior.
(c) Seb = 1, selecione de maneira aleatória uniforme um pontox∈ {0,1}nda região X1-superior.
4. Devolva(b, x).
Nesse processo percebe-se que, quandod= 0,bé independente dexe a probabilidade de sucesso de qualquer estratégia de prova é de no máximo1/2, independente de sua estratégia.
Além disso, a estratégia de prova do Protocolo 2 distingue perfeitamente dentre as regiões X0-superior eX1-superior, obtendo sucesso com probabilidade 1 quandod = 1. Como essa estratégia também obtém sucesso com probabilidade1/2parad = 0, essa estratégia é ótima, e sua probabilidade de sucesso é:
1
2 ·Pr[d = 0] + 1·Pr[d= 1] = 1−δ
2 +δ = 1 +δ 2 .
Para analisar o desvio do simulador, perceba que as únicas mensagens que ocorrem com probabilidade maior na visão do verificador do que na saída do simulador são aquelas em que o verificador rejeita. Como essas ocorrem com probabilidade zero no simulador, a distância estatística entre os dois é exatamente a probabilidade de falha da estratégia de prova, que é 1−(1 +δ)/2 = (1−δ)/2.
O Lema 3.4.7 porém não garante que SD ∈ HVSZK, pois o desvio do simulador é constante (1/6) ao invés de uma função negligenciável. Uma maneira de obter um simulador melhor seria através de uma transformação que mapeia pares de circuitos tal que a distância estatística entre eles seja pelo menos2/3para pares de circuitos com distância estatística muito próxima de 1. O Lema 3.4.8 apresentado a seguir realiza essa transformação.
Lema 3.4.8. [Vad99](Lema da Polarização). Sejam α, β ∈ [0,1] duas constantes tais que α2 > β(por exemploα= 2/3eβ = 1/3). Existe uma função computável em tempo polinomial que recebe como entrada uma tripla(X0, X1,1k)e tem como saída dois circuitos(Y0, Y1)tais que
SeΔ(X0, X1)≥αentãoΔ(Y0, Y1)≥1−2−k SeΔ(X0, X1)≤β entãoΔ(Y0, Y1)≤2−k
Escolhendo um valor dek relacionado ao tamanho dos circuitosX0 eX1para a função de polarização, como por exemplo|X0|c para uma constantece levando em consideração que o desvio do simulador, que é de(1−δ)/2, passa a ser uma função negligenciável, obtemos o seguinte corolário.
Corolário 3.4.9. SD∈SZK=HVSZK.
3.4.2 Diferença de Entropia
O outro problema completo para a classeSZKé o problema Diferença de Entropia (ED). Mais formalmente,
Definição 3.4.10. Diferença de Entropia é o problema de promessa ED = (EDS,EDN), onde EDS ={(X, Y)|H(X)≥H(Y) + 1}
EDN ={(X, Y)|H(Y)≥H(X) + 1}. eXeY são circuitos que codificam distribuições de probabilidade.
Basicamente, o problema ED consiste em apontar dentre duas distribuições de probabi-lidade aquela que possui a maior entropia. O salto de 1 de diferença entre as entropias não é essencial, pois qualquer diferença pode ser aumentada trocando a distribuição por várias cópias independentes de si mesma. Nesse caso uma distribuição de entropiahpassa a ter entropiach quando são realizadasccópias. Apresentamos o fato de que o problema ED é completo para SZKno Teorema 3.4.11.
Teorema 3.4.11. [SV03] O problema ED é completo para a classeSZK.
Note que existe uma redução trivial entre os problemas ED e seu complemento ED, basta trocar os circuitosX eY. Junto do fato de que ED é completo para a classeSZK, isso implica queSZK=co-SZK, ou então queSZKé fechada sob complemento.