Articulo de referencia

Aprendizaje en anillo con errores

En criptografía postcuántica , el aprendizaje de anillos con errores ( RLWE ) es un problema computacional que sirve de base para nuevos algoritmos criptográficos , como NewHope...

En criptografía postcuántica , el aprendizaje de anillos con errores ( RLWE ) es un problema computacional que sirve de base para nuevos algoritmos criptográficos , como NewHope , diseñados para proteger contra el criptoanálisis mediante computadoras cuánticas y también para proporcionar la base del cifrado homomórfico . La criptografía de clave pública se basa en la construcción de problemas matemáticos que se consideran difíciles de resolver si no se dispone de información adicional, pero que son fáciles de resolver si se conoce alguna información utilizada en su construcción. Algunos problemas de este tipo que se utilizan actualmente en criptografía corren el riesgo de ser atacados si se logran construir computadoras cuánticas suficientemente grandes, por lo que se buscan problemas resistentes.

RLWE se denomina más propiamente aprendizaje con errores sobre anillos y es simplemente el problema de aprendizaje con errores (LWE) más grande especializado a anillos polinomiales sobre cuerpos finitos. [ 1 ] Debido a la supuesta dificultad de resolver el problema RLWE incluso en una computadora cuántica, la criptografía basada en RLWE puede formar la base fundamental para la criptografía de clave pública en el futuro, al igual que la factorización de enteros y el problema del logaritmo discreto han servido como base para la criptografía de clave pública desde principios de la década de 1980. [ 2 ] Una característica importante de basar la criptografía en el problema de aprendizaje con errores de anillos es el hecho de que la solución al problema RLWE se puede utilizar para resolver una versión del problema del vector más corto (SVP) en un retículo (se ha presentado una reducción en tiempo polinomial de este problema SVP al problema RLWE [ 1 ] ).

Fondo

La seguridad de la criptografía moderna, en particular la criptografía de clave pública , se basa en la supuesta intratabilidad de resolver ciertos problemas computacionales si el tamaño del problema es suficientemente grande y la instancia del problema a resolver se elige aleatoriamente. El ejemplo clásico que se ha utilizado desde la década de 1970 es el problema de la factorización de enteros . Se cree que es computacionalmente intratable factorizar el producto de dos números primos si estos son suficientemente grandes y se eligen al azar. [ 3 ] Hasta 2015, la investigación había llevado a la factorización del producto de dos primos de 384 bits, pero no del producto de dos primos de 512 bits. La factorización de enteros constituye la base del algoritmo criptográfico RSA , ampliamente utilizado.

El problema del aprendizaje de anillos con errores (RLWE) se basa en la aritmética de polinomios con coeficientes de un cuerpo finito . [ 1 ] Un polinomio típicoa(incógnita){\textstyle a(x)}se expresa como:

a(incógnita)=a0+a1incógnita+a2incógnita2++anorte2incógnitanorte2+anorte1incógnitanorte1{\displaystyle a(x)=a_{0}+a_{1}x+a_{2}x^{2}+\ldots +a_{n-2}x^{n-2}+a_{n-1}x^{n-1}}

Los polinomios se pueden sumar y multiplicar de la forma habitual. En el contexto de RLWE, los coeficientes de los polinomios y todas las operaciones que involucren esos coeficientes se realizarán en un campo finito, típicamente el campoZ/qZ=Fq{\textstyle \mathbf {Z} /q\mathbf {Z} =\mathbf {F} _{q}}para un número primo enteroq{\textstyle q}. El conjunto de polinomios sobre un cuerpo finito con las operaciones de suma y multiplicación forma un anillo de polinomios infinito (Fq[incógnita]{\textstyle \mathbf {F} _{q}[x]}). El contexto RLWE trabaja con un anillo cociente finito de este anillo infinito. El anillo cociente es típicamente el anillo cociente finito (factor) formado al reducir todos los polinomios enFq[incógnita]{\textstyle \mathbf {F} _{q}[x]}módulo un polinomio irreducibleΦ(incógnita){\textstyle \Phi (x)}Este anillo cociente finito se puede escribir comoFq[incógnita]/Φ(incógnita){\displaystyle \mathbf {F} _{q}[x]/\Phi (x)}aunque muchos autores escribenZq[incógnita]/Φ(incógnita){\displaystyle \mathbf {Z} _{q}[x]/\Phi (x)}. [ 1 ]

