Existem muitas ideias elegantes na criptografia. A encriptação totalmente homomórfica (FHE) pode ser a mais absurda que realmente funciona.
A ideia: encripta os seus dados, entrega-os a outra pessoa, essa pessoa executa cálculos sobre eles, devolve um resultado e, quando descriptografa esse resultado, está correto. A pessoa que fez os cálculos nunca viu os seus dados. Não uma versão expurgada. Não um hash. Os valores subjacentes reais, nunca expostos, nem sequer por um microssegundo.

Craig Gentry provou que isto era possível em 2009. A comunidade de criptografia questionava-se se seria alcançável há cerca de 30 anos.
Como funciona a FHE
A encriptação comum é uma porta de sentido único. Bloqueia os dados e qualquer pessoa que queira fazer algo com eles tem de os desbloquear primeiro. A FHE mantém a porta bloqueada, mas permite reorganizar os móveis do exterior.
Mais precisamente: os esquemas FHE definem duas operações sobre textos cifrados, normalmente denominadas adição homomórfica e multiplicação homomórfica. Estas correspondem às mesmas operações sobre os textos simples subjacentes. Se adicionar dois valores encriptados, o resultado, quando descriptografado, é igual à soma dos originais. O mesmo se aplica à multiplicação.
Essas duas operações são suficientes para construir qualquer função que um computador possa calcular. (A adição e a multiplicação sobre campos binários fornecem portas AND e XOR, que permitem circuitos arbitrários.) Esta é a ponte entre "duas operações sobre números encriptados" e "computação arbitrária sobre dados encriptados".
O problema é o ruído. Cada operação FHE adiciona uma pequena quantidade de erro ao texto cifrado. Execute operações suficientes e o ruído supera o sinal. Já não é possível descriptografar. A principal contribuição de Gentry foi uma técnica chamada bootstrapping: uma forma de executar o circuito de descriptografia sobre o texto cifrado enquanto este ainda está encriptado, o que reinicia o nível de ruído. É profundamente estranho se pensar nisso por demasiado tempo. A função de descriptografia descriptografa… dentro da encriptação. É isso que torna o esquema "totalmente" homomórfico em vez de apenas "parcialmente" homomórfico.
A encriptação parcialmente homomórfica (SHE) suporta um número fixo de operações antes de o ruído se tornar fatal. A encriptação homomórfica nivelada (LHE) suporta uma profundidade de circuito predeterminada. A FHE suporta qualquer circuito, sem limites, porque o bootstrapping permite continuar indefinidamente.
Onde a FHE é utilizável atualmente
Para a maioria das aplicações, a FHE ainda é demasiado lenta. Mas "maioria" tem um limite preciso. Existem implementações reais em funcionamento atualmente.
Inferência privada de machine learning. Um cliente tem dados de entrada sensíveis. Um servidor tem um modelo proprietário. Nenhum dos dois quer expor o que tem ao outro. A FHE permite que o servidor avalie o seu modelo com base na entrada encriptada do cliente e devolva um resultado encriptado que o cliente pode descriptografar. O servidor nunca vê a entrada. O cliente nunca vê os pesos do modelo. Empresas já implementaram isto para arquiteturas de modelos específicas. A carga de trabalho enquadra-se nas restrições atuais da FHE porque a profundidade do circuito é limitada e previsível.
Computação genómica privada. Os dados genómicos são sensíveis de formas que vão além de um número de segurança social: implicam os seus familiares, são permanentes e os riscos de privacidade aumentam à medida que as bases de dados de referência crescem. Os investigadores têm utilizado a FHE para calcular pontuações de risco de doenças e comparações genéticas sem expor as sequências subjacentes à parte que realiza os cálculos. As competições iDASH têm realizado benchmarks para este caso de utilização desde 2014.
Consultas privadas a bases de dados. Pretende consultar uma base de dados sem revelar o que está a procurar. A pesquisa por palavras-chave, consultas de intervalo e testes de pertença a conjuntos têm todos construções FHE. A sobrecarga ainda é significativa, mas gerível para consultas de baixa frequência e alto valor.
Computação federada com garantias de privacidade. Vários hospitais pretendem treinar um modelo com os dados combinados dos seus pacientes sem partilhar registos. A FHE (frequentemente combinada com computação segura multipartes) permite a computação combinada sem a agregação dos dados.
FHE versus outras abordagens de preservação da privacidade
A FHE não existe de forma isolada. É uma ferramenta numa pilha que inclui:
Computação segura multipartes (MPC): múltiplas partes calculam conjuntamente uma função sem revelar as suas entradas umas às outras. O MPC é frequentemente mais rápido do que a FHE para funções específicas e requer múltiplas partes que não colidam entre si. A FHE funciona com um único servidor.
Privacidade diferencial (DP): adiciona ruído calibrado às saídas para limitar o que um adversário pode inferir sobre indivíduos num conjunto de dados. A DP protege contra ataques de inferência em resultados agregados, mas não permite computação sobre entradas privadas.
Ambientes de execução confiáveis (TEEs): enclaves de hardware (Intel SGX, AMD SEV) que executam código numa região de memória protegida que o sistema operativo não consegue ler. Os TEEs pressupõem que confia no fabricante do hardware e que não existe nenhuma falha na implementação. A FHE pressupõe que confia na matemática.
Provas de conhecimento zero (ZKPs): permitem provar que uma afirmação é verdadeira sem revelar o motivo pelo qual é verdadeira. As ZKPs provam propriedades; a FHE calcula sobre valores privados. São complementares.
Os sistemas híbridos são cada vez mais comuns. A FHE trata da computação sensível; as ZKPs verificam se a computação foi realizada corretamente; o MPC distribui a confiança. As fronteiras entre estas tecnologias estão a dissoliver-se à medida que os profissionais constroem sistemas que necessitam simultaneamente de propriedades de várias delas.








