Microsoft ElectionGuard: uma iniciativa open source que pode revolucionar o voto
Ou: trocando o chapéu de alumínio pela criptografia homomórfica
Eu não sou muito chegado a teorias da conspiração, até porque elas vão contra meu credo básico na Navalha de Occam, que a grosso modo diz que “a proposição que tiver o menor número de suposições tende a ser a verdadeira”, mas confesso que certa vez senti um desconforto ao votar em nossa urna eletrônica.
Em 2014, ao teclar “Confirma”, surgiu uma barra de progresso na tela da urna, coisa que eu nunca havia visto antes, e só depois de alguns segundos surgiu a mensagem de “FIM”. A explicação que recebi foi a de que algumas urnas tinham mais de dez anos de vida (hardware defasado, portanto) e a barra de progresso havia sido incluída naquele ano, substituindo a tela em branco entre a confirmação e o final.
Por mais que meu lado racional dissesse (e diga) que a explicação faz sentido, o fato de que nossas autoridades dificultam a auditoria do código da urna (e o fato de ela ter código fechado) é algo que sempre me incomodou. O TSE já anunciou que abriria o código este ano ou antes das eleições de 2022, mas sinceramente, duvido muito.
Entra a criptografia homomórfica
Não vou fingir ter conhecimento prévio deste tipo de criptografia — até ler sobre o assunto no final do mês passado, nunca tinha ouvido falar dela, mas é uma tecnologia fantástica.
Um dos maiores entraves ao uso mais amplo de criptografia é a impossibilidade de tratar os dados enquanto estão criptografados. E, dependendo do tamanho da base, descriptografar, tratar e criptografar novamente pode resultar em um consumo excessivo de recursos. Nós vemos o resultado desses dados legíveis em servidores e “nuvens” mal configurados ou comprometidos em vazamentos online que atingem a casa das dezenas ou até mesmo centenas de milhões de credenciais de acesso, números de cartão de crédito e muito mais.
A criptografia homomórfica, tal como a assimétrica, trabalha com o conceito de chave pública e privada, mas além disso ela traz uma tecnologia que possibilita a execução de funções computacionais dentro da base de dados, sem que, entretanto, se veja o que está sendo tratado. E só o proprietário da chave privada poderá “ler” o resultado.
Complicado? Um exemplo que o próprio criador da tecnologia fornece ajuda a visualizá-la de forma mais clara.
Imagine o porta-luvas de um carro. Você pode abri-lo, pode enfiar suas duas mãos e mexer no que está dentro, mas não pode ver nem tirar nada.
Indo um pouco além, imagine que você sabe que dentro do porta-luvas existem peças de lego, algumas quadradas e outras retangulares. O dono do porta-luvas pede que você monte torres com oito peças quadradas e torres com dez peças retangulares. Quando você terminar a montagem, pode avisar ao dono do porta-luvas, e ele usará a chave privada para abrir, ver, tirar e fazer o que bem entender com elas. Grosso modo, é assim que a criptografia homomórfica funciona.
Uma tecnologia perfeita para votação
A beleza do sistema de votação homomórfico é que o voto fica criptografado, garantindo que ninguém o verá. A totalização pode ser feita sem que o operador saiba quem está recebendo votos, enquanto a integridade dos dados do seu voto está garantida pela criptografia, já que o totalizador não consegue modificar os dados e, para fechar com chave de ouro, o eleitor recebe uma chave verificadora, que pode usar para saber se seu voto foi contabilizado.
A Microsoft testou seu sistema ElectionGuard numa votação para escolher juízes de uma corte superior na cidade americana de Fulton, no estado do Wisconsin, que envolvia apenas quinhentos eleitores. E transcorreu com sucesso.
Mais do que a máquina de votação em si, no caso um aparelho que usa sensores do Xbox e um tablet Surface, o processo em si é brilhante. A máquina pode computar o voto ou simplesmente gerar um cartão impresso, com um código QR, que deverá ser depositado em uma urna, que por sua vez fará a leitura e só então computará o voto. A cédula, anonimizada, pode ser utilizada posteriormente para auditoria do processo ou até mesmo recontagem de votos.
O software, que tem código aberto, está publicado neste GitHub. Você pode se aprofundar no assunto na Eset, Fast Company (inglês) e Baffle (inglês).
Mas nem tudo são flores
Escalar pode ser um problema para essa tecnologia e, talvez por isso, a Microsoft tenha escolhido uma eleição de menor importância, com poucos votantes, para testar o sistema em ambiente real.
A criptografia homomórfica ainda é muito lenta e exige uma grande quantidade de memória para funcionar. Os esquemas de base de dados têm que ser criados com vistas ao tipo de requisição que se precisará fazer, e o sistema ainda apresenta limitações quando se opera com mais de um esquema distinto.
Mas não poderia se esperar algo diferente de uma tecnologia que consegue fazer algo tão impressionante.
Leia | O que é um hash?