Si el grado del polinomioΦ(incógnita){\displaystyle \Phi (x)}esnorte{\textstyle n}, el anillo cociente se convierte en el anillo de polinomios de grado menor quenorte{\displaystyle n}móduloΦ(incógnita){\displaystyle \Phi (x)}con coeficientes deFq{\displaystyle F_{q}}. Los valoresnorte{\textstyle n},q{\textstyle q}, junto con el polinomioΦ(incógnita){\displaystyle \Phi (x)}definir parcialmente el contexto matemático para el problema RLWE.

Otro concepto necesario para el problema RLWE es la idea de polinomios "pequeños" con respecto a alguna norma. La norma típica utilizada en el problema RLWE se conoce como norma infinito (también llamada norma uniforme ). La norma infinito de un polinomio es simplemente el coeficiente más grande del polinomio cuando estos coeficientes se consideran enteros. Por lo tanto,||a(incógnita)||=b{\displaystyle ||a(x)||_{\infty }=b}establece que la norma infinito del polinomioa(incógnita){\displaystyle a(x)}esb{\displaystyle b}. De este modob{\displaystyle b}es el coeficiente más grande dea(incógnita){\displaystyle a(x)}.

El concepto final necesario para comprender el problema RLWE es la generación de polinomios aleatorios enFq[incógnita]/Φ(incógnita){\displaystyle \mathbf {F} _{q}[x]/\Phi (x)}y la generación de polinomios "pequeños". Un polinomio aleatorio se genera fácilmente simplemente muestreando aleatoriamente elnorte{\displaystyle n}coeficientes del polinomio deFq{\displaystyle \mathbf {F} _{q}}, dóndeFq{\displaystyle \mathbf {F} _{q}}se representa típicamente como el conjunto{(q1)/2,...,1,0,1,...,(q1)/2}{\displaystyle \{-(q-1)/2,...,-1,0,1,...,(q-1)/2\}}.

La generación aleatoria de un polinomio "pequeño" se realiza generando los coeficientes del polinomio a partir deFq{\displaystyle \mathbf {F} _{q}}de una manera que garantice coeficientes pequeños o los haga muy probables. Cuandoq{\displaystyle q}Si es un número primo, existen dos formas comunes de hacerlo:

  1. Utilizando muestreo uniforme: los coeficientes del polinomio pequeño se muestrean uniformemente a partir de un conjunto de coeficientes pequeños. Seab{\textstyle b}ser un número entero que sea mucho menor queq{\textstyle q}Si elegimos aleatoriamente coeficientes del conjunto:{b,b+1,b+2,,2,1,0,1,2,,b2,b1,b}{\textstyle \{-b,-b+1,-b+2,\ldots ,-2,-1,0,1,2,\ldots ,b-2,b-1,b\}}el polinomio será pequeño con respecto al límite (b{\textstyle b}).
  2. Utilizando muestreo gaussiano discreto – Para un valor impar deq{\textstyle q}, los coeficientes del polinomio se eligen aleatoriamente mediante muestreo del conjunto{(q1)/2,,(q1)/2}{\textstyle \{-(q-1)/2,\ldots ,(q-1)/2\}}según una distribución gaussiana discreta con media0{\displaystyle 0}y parámetro de distribuciónσ{\textstyle \sigma }Las referencias describen con todo detalle cómo se puede lograr esto. Es más complicado que el muestreo uniforme, pero permite demostrar la seguridad del algoritmo. El artículo "Sampling from Discrete Gaussians for Lattice-Based Cryptography on a Constrained Device" de Dwarakanath y Galbraith ofrece una visión general de este problema. [ 4 ]

El problema RLWE

El problema RLWE se puede plantear de dos maneras diferentes: una versión de "búsqueda" y una versión de "decisión". Ambas parten de la misma construcción. Sea

  • ai(incógnita){\displaystyle a_{i}(x)}sea ​​un conjunto de polinomios aleatorios pero conocidos deFq[incógnita]/Φ(incógnita){\displaystyle \mathbf {F} _{q}[x]/\Phi (x)}con coeficientes de todosFq{\displaystyle \mathbf {F} _{q}}.
  • mii(incógnita){\displaystyle e_{i}(x)}sea ​​un conjunto de polinomios pequeños, aleatorios y desconocidos con respecto a un límite.b{\displaystyle b}en el ringFq[incógnita]/Φ(incógnita){\displaystyle \mathbf {F} _{q}[x]/\Phi (x)}.
  • s(incógnita){\displaystyle s(x)}sea ​​un pequeño polinomio desconocido en relación con un límiteb{\displaystyle b}en el ringFq[incógnita]/Φ(incógnita){\displaystyle \mathbf {F} _{q}[x]/\Phi (x)}.
  • bi(incógnita)=(ai(incógnita)s(incógnita))+mii(incógnita){\displaystyle b_{i}(x)=(a_{i}(x)\cdot s(x))+e_{i}(x)}.

