0Pricing
Cryptology Academy · Lección

CKKS para aritmética aproximada y aprendizaje automático

Aplique CKKS a la inferencia de aprendizaje automático con preservación de la privacidad.

CKKS para aritmética aproximada y aprendizaje automático es una lección gratuita de Cryptology Academy en CoddyKit. Esta es la lección 4 de 4. Puedes leer la lección completa abajo gratuitamente — luego la practicas en el navegador con un editor de código integrado y un tutor de IA 24/7. Forma parte de la ruta de aprendizaje de Cryptology Academy, y tu progreso se sincroniza en la web y la app de CoddyKit. El curso de Cryptology Academy incluye 4 lecciones en total.

¿Por qué CKKS?

BGV/BFV funcionan con enteros (aritmética exacta). El aprendizaje automático utiliza números de coma flotante (aritmética aproximada). CKKS (Cheon-Kim-Kim-Song, 2017) codifica números reales y complejos, y permite una pérdida de precisión controlada, lo que resulta ideal para la inferencia de ML y el análisis de datos.

Aritmética aproximada

CKKS trata el ruido como parte de la precisión de la codificación. En lugar de eliminar el ruido (corrigiendo errores), CKKS considera el resultado una aproximación con límites de precisión garantizados. Esta compensación permite un HE mucho más eficiente para cálculos con valores continuos.

Codificación de números reales

CKKS codifica un vector de números complejos como un polinomio: un vector (z_0, ..., z_{n/2-1}) se transforma mediante la FFT inversa en un polinomio de R. El factor de escala Δ (por ejemplo, 2^40) convierte los valores de coma flotante en enteros. Hay n/2 ranuras reales por texto cifrado.

Reescalado

Después de la multiplicación, el factor de escala se duplica: Δ^2. CKKS introduce una operación de reescalado: divide por Δ para restablecer una única escala. Esto también reduce el nivel del módulo del texto cifrado, como el cambio de módulo de BGV, y mantiene el texto cifrado bajo control.

Análisis de precisión

Cada multiplicación consume un nivel de módulo y reduce la precisión en ~log2(Δ) bits. Para un circuito de profundidad L con un factor de escala Δ = 2^40, la pérdida total de precisión es ≈ L*40 bits. Elija un módulo inicial Q suficientemente grande para cubrir este presupuesto de precisión.

Inferencia de ML con CKKS

Capas lineales (multiplicación matriz-vector): eficientes, mediante rotación y acumulación. Funciones de activación (ReLU, sigmoid): requieren una aproximación polinómica. ReLU: aproximación mediante un polinomio de Chebyshev de grado 7. Pérdida de precisión: ~0.1-1% frente a la inferencia sobre texto plano.

Ejemplo de inferencia privada

El hospital cifra los datos del paciente con su clave pública de CKKS. La nube ejecuta una red neuronal de diagnóstico sobre los datos cifrados utilizando operaciones de CKKS. Devuelve la predicción cifrada. El hospital la descifra con la clave privada. La nube nunca ve los datos del paciente ni el diagnóstico en texto plano.

Parámetros de CKKS

Recomendación de HEAAN/OpenFHE: n=2^15 (32768) para circuitos de ML profundos. Cadena de módulos: Q inicial ≈ 2^1500 para 30 niveles de multiplicación con Δ=2^50. Seguridad: 128 bits, suponiendo que CKKS con estos parámetros es tan difícil como RLWE. Memoria: texto cifrado de ~1 MB.

Bootstrapping en CKKS

El bootstrapping de CKKS (Cheon et al., 2018) evalúa homomórficamente la reducción modular para refrescar el texto cifrado. Complejidad: evaluar la función seno (mediante una aproximación polinómica) sobre números complejos. Permite una profundidad de circuito ilimitada, con un coste aproximado de 30 segundos por bootstrapping.

Comparación: CKKS frente a BFV

BFV: enteros exactos, textos planos enteros, sin pérdida de precisión. CKKS: números reales/complejos aproximados, textos planos de coma flotante, la precisión disminuye con la profundidad. Utilice BFV para: bases de datos, consultas y cálculos exactos. Utilice CKKS para: ML, estadística y cálculo científico.

Bibliotecas

HEAAN (CKKS original, Universidad Nacional de Seúl). Microsoft SEAL (CKKS + BFV). OpenFHE (CKKS + BGV + BFV). Concrete-ML (Zama.ai, encapsula OpenFHE para modelos de scikit-learn y PyTorch). TF-HE (experimentos de integración entre TensorFlow y HE).

Comprobación rápida

¿Por qué se prefiere CKKS a BFV para la inferencia de aprendizaje automático?

Resumen

CKKS admite aritmética aproximada con números reales, ideal para la inferencia de ML y la estadística sobre datos cifrados. El reescalado gestiona el factor de escala; las aproximaciones polinómicas sustituyen a las funciones de activación. Siguiente: criptografía poscuántica: los algoritmos de Shor y Grover.

Preguntas frecuentes

¿La lección «CKKS para aritmética aproximada y aprendizaje automático» es gratis?

Sí — el texto completo de «CKKS para aritmética aproximada y aprendizaje automático» es gratis para leer aquí en la web. Para practicarla de forma interactiva (editor de código integrado y tutor de IA 24/7) y desbloquear el resto del curso de Cryptology Academy, actualiza a CoddyKit PRO. El curso de Cryptology Academy incluye 4 lecciones en total.

¿Qué aprenderé en «CKKS para aritmética aproximada y aprendizaje automático»?

Aplique CKKS a la inferencia de aprendizaje automático con preservación de la privacidad. Practicas Cryptology Academy con código real que ejecutas directamente en el navegador, y un tutor de IA 24/7 responde tus preguntas mientras trabajas en la lección.

¿Necesito experiencia previa para empezar Cryptology Academy?

No se requiere experiencia previa. Cryptology Academy en CoddyKit está estructurado para principiantes hasta estudiantes avanzados, así que puedes empezar aquí o desde el inicio y avanzar a tu ritmo. Esta es la lección 4 de 4.

¿Cuánto tiempo toma la lección «CKKS para aritmética aproximada y aprendizaje automático»?

La mayoría de las lecciones de CoddyKit toman alrededor de 5–10 minutos. Cada una es compacta e interactiva, así que avanzas constantemente y retomas exactamente por donde dejaste en la web y la app.

¿Puedo escribir y ejecutar código en esta lección de Cryptology Academy?

Sí. Cada lección de Cryptology Academy incluye un editor de código integrado, así que escribes y ejecutas código real directamente en tu navegador y obtienes retroalimentación instantánea de IA — sin configuración local necesaria.

Todas las lecciones de este curso

  1. ¿Qué es el cifrado homomórfico?
  2. Fundamentos de Learning With Errors (LWE)
  3. Esquemas BGV y BFV para operaciones con enteros
  4. CKKS para aritmética aproximada y aprendizaje automático
← Volver a Cryptology Academy