Cryptology Academy · Lección

NTRU: historia, diseño y seguridad

Estudie la estructura de anillo polinómico de NTRU, su generación de claves y su amplio historial de seguridad.

Lección 2 de 413 pasos

NTRU: historia, diseño y seguridad es una lección gratuita de Cryptology Academy en CoddyKit. Esta es la lección 2 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.

Orígenes de NTRU

NTRU fue inventado por Hoffstein, Pipher y Silverman en 1996, lo que lo convierte en uno de los sistemas de clave pública poscuánticos más antiguos que aún se consideran seguros. A diferencia de RSA y ECC, que se basan en la dificultad de problemas de teoría de números, la seguridad de NTRU se basa en la dificultad de encontrar vectores cortos en un retículo específico derivado de anillos de polinomios. NTRU se comercializó y se implementó en varios productos de seguridad antes de que la criptografía poscuántica se generalizara.

El anillo de polinomios de NTRU

NTRU opera en el anillo de polinomios truncado Z[X]/(X^N - 1), donde N es primo. Los polinomios de este anillo tienen un grado como máximo N-1 y la multiplicación se realiza de forma circular (convolución). La elección del anillo y la estructura de los polinomios con coeficientes pequeños son fundamentales tanto para la eficiencia de NTRU como para sus propiedades de seguridad.

Generación de claves de NTRU

La generación de claves selecciona dos polinomios pequeños f y g con coeficientes en {-1, 0, 1}. El polinomio f debe ser invertible tanto módulo p (primo pequeño, normalmente 3) como módulo q (primo mayor, normalmente 2048). La clave pública es h = f_q^{-1} * g mod q, donde f_q es la inversa de f módulo q. La clave privada es el par (f, g).

Cifrado NTRU

Para cifrar un polinomio de mensaje m con coeficientes pequeños, el remitente elige un polinomio pequeño aleatorio de enmascaramiento r y calcula c = r * h + m mod q. El texto cifrado c es un polinomio del mismo anillo. El valor aleatorio r impide que dos cifrados del mismo mensaje parezcan idénticos, lo que proporciona seguridad semántica.

Descifrado NTRU

El descifrado calcula a = f * c mod q, seleccionando los coeficientes en el intervalo (-q/2, q/2]. Después, a mod p recupera f_p * m mod p, y multiplicar por fp = f^{-1} mod p da como resultado m. La estructura del error pequeño garantiza que los coeficientes de f * c sean lo bastante pequeños para que las operaciones mod q y mod p interactúen correctamente y recuperen el mensaje sin fallos por ruido.

Conjuntos de parámetros de NTRU

NTRU moderno tiene dos familias de parámetros estandarizadas: NTRU-HPS (Hoffstein-Pipher-Silverman) y NTRU-HRSS (Hulsing-Rijneveld-Schanck-Schwabe). NTRU-HPS utiliza polinomios de mensaje ternarios, mientras que NTRU-HRSS utiliza una codificación aleatorizada para obtener mejores tasas de fallo en el descifrado. Ambas fueron finalistas de la tercera ronda de NIST PQC, con conjuntos de parámetros orientados a una seguridad de 128, 192 y 256 bits.

Análisis de seguridad de NTRU

No se conoce ningún ataque en tiempo polinómico contra NTRU parametrizado correctamente. Los mejores ataques se reducen a encontrar un vector corto en un retículo NTRU, lo que constituye una instancia del problema SVP aproximado. El retículo NTRU tiene una estructura específica, con bloques circulantes, que hace que sea ligeramente más fácil atacarlo que un retículo aleatorio; por ello, los parámetros se eligen con un margen de seguridad que tiene en cuenta esta estructura.

Historia de las patentes de NTRU

NTRU estuvo ampliamente protegido mediante patentes por NTRU Cryptosystems Inc. (posteriormente Security Innovation). Las patentes originales se solicitaron en 1996 y 1998. Esta protección mediante patentes obstaculizó durante dos décadas la adopción generalizada y las implementaciones de código abierto. Las patentes principales de NTRU expiraron alrededor de 2017, después de lo cual proliferaron las implementaciones abiertas y NTRU entró en la competición de estandarización NIST PQC.

NTRU en la tercera ronda de NIST PQC

NTRU fue finalista de la tercera ronda de la competición NIST PQC junto con Kyber, Classic McEliece y SABER. NIST finalmente eligió Kyber (ML-KEM) como el estándar principal de KEM, citando su análisis de seguridad más sencillo y su diseño más limpio. NTRU no se estandarizó, pero sigue siendo una alternativa viable, y su análisis contribuyó a comprender la seguridad de los retículos.

NTRUPrime: una variante más limpia

NTRUPrime, desarrollado por Bernstein, Chuengsatiansup, Lange y van Vredendaal, elimina deliberadamente la estructura de anillo X^N - 1 y la sustituye por X^N - X - 1, un polinomio de grado primo. Esto elimina posibles debilidades derivadas de la estructura de anillo cíclico que algunos criptoanalistas creen que podrían explotarse. NTRUPrime también fue un candidato alternativo de NIST PQC.

NTRU frente a esquemas basados en LWE

NTRU es anterior a los esquemas basados en LWE y no cuenta con una reducción formal de dificultad del peor caso como la reducción de LWE de Regev. Sin embargo, NTRU ofrece una generación de claves más rápida y tamaños de texto cifrado menores que muchos esquemas LWE con niveles de seguridad equivalentes. La contrapartida es una base de seguridad menos formal, que depende de décadas de experiencia criptoanalítica en lugar de una demostración de reducción.

Cuestionario sobre la estructura de claves de NTRU

En NTRU, ¿de qué se deriva la clave pública?

Repaso de la lección sobre NTRU

NTRU es un criptosistema pionero basado en retículos que utiliza operaciones aritméticas en anillos de polinomios. La generación de claves utiliza polinomios pequeños f y g, con la clave pública h = f^{-1}*g mod q. El cifrado utiliza un enmascaramiento aleatorio; el descifrado aprovecha la estructura de coeficientes pequeños de f. NTRU no tiene una reducción formal del peor caso, pero ha resistido décadas de criptoanálisis. Sus patentes expiraron en 2017 y fue finalista de la tercera ronda de NIST PQC.

Gratis para empezar

Aprende Cryptology Academy con un tutor de IA — gratis

Escribe y ejecuta código real en tu navegador, obtén ayuda instantánea de un tutor de IA disponible 24/7 y continúa donde lo dejaste en la web o en la aplicación.

Cursos
67
Lecciones
261

Preguntas frecuentes

¿La lección «NTRU: historia, diseño y seguridad» es gratis?

Sí — el texto completo de «NTRU: historia, diseño y seguridad» 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 «NTRU: historia, diseño y seguridad»?

Estudie la estructura de anillo polinómico de NTRU, su generación de claves y su amplio historial de seguridad. 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 2 de 4.

¿Cuánto tiempo toma la lección «NTRU: historia, diseño y seguridad»?

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. Learning With Errors: el problema difícil
  2. NTRU: historia, diseño y seguridad
  3. Ring-LWE y retículos modulares
  4. Pruebas de seguridad y reducciones en esquemas basados en retículos
← Volver a Cryptology Academy