O ciframento totalmente homomórfico não se limita a um único algoritmo; constitui uma família de sistemas criptográficos que tornam possível operar sobre dados cifrados. Cada esquema assenta em problemas matemáticos complexos, nomeadamente em pressupostos de reticulados como Learning With Errors (LWE) e Ring-LWE, considerados robustos mesmo face à ameaça de computadores quânticos. Os diversos esquemas distinguem-se na eficiência, nos tipos de cálculos que melhor suportam e na forma como gerem o ruído inerente às operações. Conhecer os principais esquemas é essencial para compreender como o FHE se integra em ambientes de contratos inteligentes, e por que motivos certas arquitecturas são adoptadas em casos de uso específicos.
BFV, BGV, CKKS e TFHE/FHEW são os quatro esquemas mais discutidos. Cada um responde a necessidades computacionais diferentes e opera com abordagens matemáticas específicas. A selecção para aplicações blockchain depende frequentemente se a aplicação requer cálculos exactos com inteiros, aritmética aproximada própria de machine learning, ou operações bitwise rápidas requisitadas pela lógica dos contratos inteligentes.
BFV (Brakerski–Fan–Vercauteren) e BGV (Brakerski–Gentry–Vaikuntanathan) foram dos primeiros esquemas FHE práticos a ganhar tracção. Ambos assentam na criptografia de reticulados, concebidos para operações sobre inteiros ou aritmética modular. Permitem somas e multiplicações exactas, tornando-os ideais para cálculos financeiros, mecanismos de votação e situações onde a precisão é crítica.
O BFV privilegia o processamento eficiente de cálculos modulares com inteiros, sendo particularmente vantajoso quando a aplicação requer resultados determinísticos sem arredondamentos. O BGV, embora semelhante na base, introduz optimizações para cifras agrupadas — o recurso ao batching permite processar vários valores em paralelo. Esta capacidade é determinante para o rendimento em blockchains, onde o throughput das transacções e os custos dependem directamente da eficiência computacional.
BFV e BGV utilizam cifragem homomórfica nivelada, o que significa a realização de um número limitado de operações antes de o ruído exceder o limiar aceitável. O bootstrapping — processo de renovação homomórfica da cifra — permite que os esquemas se tornem totalmente homomórficos. Embora outrora lento, o bootstrapping moderno reduziu drasticamente os tempos, permitindo operações cifradas contínuas em sistemas reais.
O CKKS (Cheon–Kim–Kim–Song) introduziu uma abordagem inovadora à cifragem homomórfica ao permitir aritmética aproximada em vez de operações exactas sobre inteiros. Este método é especialmente adequado a workloads de machine learning e inteligência artificial, onde a precisão absoluta é dispensável e aproximada através de valores decimais. O CKKS codifica números reais ou complexos em cifras e permite cálculos vectorizados, acelerando tarefas como inferência cifrada de modelos ou análises seguras de dados.
O CKKS assume o compromisso de permitir aproximações — os resultados podem apresentar erros residuais devido à escala ou arredondamento, quer na cifragem, quer na computação. Para muitos modelos de IA e aplicações de data science, esta margem é aceitável, já que pequenas variações numéricas são naturalmente toleradas. No âmbito blockchain, o CKKS pode ser utilizado por agentes de IA confidenciais em cadeia, permitindo previsões ou avaliações de risco sem exposição do modelo ou dos dados do utilizador.
Apesar das vantagens para workloads específicos, o CKKS é menos adequado a contratos inteligentes financeiros ou mecanismos de votação, que exigem resultados exactos. Para essas finalidades, preferem-se esquemas baseados em inteiros, como o BFV ou o TFHE. Ainda assim, a aptidão do CKKS para operações vectoriais de alta dimensão torna-o promissor para futuros marketplaces descentralizados de IA e para aprendizagem federada preservadora de privacidade em blockchain.
TFHE (Fast Fully Homomorphic Encryption over the Torus) e FHEW, seu antecessor, foram desenhados para cálculos ao nível do bit. Ao contrário de BFV, BGV ou CKKS, que operam sobre vectores ou polinómios, o TFHE cifra bits individuais e executa operações booleanas rápidas. Tal abordagem é especialmente vantajosa em cenários que requerem portas lógicas, em vez de aritmética, como comparações, ramificação condicional ou transições de estado cifradas em contratos inteligentes.
Uma das grandes vantagens do TFHE é o bootstrapping extraordinariamente rápido. Nos esquemas FHE iniciais, o bootstrapping era lento e penalizador, demorando vários segundos por operação. O TFHE reduziu este tempo para milissegundos, redesenhando o processo de renovação das cifras, tornando viável a computação cifrada contínua em aplicações interactivas. Esta inovação confirmou o TFHE como escolha de referência em ambientes blockchain, como o fhEVM da Zama, onde contratos inteligentes exigem processamento lógico cifrado eficiente.
O principal compromisso do TFHE reside no foco em operações binárias, o que pode limitar a eficiência em workloads aritméticos de grande volume, comparativamente ao CKKS ou BFV. Surgem, contudo, abordagens híbridas: TFHE para lógica de controlo, CKKS para aritmética aproximada, combinando as vantagens de ambos os paradigmas em aplicações descentralizadas orientadas para a privacidade.
O ruído é intrínseco aos esquemas de cifragem homomórfica baseados em reticulados. Cada operação sobre dados cifrados eleva este ruído; ao ultrapassar um determinado patamar, a cifra deixa de poder ser descifrada correctamente. O bootstrapping renova o estado da cifra de forma homomórfica, “limpando” o ruído e permitindo cálculos ilimitados.
Os algoritmos de bootstrapping iniciais eram lentos e exigiam grande capacidade computacional, restringindo o FHE a ambientes experimentais. Nos últimos anos, evoluiu-se de minutos para milissegundos por operação. TFHE e FHEW foram pioneiros em bootstrapping de baixa latência para aplicações interactivas; CKKS e BFV também beneficiaram de avanços graças a algoritmos optimizados e aceleração por hardware.
A gestão do ruído vai além do bootstrapping. Técnicas como modulus switching, key switching e packing de cifras contribuem para controlar o ruído e melhorar a eficiência. Modulus switching reduz o tamanho das cifras durante o processo, key switching permite transição de cifras entre chaves distintas sem descodificação, e packing possibilita processamento paralelo de múltiplos valores numa só cifra. No seu conjunto, estas práticas sustentam as implementações FHE modernas.
Apesar dos avanços algorítmicos, o FHE mantém-se consideravelmente mais exigente, em termos computacionais, do que a criptografia clássica. Por esse motivo, a aceleração por hardware assume papel central na investigação e desenvolvimento. As GPUs, pela sua capacidade de processamento paralelo, proporcionam ganhos substanciais nas operações polinomiais e vectorizadas essenciais aos esquemas FHE. Mais recentemente, estudam-se FPGA e ASIC específicos, procurando eficiência superior.
A Zama introduziu um protótipo de Homomorphic Processing Unit (HPU), ilustrando o avanço do sector em direcção ao hardware especializado para computação cifrada. Estes equipamentos permitem gerir cargas FHE de forma optimizada, com forte redução de latência e consumo energético. Com a pressão para baixar custos de transacção e aumentar o rendimento em blockchain, a aceleração por hardware será determinante para contratos inteligentes baseados em FHE atingirem viabilidade comercial.
Diversas bibliotecas open source afirmaram-se como ferramentas centrais para programadores FHE. O Microsoft SEAL, de utilização generalizada, suporta BFV e CKKS e está optimizado para facilidade de uso e compatibilidade multiplataforma. O OpenFHE (anteriormente PALISADE) oferece um leque mais abrangente de funcionalidades, incluindo suporte para vários esquemas e optimizações avançadas. O HElib da IBM constitui uma plataforma de investigação, centrada no BGV, e mantém relevância académica.
Para aplicações baseadas em TFHE, o TFHE-rs da Zama tornou-se referência, assegurando bootstrapping eficiente e plena compatibilidade com o fhEVM. O Concrete, também da Zama, disponibiliza ferramentas intuitivas para aplicações FHE em Rust, privilegiando a usabilidade sem sacrificar desempenho. O Fhenix, focado em contratos inteligentes confidenciais sobre Ethereum, introduziu um SDK para Solidity que abstrai grande parte da complexidade criptográfica, permitindo aos programadores blockchain criar contratos cifrados com ferramentas familiares.
A maturidade destas bibliotecas baixou radicalmente as barreiras para os programadores. O que dantes exigia especialização profunda em criptografia pode hoje ser abordado por programadores de contratos inteligentes experientes em linguagens como Solidity ou Rust. Esta democratização do desenvolvimento FHE acelera a experimentação e adopção nas áreas de finanças descentralizadas, saúde e IA em blockchain.