0Pricing
Cryptology Academy · Lección

Esquemas BGV y BFV para operaciones con enteros

Realice sumas y multiplicaciones de enteros cifrados mediante BGV.

Esquemas BGV y BFV para operaciones con enteros es una lección gratuita de Cryptology Academy en CoddyKit. Esta es la lección 3 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.

Descripción general de BGV

BGV (Brakerski-Gentry-Vaikuntanathan, 2012) es un esquema FHE por niveles basado en RLWE. Admite sumas y multiplicaciones arbitrarias sobre textos planos enteros empaquetados. «Por niveles» significa que admite circuitos de hasta una profundidad fija L sin bootstrapping.

Espacio de texto plano

BGV y BFV codifican los textos planos como polinomios en Z_t[x]/(x^n+1), donde t es un módulo pequeño del texto plano (por ejemplo, t=65537). Cada polinomio codifica n valores enteros, uno por coeficiente. La aritmética sobre los textos cifrados opera simultáneamente en los n valores, lo que proporciona paralelismo SIMD.

Gestión del ruido en BGV

BGV reduce el ruido mediante el cambio de módulo: después de cada multiplicación, el módulo q del texto cifrado se reduce de Q_L a Q_{L-1}. Esto divide el ruido por Q_L/Q_{L-1}, manteniéndolo dentro de los límites que permiten descifrar. La profundidad del circuito L corresponde a L niveles de módulo.

Descripción general de BFV

BFV (Brakerski/Fan-Vercauteren, 2012) es similar a BGV, pero utiliza una estrategia diferente de gestión del ruido: invariancia de escala. BFV no requiere un cambio de módulo; en su lugar, reescala el texto cifrado después de la multiplicación. Es más sencillo de implementar y se utiliza en Microsoft SEAL.

Codificación por lotes (ranuras NTT)

Mediante el teorema chino del resto sobre el anillo de texto plano, cada texto cifrado puede contener n/2 valores enteros independientes (ranuras). Una operación de suma de textos cifrados suma en paralelo los n/2 pares. Una multiplicación multiplica todos los pares. Rendimiento: n/2 operaciones enteras por operación de texto cifrado.

Relinealización de la multiplicación

Después de multiplicar dos textos cifrados de grado 1, el resultado tiene grado 2 (3 componentes). La relinealización utiliza claves de evaluación (relin keys) para volver a convertirlo en un texto de grado 1, a cambio de añadir ruido. Este paso es necesario después de cada multiplicación.

Ejemplo en Python con 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))

Rotación

La rotación del texto cifrado desplaza cíclicamente las n/2 ranuras del texto plano. Es útil para: reducción mediante suma (acumular todas las ranuras en una), multiplicación matriz-vector (rotar y acumular) y convoluciones (desplazar y multiplicar). Requiere claves de Galois (claves de rotación precalculadas).

Rendimiento

BFV con n=8192: suma ~10 µs, multiplicación ~5 ms (con relinealización). Bootstrapping (si es necesario): 30-60 segundos. Lote de 4096 enteros: ~1 µs amortizado por entero y multiplicación. Es inviable para tiempo real, pero viable para análisis sin conexión.

Selección de parámetros

Para elegir n y q: SEAL recomienda n=4096 para una seguridad de 128 bits con Q < 2^109; n=8192 para circuitos más grandes. El estándar de HE (homomorphicencryption.org) proporciona tablas de parámetros. Utilice siempre los parámetros recomendados: las elecciones personalizadas pueden poner en peligro fácilmente la seguridad.

Casos de uso

Consultas a bases de datos cifradas (buscar registros cifrados sin descifrarlos). Análisis genómico privado (calcular estadísticas sobre ADN cifrado). Agregaciones financieras cifradas (sumar saldos de cuentas cifrados sin ver los datos individuales). Evaluación segura de modelos.

Comprobación rápida

¿Qué técnica utiliza BGV para gestionar el crecimiento del ruido después de las multiplicaciones?

Resumen

BGV y BFV realizan aritmética entera cifrada mediante RLWE. La codificación por lotes proporciona paralelismo SIMD. BGV utiliza el cambio de módulo; BFV utiliza la invariancia de escala. La relinealización restaura el grado después de la multiplicación. Siguiente: CKKS para aritmética aproximada y ML.

Preguntas frecuentes

¿La lección «Esquemas BGV y BFV para operaciones con enteros» es gratis?

Sí — el texto completo de «Esquemas BGV y BFV para operaciones con enteros» 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 «Esquemas BGV y BFV para operaciones con enteros»?

Realice sumas y multiplicaciones de enteros cifrados mediante BGV. 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 3 de 4.

¿Cuánto tiempo toma la lección «Esquemas BGV y BFV para operaciones con enteros»?

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