La versión de búsqueda implica encontrar el polinomio desconocido.s(incógnita){\displaystyle s(x)}dada la lista de pares de polinomios(ai(incógnita),bi(incógnita)){\displaystyle (a_{i}(x),b_{i}(x))}.

La versión de decisión del problema se puede plantear de la siguiente manera. Dada una lista de pares de polinomios(ai(incógnita),bi(incógnita)){\displaystyle (a_{i}(x),b_{i}(x))}determinar si elbi(incógnita){\displaystyle b_{i}(x)}Los polinomios se construyeron comobi(incógnita)=(ai(incógnita)s(incógnita))+mii(incógnita){\displaystyle b_{i}(x)=(a_{i}(x)\cdot s(x))+e_{i}(x)}o se generaron aleatoriamente a partir deFq[incógnita]/Φ(incógnita){\displaystyle \mathbf {F} _{q}[x]/\Phi (x)}con coeficientes de todosFq{\displaystyle \mathbf {F} _{q}}.

La dificultad de este problema está parametrizada por la elección del polinomio cociente (Φ(incógnita){\displaystyle \Phi (x)}), su grado (norte{\displaystyle n}), el campo (Fq{\displaystyle \mathbf {F} _{q}}), y el límite de pequeñez (b{\displaystyle b}). En muchos algoritmos de clave pública basados ​​en RLWE, la clave privada será un par de polinomios pequeños.s(incógnita){\displaystyle s(x)}ymi(incógnita){\displaystyle e(x)}La clave pública correspondiente será un par de polinomios.a(incógnita){\displaystyle a(x)}, seleccionado aleatoriamente deFq[incógnita]/Φ(incógnita){\displaystyle \mathbf {F} _{q}[x]/\Phi (x)}y el polinomiot(incógnita)=(a(incógnita)s(incógnita))+mi(incógnita){\displaystyle t(x)=(a(x)\cdot s(x))+e(x)}. Dadoa(incógnita){\displaystyle a(x)}yt(incógnita){\displaystyle t(x)}, debería ser computacionalmente inviable recuperar el polinomios(incógnita){\displaystyle s(x)}.

Reducción de seguridad

La dificultad de resolver la versión de búsqueda del problema RLWE es equivalente a encontrar un vector corto (pero no necesariamente el vector más corto) en una red ideal formada a partir de elementos deZ[incógnita]/Φ(incógnita){\displaystyle \mathbf {Z} [x]/\Phi (x)}representados como vectores enteros. [ 1 ] Este problema se conoce comúnmente como el Problema del Vector Más Corto Aproximado (α-SVP) y consiste en encontrar un vector más corto que α veces el vector más corto. Los autores de la demostración de esta equivalencia escriben:

"...damos una reducción cuántica desde SVP aproximado (en el peor de los casos) en redes ideales enR{\displaystyle \mathbf {R} }a la versión de búsqueda de ring-LWE, donde el objetivo es recuperar el secretosRq{\displaystyle s\in \mathbf {R} _{q}}(con alta probabilidad, para cualquiers{\displaystyle s}) de una cantidad arbitraria de productos ruidosos." [ 1 ]

En esa cita, El anilloR{\displaystyle \mathbf {R} }esZ[incógnita]/Φ(incógnita){\displaystyle \mathbf {Z} [x]/\Phi (x)}y el anilloRq{\displaystyle \mathbf {R} _{q}}esFq[incógnita]/Φ(incógnita){\displaystyle \mathbf {F} _{q}[x]/\Phi (x)}.

Se sabe que el α-SVP en retículos regulares es NP-difícil debido al trabajo de Daniele Micciancio en 2001, aunque no para los valores de α necesarios para una reducción al problema general de aprendizaje con errores. [ 5 ] Sin embargo, aún no hay una prueba que demuestre que la dificultad del α-SVP para retículos ideales sea equivalente a la del α-SVP promedio. Más bien, tenemos una prueba de que si hay alguna instancia de α-SVP que sea difícil de resolver en retículos ideales, entonces el problema RLWE será difícil en instancias aleatorias. [ 1 ]

