- 8 –
Provas de conhecimento zero
PINs, senhas, assinaturas eletrônicas... parece que hoje não podemos nem comprar
um jornal sem que nos peçam uma prova de identidade. E quando fazemos isso,
alguém pode observar nosso PIN, roubar nossa senha ou falsificar nossa assinatura.
Existe uma alternativa: provar que sabemos de alguma coisa sem revelá-la.
Na era da internet, tornou-se importante mandar mensagens que transmitem certas
informações ao destinatário escolhido sem revelar inadvertidamente outros fatos, seja ao
destinatário ou a qualquer outra pessoa. Por exemplo, suponha que você quer pagar uma
compra com seu cartão de crédito. Pode não ser uma boa ideia transmitir o número do cartão
sem mais nem menos. Para que a mensagem funcione, o destinatário deverá transferir dinheiro
sempre que receber um número de cartão de crédito válido. Mas alguém pode interceptar o
número, ou até criar um programa de computador ilícito que colete números de cartão de
crédito, usando-os para comprar produtos em contas alheias.
O uso de uma senha pessoal não aumenta em muito a segurança, porque ela também deve
ser transmitida pela internet. A maior parte dos sistemas de segurança utiliza algum método de
criptografia para confirmar que a mensagem veio de uma fonte legítima. Esses sistemas
funcionam desde que o código seja seguro, e atualmente existem muitas ideias boas para a
criação de tais códigos. Na verdade, certos códigos são tão seguros que alguns governos
querem bani-los, porque permitiriam a criminosos enviar mensagens indecifráveis, mesmo se
interceptadas. Por outro lado, grupos que defendem as liberdades civis querem proteger a
privacidade da interferência dos governos.
Uma abordagem alternativa para a criptografia consiste em usar uma “prova (ou protocolo)
de conhecimento zero”. Trata-se de uma maneira de convencer o destinatário de que você
conhece alguma informação crucial (como uma senha) sem precisar revelar exatamente que
informação é essa. É surpreendente que tais protocolos possam existir; ainda assim, nos