CKKS para aritmética aproximada e aprendizado de máquina
Aplique CKKS à inferência de aprendizado de máquina com preservação de privacidade.
CKKS para aritmética aproximada e aprendizado de máquina é uma aula grátis de Cryptology Academy no CoddyKit. Esta é a aula 4 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.
Por que CKKS?
BGV/BFV operam sobre inteiros (aritmética exata). O aprendizado de máquina usa números de ponto flutuante (aritmética aproximada). CKKS (Cheon-Kim-Kim-Song, 2017) codifica números reais e complexos e permite perda de precisão controlada — ideal para inferência de aprendizado de máquina e análise de dados.
Aritmética aproximada
O CKKS trata o ruído como parte da precisão da codificação. Em vez de eliminar o ruído (corrigindo erros), o CKKS considera o resultado uma aproximação com limites de precisão garantidos. Esse compromisso permite um HE muito mais eficiente para computações com valores contínuos.
Codificação de números reais
O CKKS codifica um vetor de números complexos como um polinômio: um vetor (z_0, ..., z_{n/2-1}) é mapeado, por meio da FFT inversa, para um polinômio em R. O fator de escala Δ (por exemplo, 2^40) mapeia números de ponto flutuante para inteiros. São n/2 posições reais por texto cifrado.
Reescala
Após a multiplicação, o fator de escala dobra: Δ^2. O CKKS introduz uma operação de reescala: divide por Δ para restaurar uma única escala. Isso também reduz o nível do módulo do texto cifrado (como a troca de módulo do BGV), mantendo o texto cifrado gerenciável.
Análise de precisão
Cada multiplicação consome um nível de módulo e reduz a precisão em aproximadamente log2(Δ) bits. Para um circuito de profundidade L com fator de escala Δ = 2^40, a perda total de precisão é de aproximadamente L*40 bits. Escolha um módulo inicial Q grande o suficiente para acomodar esse orçamento de precisão.
Inferência de aprendizado de máquina com CKKS
Camadas lineares (multiplicação matriz-vetor): eficientes — rotação e acumulação. Funções de ativação (ReLU, sigmoide): é necessária uma aproximação polinomial. ReLU: aproxime com um polinômio de Chebyshev de grau 7. Perda de precisão: aproximadamente 0,1-1% em comparação com a inferência em texto claro.
Exemplo de inferência privada
O hospital criptografa os dados do paciente com sua chave pública CKKS. A nuvem executa uma rede neural de diagnóstico sobre os dados criptografados usando operações CKKS. Ela retorna uma previsão criptografada. O hospital a descriptografa com a chave privada. A nuvem nunca vê os dados do paciente nem o diagnóstico em texto claro.
Parâmetros do CKKS
Recomendação do HEAAN/OpenFHE: n=2^15 (32768) para circuitos profundos de aprendizado de máquina. Cadeia de módulos: Q inicial ≈ 2^1500 para 30 níveis de multiplicação com Δ=2^50. Segurança: 128 bits, supondo que o CKKS com esses parâmetros seja tão difícil quanto o RLWE. Memória: texto cifrado de aproximadamente 1 MB.
Reinicialização no CKKS
A reinicialização do CKKS (Cheon et al., 2018) avalia homomorficamente a redução modular para atualizar o texto cifrado. Complexidade: avaliar a função seno (por meio de uma aproximação polinomial) sobre números complexos. Permite profundidade ilimitada do circuito, a aproximadamente 30 segundos por reinicialização.
Comparação: CKKS versus BFV
BFV: inteiros exatos, textos claros inteiros e nenhuma perda de precisão. CKKS: números reais/complexos aproximados, textos claros de ponto flutuante e precisão que diminui com a profundidade. Use BFV para: bancos de dados, consultas e computação exata. Use CKKS para: aprendizado de máquina, estatísticas e computação científica.
Bibliotecas
HEAAN (CKKS original, Universidade Nacional de Seul). Microsoft SEAL (CKKS + BFV). OpenFHE (CKKS + BGV + BFV). Concrete-ML (Zama.ai, encapsula o OpenFHE para modelos do scikit-learn e PyTorch). TF-HE (experimentos de integração entre TensorFlow e HE).
Verificação rápida
Por que o CKKS é preferido ao BFV para a inferência de aprendizado de máquina?
Recapitulação
O CKKS é compatível com aritmética aproximada de números reais, ideal para inferência de aprendizado de máquina e estatísticas sobre dados criptografados. A reescala gerencia o fator de escala; aproximações polinomiais substituem as funções de ativação. Próximo: criptografia pós-quântica — os algoritmos de Shor e Grover.
Perguntas Frequentes
A aula “CKKS para aritmética aproximada e aprendizado de máquina” é grátis?
Sim — o texto completo de “CKKS para aritmética aproximada e aprendizado de máquina” é 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 “CKKS para aritmética aproximada e aprendizado de máquina”?
Aplique CKKS à inferência de aprendizado de máquina com preservação de privacidade. 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 4 de 4.
Quanto tempo leva a aula “CKKS para aritmética aproximada e aprendizado de máquina”?
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
- O que é encriptação homomórfica?
- Fundamentos de Learning With Errors (LWE)
- Esquemas BGV e BFV para operações com inteiros
- CKKS para aritmética aproximada e aprendizado de máquina