Respecto a la dificultad de los problemas de vectores más cortos en retículos ideales, el investigador Michael Schneider escribe: «Hasta ahora no existe ningún algoritmo SVP que utilice la estructura especial de los retículos ideales. Se cree ampliamente que resolver SVP (y todos los demás problemas de retículos) en retículos ideales es tan difícil como en retículos regulares». [ 6 ] La dificultad de estos problemas en retículos regulares es demostrablemente NP-difícil . [ 5 ] Sin embargo, hay una minoría de investigadores que no creen que los retículos ideales compartan las mismas propiedades de seguridad que los retículos regulares. [ 7 ]

Peikert cree que estas equivalencias de seguridad hacen del problema RLWE una buena base para la criptografía futura. Escribe: «Hay una prueba matemática de que la única forma de romper el criptosistema (dentro de algún modelo de ataque formal) en sus instancias aleatorias es siendo capaz de resolver el problema de retículo subyacente en el peor de los casos» (énfasis en el original). [ 8 ]

Criptografía RLWE

Una ventaja importante de la criptografía basada en RLWE sobre la criptografía original basada en aprendizaje con errores (LWE) reside en el tamaño de las claves públicas y privadas. Las claves RLWE son aproximadamente la raíz cuadrada de las claves en LWE. [ 1 ] Para 128 bits de seguridad, un algoritmo criptográfico RLWE utilizaría claves públicas de alrededor de 7000 bits de longitud. [ 9 ] El esquema LWE correspondiente requeriría claves públicas de 49 millones de bits para el mismo nivel de seguridad. [ 1 ] Por otro lado, las claves RLWE son mayores que los tamaños de clave de los algoritmos de clave pública actualmente utilizados, como RSA y Diffie-Hellman de curva elíptica, que requieren tamaños de clave pública de 3072 bits y 256 bits, respectivamente, para lograr un nivel de seguridad de 128 bits. Sin embargo, desde un punto de vista computacional, se ha demostrado que los algoritmos RLWE son iguales o mejores que los sistemas de clave pública existentes. [ 10 ]

Existen tres grupos de algoritmos criptográficos RLWE:

Intercambio de claves de aprendizaje en anillo con errores (RLWE-KEX)

La idea fundamental de utilizar LWE y Ring LWE para el intercambio de claves fue propuesta y presentada en la Universidad de Cincinnati en 2011 por Jintai Ding. La idea básica se basa en la asociatividad de las multiplicaciones de matrices, y los errores se utilizan para proporcionar seguridad. El artículo [ 11 ] se publicó en 2012 tras la presentación de una solicitud de patente provisional ese mismo año.

En 2014, Peikert [ 12 ] presentó un esquema de transporte de claves que sigue la misma idea básica de Ding, donde también se utiliza la nueva idea de enviar una señal adicional de 1 bit para redondeo en la construcción de Ding. Posteriormente, Zhang et al. [ 13 ] publicaron una versión RLWE de la variante MQV clásica de un intercambio de claves Diffie-Hellman . La seguridad de ambos intercambios de claves está directamente relacionada con el problema de encontrar vectores cortos aproximados en una red ideal.

Aprendizaje en anillo con firma de errores (RLWE-SIG)

Lyubashevsky creó una versión RLWE del protocolo de identificación clásico Feige-Fiat-Shamir y la convirtió en una firma digital en 2011. [ 14 ] Los detalles de esta firma fueron ampliados en 2012 por Gunesyu, Lyubashevsky y Popplemann y publicados en su artículo "Criptografía práctica basada en retículos: un esquema de firma para sistemas embebidos". [ 15 ] Estos artículos sentaron las bases para una variedad de algoritmos de firma recientes, algunos basados ​​directamente en el problema de aprendizaje de anillos con errores y otros que no están vinculados a los mismos problemas difíciles de RLWE. [ 16 ]

Aprendizaje en anillo con cifrado homomórfico con errores (RLWE-HOM)

El cifrado homomórfico es un tipo de cifrado que permite realizar cálculos sobre datos cifrados sin necesidad de descifrarlos previamente. Su objetivo es permitir que los cálculos sobre datos sensibles se realicen en dispositivos informáticos que no deberían ser de confianza para el manejo de dichos datos. Estos dispositivos están autorizados a procesar el texto cifrado resultante del cifrado homomórfico. En 2011, Brakersky y Vaikuntanathan publicaron "Fully Homomorphic Encryption from Ring-LWE and Security for Key Dependent Messages", que desarrolla un esquema de cifrado homomórfico directamente sobre el problema RLWE. [ 17 ]

