A criptografia homomórfica soa como uma calculadora universal para dados cifrados. Essa foi minha primeira reação quando ouvi o termo, mas a lista me mostrou que não é bem assim. Quanto mais eu pesquisava, mais estranho ficava: ela oferece muito menos tipos de operação do que eu imaginava — tão poucos que dá para contar. Tão poucos que eu contei: só duas categorias e meia. Afinal, calcular enquanto os dados estão cifrados é uma capacidade única e abrangente? Eu achava que sim, mas depois percebi que deveria ler isso como uma lista de recursos. A resposta está na lista.

Primeiro, vamos listar as operações disponíveis nos materiais oficiais e conferir uma por uma. A homomorfia aditiva dá conta de somas; a multiplicação por escalar também. E a multiplicação arbitrária? Foi aí que travei. Procurei três vezes e não encontrei nenhuma operação correspondente na lista de recursos. Quando cheguei a esse ponto, já tinha passado 20 minutos. Foi quando percebi que criptografia homomórfica não é um adjetivo, mas uma tabela que delimita o que é possível fazer. Essa é a verdade. Só é possível calcular o que está na tabela. @Dusk

Vamos destrinchar esses limites e ver como eles afetam as escolhas de projeto. Se quiser fazer algum cálculo com dados cifrados, primeiro precisa perguntar: essa operação está na tabela? Se estiver, faça o cálculo diretamente com os dados cifrados. Se não estiver, ou você descriptografa primeiro, ou muda o projeto do circuito. Os dois caminhos têm um custo: o primeiro expõe os dados; o segundo aumenta a complexidade da prova. Não há opção gratuita. Essa é uma regra inegociável. Antes de escolher um caminho, esclareça qual desses custos seus dados podem suportar.

De 45% a 255% é a faixa de lentidão do WASM em comparação com o código nativo. Conferi esse número duas vezes. A linguagem promocional descreve isso como computação criptografada para todos os fins, mas, no nível do mecanismo, o que se vê são operações limitadas. Quanto mais eu conferia, mais algo não batia: a capacidade de calcular com dados cifrados não equivale a computação universal. A maioria das pessoas só percebe essa diferença quando olha a lista. E, no fim, só encontrei a expressão «para todos os fins» no título. A verdade está escondida no título.

Então, para avaliar a qualidade de uma solução de privacidade, não pergunte se ela usa criptografia homomórfica. Pergunte quantos recursos aparecem na tabela. Há quem pense que criptografia homomórfica significa computação universal. Eu não vejo assim. Isso vai contra a intuição, mas a tabela de recursos é o único critério. Se alguém vier falar de criptografia homomórfica, $DUSK peça primeiro para mostrar a tabela. Se não conseguir, finja que nem ouviu a expressão «para todos os fins». Leva só 5 minutos para conferir a lista — e é justamente aí que está a vantagem. #dusk