Cryptology Academy · Aula

Esquemas BGV e BFV para operações com inteiros

Realize adições e multiplicações de inteiros encriptados usando BGV.

Aula 3 de 413 etapas

Esquemas BGV e BFV para operações com inteiros é uma aula grátis de Cryptology Academy no CoddyKit. Esta é a aula 3 de 4. Você pode ler a aula completa abaixo gratuitamente — depois pratica ao vivo no navegador com um editor de código integrado e um tutor de IA 24/7. Faz parte do caminho de aprendizado de Cryptology Academy, e seu progresso é sincronizado entre a web e o app CoddyKit. O curso de Cryptology Academy inclui 4 aulas no total.

Visão geral do BGV

BGV (Brakerski-Gentry-Vaikuntanathan, 2012) é um esquema de FHE em níveis baseado em RLWE. Ele é compatível com adições e multiplicações arbitrárias sobre textos claros inteiros empacotados. "Em níveis" significa que ele processa circuitos de até uma profundidade fixa L sem reinicialização.

Espaço do texto claro

BGV e BFV codificam textos claros como polinômios em Z_t[x]/(x^n+1), em que t é um módulo pequeno do texto claro (por exemplo, t=65537). Cada polinômio codifica n valores inteiros, um por coeficiente. A aritmética sobre os textos cifrados opera simultaneamente em todos os n valores — paralelismo SIMD.

Gerenciamento de ruído no BGV

O BGV reduz o ruído por meio da troca de módulo: após cada multiplicação, o módulo do texto cifrado q é reduzido de Q_L para Q_{L-1}. Isso divide o ruído por Q_L/Q_{L-1}, mantendo-o dentro dos limites que permitem a descriptografia. A profundidade L do circuito corresponde a L níveis de módulo.

Visão geral do BFV

BFV (Brakerski/Fan-Vercauteren, 2012) é semelhante ao BGV, mas usa uma estratégia diferente de gerenciamento de ruído: invariância de escala. O BFV não exige troca de módulo; em vez disso, ele reescala o texto cifrado após a multiplicação. É mais simples de implementar e usado no Microsoft SEAL.

Codificação em lote (posições NTT)

Por meio do Teorema Chinês do Resto sobre o anel do texto claro, cada texto cifrado pode conter n/2 valores inteiros independentes (posições). Uma operação de adição de textos cifrados adiciona todos os n/2 pares em paralelo. Uma multiplicação multiplica todos os pares. Vazão: n/2 operações com inteiros por operação sobre texto cifrado.

Relinearização da multiplicação

Após multiplicar dois textos cifrados de grau 1, o resultado tem grau 2 (3 componentes). A relinearização usa chaves de avaliação (chaves de relinearização) para converter o resultado de volta ao grau 1, ao custo de ruído adicional. Essa etapa é necessária após cada multiplicação.

Exemplo em Python com SEAL

from seal import EncryptionParameters, scheme_type, SEALContext, KeyGenerator, Encryptor, Evaluator, Decryptor parms = EncryptionParameters(scheme_type.bfv) parms.set_poly_modulus_degree(4096) parms.set_coeff_modulus(CoeffModulus.BFVDefault(4096)) parms.set_plain_modulus(PlainModulus.Batching(4096, 20))

Rotação

A rotação do texto cifrado desloca ciclicamente as n/2 posições do texto claro. É útil para: redução por soma (acumular todas as posições em uma), multiplicação matriz-vetor (rotacionar e acumular) e convoluções (deslocar e multiplicar). Requer chaves de Galois (chaves de rotação pré-calculadas).

Desempenho

BFV com n=8192: adição de aproximadamente 10 µs e multiplicação de aproximadamente 5 ms (com relinearização). Reinicialização, se necessária: 30-60 segundos. Lote de 4096 inteiros: aproximadamente 1 µs amortizado por inteiro em cada multiplicação. Inviável em tempo real, mas viável para análises offline.

Seleção de parâmetros

Ao escolher n e q: o SEAL recomenda n=4096 para segurança de 128 bits com Q < 2^109; n=8192 para circuitos maiores. O padrão de HE (homomorphicencryption.org) fornece tabelas de parâmetros. Utilize sempre os parâmetros recomendados — escolhas personalizadas podem comprometer facilmente a segurança.

Casos de uso

Consultas a bancos de dados criptografados (pesquisar registros criptografados sem descriptografá-los). Análise genômica privada (calcular estatísticas sobre DNA criptografado). Agregações financeiras criptografadas (somar saldos de contas criptografados sem visualizar os indivíduos). Avaliação segura de modelos.

Verificação rápida

Qual técnica o BGV usa para gerenciar o crescimento do ruído após as multiplicações?

Recapitulação

BGV e BFV realizam aritmética inteira criptografada usando RLWE. A codificação em lote fornece paralelismo SIMD. O BGV usa troca de módulo; o BFV usa invariância de escala. A relinearização restaura o grau após a multiplicação. Próximo: CKKS para aritmética aproximada e aprendizado de máquina.

Grátis para começar

Aprenda Cryptology Academy com um tutor de IA — grátis

Escreva e execute código real no seu navegador, obtenha ajuda instantânea de um tutor de IA 24/7 e continue de onde parou na web ou no app.

Cursos
67
Aulas
261

Perguntas Frequentes

A aula “Esquemas BGV e BFV para operações com inteiros” é grátis?

Sim — o texto completo de “Esquemas BGV e BFV para operações com inteiros” é grátis para ler aqui na web. Para praticá-la interativamente (um editor de código integrado e um tutor de IA 24/7) e desbloquear o restante do curso de Cryptology Academy, atualize para CoddyKit PRO. O curso de Cryptology Academy inclui 4 aulas no total.

O que vou aprender em “Esquemas BGV e BFV para operações com inteiros”?

Realize adições e multiplicações de inteiros encriptados usando BGV. Você pratica Cryptology Academy com código prático que executa diretamente no navegador, e um tutor de IA 24/7 responde suas dúvidas enquanto trabalha na aula.

Preciso ter experiência prévia para começar Cryptology Academy?

Nenhuma experiência prévia é necessária. Cryptology Academy no CoddyKit é estruturado para alunos iniciantes até avançados, então você pode começar aqui ou desde o início e aprender no seu ritmo. Esta é a aula 3 de 4.

Quanto tempo leva a aula “Esquemas BGV e BFV para operações com inteiros”?

A maioria das aulas CoddyKit leva cerca de 5–10 minutos. Cada uma é compacta e interativa, então você faz progresso constante e retoma exatamente de onde parou entre web e app.

Posso escrever e executar código nesta aula de Cryptology Academy?

Sim. Cada aula de Cryptology Academy inclui um editor de código integrado, então você escreve e executa código real direto no navegador e recebe feedback de IA instantaneamente — nenhuma configuração local necessária.

Todas as aulas deste curso

  1. O que é encriptação homomórfica?
  2. Fundamentos de Learning With Errors (LWE)
  3. Esquemas BGV e BFV para operações com inteiros
  4. CKKS para aritmética aproximada e aprendizado de máquina
← Voltar para Cryptology Academy