Referencias

  1. 1 2 3 4 5 6 7 8 9 Lyubashevsky, Vadim; Peikert, Chris; Regev, Oded (2012). "Sobre retículos ideales y aprendizaje con errores sobre anillos" . Cryptology ePrint Archive .
  2. Peikert, Chris (2014). «Criptografía reticular para Internet». En Mosca, Michele (ed.). Criptografía postcuántica . Lecture Notes in Computer Science. Vol. 8772. Springer International Publishing. pp. 197–219 . CiteSeerX 10.1.1.800.4743 . doi : 10.1007/978-3-319-11659-4_12 . ISBN    978-3-319-11658-7. S2CID 8123895 . 
  3. Shor, Peter (20 de noviembre de 1994). Algoritmos para computación cuántica: logaritmos discretos y factorización . 35.º Simposio Anual sobre Fundamentos de la Informática. Santa Fe: IEEE. doi : 10.1109/SFCS.1994.365700 . ISBN 0-8186-6580-7Este artículo presenta algoritmos de Las Vegas para calcular logaritmos discretos y factorizar números enteros en una computadora cuántica, con un número de pasos polinomial respecto al tamaño de la entrada, es decir, el número de dígitos del número entero a factorizar. Estos dos problemas se consideran generalmente difíciles de resolver en una computadora clásica y han servido de base para diversos sistemas criptográficos propuestos.
  4. Dwarakanath, Nagarjun C.; Galbraith, Steven D. (2014-03-18). "Muestreo de gaussianas discretas para criptografía basada en retículos en un dispositivo restringido". Applicable Algebra in Engineering, Communication and Computing . 25 (3): 159– 180. CiteSeerX 10.1.1.716.376 . doi : 10.1007/s00200-014-0218-3 . ISSN 0938-1279 . S2CID 13718364 .   
  5. 1 2 Micciancio, D. (1 de enero de 2001). "Es difícil aproximar el vector más corto en una red con una constante". SIAM Journal on Computing . 30 (6): 2008– 2035. CiteSeerX 10.1.1.93.6646 . doi : 10.1137/S0097539700373039 . ISSN 0097-5397 .  
  6. Schneider, Michael (2011). "Selección de vectores más cortos en retículos ideales" . Cryptology ePrint Archive .
  7. "cr.yp.to: 13/02/2014: Un ataque de logaritmo de subcampos contra retículos ideales" . blog.cr.yp.to. Consultado el 03/07/2015 .
  8. "¿Qué significa la "historia de advertencia" del GCHQ para la criptografía reticular?" . www.eecs.umich.edu . Archivado del original el 17-03-2016 . Consultado el 05-01-2016 .
  9. Singh, Vikram (2015). "Un intercambio de claves práctico para Internet utilizando criptografía reticular" . Cryptology ePrint Archive .
  10. ^ Verbauwhede, Ruan de Clercq, Sujoy Sinha Roy, Frederik Vercauteren, Ingrid (2014). "Implementación de software eficiente del cifrado Ring-LWE" . Archivo ePrint de criptología .{{cite journal}}: CS1 maint: varios nombres: lista de autores ( enlace )
  11. Ding, Jintai; Xie, Xiang; Lin, Xiaodong (2012-01-01). "Un esquema de intercambio de claves simple y demostrablemente seguro basado en el problema del aprendizaje con errores" . Cryptology ePrint Archive .
  12. Peikert, Chris (2014-01-01). "Criptografía reticular para Internet" . Cryptology ePrint Archive .
  13. Zhang, Jiang; Zhang, Zhenfeng; Ding, Jintai; Snook, Michael; Dagdelen, Özgür (2014). "Intercambio de claves autenticado a partir de retículos ideales" . Cryptology ePrint Archive .
  14. Lyubashevsky, Vadim (2011). "Firmas reticulares sin puertas traseras" . Cryptology ePrint Archive .
  15. Güneysu, Tim; Lyubashevsky, Vadim; Pöppelmann, Thomas (2012). Prouff, Emmanuel; Schaumont, Patrick (eds.). Criptografía práctica basada en retículos: un esquema de firma para sistemas embebidos . Lecture Notes in Computer Science. Springer Berlin Heidelberg. pp. 530–547 . doi : 10.1007/978-3-642-33027-8_31 . ISBN  978-3-642-33026-1.
  16. "Esquema de firma BLISS" . bliss.di.ens.fr . Consultado el 4 de julio de 2015 .
  17. Brakerski, Zvika; Vaikuntanathan, Vinod (2011). Rogaway, Phillip (ed.). Cifrado totalmente homomórfico a partir de Ring-LWE y seguridad para mensajes dependientes de clave . Lecture Notes in Computer Science. Springer Berlin Heidelberg. pp. 505–524 . doi : 10.1007/978-3-642-22792-9_29 . ISBN  978-3-642-22791-2.