Articulo de referencia

Criptosistema Rabin

El criptosistema Rabin es una familia de esquemas de cifrado de clave pública basados ​​en una función de puerta trasera cuya seguridad, al igual que la de RSA , está relacionad...

El criptosistema Rabin es una familia de esquemas de cifrado de clave pública basados ​​en una función de puerta trasera cuya seguridad, al igual que la de RSA , está relacionada con la dificultad de la factorización de enteros . [ 1 ] [ 2 ]

La función de puerta trasera de Rabin tiene la ventaja de que se ha demostrado matemáticamente que invertirla es tan difícil como factorizar números enteros, mientras que no se conoce ninguna prueba similar para la función de puerta trasera RSA. Tiene la desventaja de que cada salida de la función de Rabin puede generarse a partir de cualquiera de las cuatro entradas posibles; si cada salida es un texto cifrado, se requiere una complejidad adicional en el descifrado para identificar cuál de las cuatro entradas posibles era el texto plano verdadero. Los intentos ingenuos de sortear esto a menudo permiten un ataque de texto cifrado elegido para recuperar la clave secreta o, al codificar redundancia en el espacio del texto plano, invalidan la prueba de seguridad en relación con la factorización. [ 1 ]

Los esquemas de cifrado de clave pública basados ​​en la función de puerta trasera de Rabin se utilizan principalmente como ejemplos en los libros de texto. En cambio, RSA es la base de esquemas de cifrado de clave pública estándar como RSAES-PKCS1-v1_5 y RSAES-OAEP, que se utilizan ampliamente en la práctica.

Historia

La función de puerta trasera de Rabin fue publicada por primera vez como parte del esquema de firma de Rabin en 1978 por Michael O. Rabin . [ 3 ] [ 4 ] [ 5 ] El esquema de firma de Rabin fue el primer esquema de firma digital donde se pudo demostrar que falsificar una firma era tan difícil como factorizar.

La función de puerta trasera fue posteriormente reutilizada en libros de texto como ejemplo de un esquema de cifrado de clave pública , [ 6 ] [ 7 ] [ 1 ] que llegó a conocerse como el criptosistema de Rabin, aunque Rabin nunca lo publicó como un esquema de cifrado.

Algoritmo

Como todos los criptosistemas asimétricos, el sistema Rabin utiliza un par de claves: una clave pública para el cifrado y una clave privada para el descifrado. La clave pública se publica para que cualquiera pueda usarla, mientras que la clave privada solo la conoce el destinatario del mensaje.

Generación de claves

Las claves para el criptosistema Rabin se generan de la siguiente manera:

  1. Elige dos números primos grandes y distintos.pag{\displaystyle p}yq{\displaystyle q}de tal manera quepag3mod4{\displaystyle p\equiv 3{\bmod {4}}}yq3mod4{\displaystyle q\equiv 3{\bmod {4}}}.
  2. Calcularnorte=pagq{\displaystyle n=pq}.

Entoncesnorte{\displaystyle n}es la clave pública y el par(pag,q){\displaystyle (p,q)}es la clave privada.

Cifrado

Un mensajeMETRO{\displaystyle M}se puede cifrar convirtiéndolo primero en un númerometro<norte{\displaystyle m<n}utilizando un mapeo reversible y luego calculandodo=metro2modnorte{\displaystyle c=m^{2}{\bmod {n}}}El texto cifrado esdo{\displaystyle c}.

Descifrado

El mensajemetro{\displaystyle m}se puede recuperar del texto cifradodo{\displaystyle c}tomando su raíz cuadrada módulonorte{\displaystyle n}como sigue.

  1. Calcula la raíz cuadrada dedo{\displaystyle c}módulopag{\displaystyle p}yq{\displaystyle q}utilizando estas fórmulas:
    metropag=do14(pag+1)modpagmetroq=do14(q+1)modq{\displaystyle {\begin{aligned}m_{p}&=c^{{\frac {1}{4}}(p+1)}{\bmod {p}}\\m_{q}&=c^{{\frac {1}{4}}(q+1)}{\bmod {q}}\end{aligned}}}
  2. Utilice el algoritmo euclidiano extendido para encontrarypag{\displaystyle y_{p}}yyq{\displaystyle y_{q}}de tal manera queypagpag+yqq=1{\displaystyle y_{p}\cdot p+y_{q}\cdot q=1}.
  3. Utilice el teorema chino del resto para hallar las cuatro raíces cuadradas dedo{\displaystyle c}módulonorte{\displaystyle n}:
    r1=(ypagpagmetroq+yqqmetropag)modnorter2=norter1r3=(ypagpagmetroqyqqmetropag)modnorter4=norter3{\displaystyle {\begin{aligned}r_{1}&=\left(y_{p}\cdot p\cdot m_{q}+y_{q}\cdot q\cdot m_{p}\right){\bmod {n}}\\r_{2}&=n-r_{1}\\r_{3}&=\left(y_{p}\cdot p\cdot m_{q}-y_{q}\cdot q\cdot m_{p}\right){\bmod {n}}\\r_{4}&=n-r_{3}\end{aligned}}}

Uno de estos cuatro valores es el texto plano original.metro{\displaystyle m}, aunque no se puede determinar cuál de las cuatro es la correcta sin información adicional.

Cálculo de raíces cuadradas

Podemos demostrar que las fórmulas del paso 1 anterior producen realmente las raíces cuadradas dedo{\displaystyle c}de la siguiente manera. Para la primera fórmula, queremos demostrar quemetropag2domodpag{\displaystyle m_{p}^{2}\equiv c{\bmod {p}}}. Desdepag3mod4,{\displaystyle p\equiv 3{\bmod {4}},}el exponente14(pag+1){\estilo de texto {\frac {1}{4}}(p+1)}es un número entero. La demostración es trivial sido0modpag{\displaystyle c\equiv 0{\bmod {p}}}, por lo que podemos suponer quepag{\displaystyle p}no dividedo{\displaystyle c}. Tenga en cuenta quedometro2modpagq{\displaystyle c\equiv m^{2}{\bmod {pq}}}implica quedometro2modpag{\displaystyle c\equiv m^{2}{\bmod {p}}}, por lo tanto, c es un residuo cuadrático módulopag{\displaystyle p}. Entonces

metropag2do12(pag+1)dodo12(pag1)do1modpag{\displaystyle m_{p}^{2}\equiv c^{{\frac {1}{2}}(p+1)}\equiv c\cdot c^{{\frac {1}{2}}(p-1)}\equiv c\cdot 1\mod p}

El último paso se justifica por el criterio de Euler .

Ejemplo

Como ejemplo, tomemospag=7{\displaystyle p=7}yq=11{\displaystyle q=11}, entoncesnorte=77{\displaystyle n=77}. Llevarmetro=20{\displaystyle m=20}como nuestro texto plano. El texto cifrado es, por lo tanto, do=metro2modnorte=400mod77=15{\displaystyle c=m^{2}{\bmod {n}}=400{\bmod {77}}=15}.

El proceso de descifrado se lleva a cabo de la siguiente manera:

  1. Calcularmetropag=do14(pag+1)modpag=152mod7=1{\displaystyle m_{p}=c^{{\frac {1}{4}}(p+1)}{\bmod {p}}=15^{2}{\bmod {7}}=1}ymetroq=do14(q+1)modq=153mod11=9{\displaystyle m_{q}=c^{{\frac {1}{4}}(q+1)}{\bmod {q}}=15^{3}{\bmod {11}}=9}.
  2. Utilice el algoritmo euclidiano extendido para calcularypag=3{\displaystyle y_{p}=-3}yyq=2{\displaystyle y_{q}=2}Podemos confirmar queypagpag+yqq=(37)+(211)=1{\displaystyle y_{p}\cdot p+y_{q}\cdot q=(-3\cdot 7)+(2\cdot 11)=1}.
  3. Calcula los cuatro candidatos de texto plano:
    r1=(379+2111)mod77=64r2=7764=13r3=(3792111)mod77=20r4=7720=57{\displaystyle {\begin{aligned}r_{1}&=(-3\cdot 7\cdot 9+2\cdot 11\cdot 1){\bmod {77}}=64\\r_{2}&=77-64=13\\r_{3}&=(-3\cdot 7\cdot 9-2\cdot 11\cdot 1){\bmod {77}}=\mathbf {20} \\r_{4}&=77-20=57\end{aligned}}}

y vemos quer3{\displaystyle r_{3}}es el texto plano deseado. Tenga en cuenta que los cuatro candidatos son raíces cuadradas de 15 mod 77. Es decir, para cada candidato,ri2mod77=15{\displaystyle r_{i}^{2}{\bmod {77}}=15}, así que cadari{\displaystyle r_{i}}cifra al mismo valor, 15.

Evaluación del algoritmo

Eficacia

El descifrado produce tres resultados falsos además del correcto, por lo que hay que adivinar el resultado correcto. Esta es la principal desventaja del criptosistema Rabin y uno de los factores que han impedido su uso práctico generalizado.

Si el texto plano pretende representar un mensaje de texto, adivinarlo no es difícil; sin embargo, si pretende representar un valor numérico, este problema debe resolverse mediante algún tipo de esquema de desambiguación. Es posible elegir textos planos con estructuras especiales o añadir relleno para eliminar este problema. Blum y Williams sugirieron una forma de eliminar la ambigüedad de la inversión: los dos números primos utilizados se restringen a primos congruentes con 3 módulo 4 y el dominio de la elevación al cuadrado se restringe al conjunto de residuos cuadráticos. Estas restricciones convierten la función de elevación al cuadrado en una permutación de puerta trasera , eliminando la ambigüedad. [ 8 ]

Eficiencia

Para el cifrado, se debe calcular un módulo cuadrado n . Esto es más eficiente que RSA , que requiere el cálculo de al menos un cubo.

Para el descifrado, se aplica el teorema chino del resto , junto con dos exponenciaciones modulares . En este caso, la eficiencia es comparable a la de RSA.

Seguridad

Se ha demostrado que cualquier algoritmo que encuentre uno de los posibles textos planos para cada texto cifrado encriptado por Rabin puede utilizarse para factorizar el módulo.norte{\displaystyle n}Por lo tanto, el descifrado Rabin para texto plano aleatorio es al menos tan difícil como el problema de factorización de enteros, algo que no se ha demostrado para RSA. Generalmente se cree que no existe un algoritmo de tiempo polinomial para la factorización, lo que implica que no existe un algoritmo eficiente para descifrar un valor cifrado Rabin aleatorio sin la clave privada.(pag,q){\displaystyle (p,q)}.

El criptosistema Rabin no ofrece indistinguibilidad frente a ataques de texto plano elegido, ya que el proceso de cifrado es determinista. Un adversario, dado un texto cifrado y un mensaje candidato, puede determinar fácilmente si el texto cifrado codifica o no el mensaje candidato (simplemente comprobando si al cifrar el mensaje candidato se obtiene el texto cifrado dado).

El criptosistema Rabin es inseguro frente a un ataque de texto cifrado elegido (incluso cuando los mensajes de desafío se eligen uniformemente al azar del espacio de mensajes). [ 6 ] : 214 Al añadir redundancias, por ejemplo, la repetición de los últimos 64 bits, se puede hacer que el sistema produzca una única raíz. Esto frustra este ataque específico de texto cifrado elegido, ya que el algoritmo de descifrado solo produce la raíz que el atacante ya conoce. Si se aplica esta técnica, la prueba de equivalencia con el problema de factorización falla, por lo que, a fecha de 2004, no se sabe con certeza si esta variante es segura. El Manual de Criptografía Aplicada de Menezes, Oorschot y Vanstone considera probable esta equivalencia, siempre que la búsqueda de las raíces siga siendo un proceso de dos partes (1. raícesmodpag{\displaystyle {\bmod {p}}}ymodq{\displaystyle {\bmod {q}}}y 2. aplicación del teorema chino del resto).

Véase también

Notas

  1. 1 2 3 Galbraith, Steven D. (2012). "§24.2: El criptosistema Rabin del libro de texto". Matemáticas de la criptografía de clave pública . Cambridge University Press. págs. 491–494 . ISBN  978-1-10701392-6.
  2. Bellaré, Mihir ; Goldwasser, Shafi (julio de 2008). "§2.3.4 La función candidata a la función trampilla cuadrante de Rabin". Notas de conferencias sobre criptografía (PDF) . págs. 29-32 . 
  3. Rabin, Michael O. (1978). «Firmas digitales». En DeMillo, Richard A .; Dobkin, David P .; Jones, Anita K .; Lipton, Richard J. (eds.). Fundamentos de la computación segura . Nueva York: Academic Press. pp. 155–168 . ISBN  0-12-210350-5.
  4. Rabin, Michael O. (enero de 1979). Firmas digitales y funciones de clave pública tan intratables como la factorización (PDF) (Informe técnico). Cambridge, MA, Estados Unidos: Laboratorio de Ciencias de la Computación del MIT. TR-212.
  5. Bellare, Mihir ; Rogaway, Phillip (mayo de 1996). Maurer, Ueli (ed.). La seguridad exacta de las firmas digitales: cómo firmar con RSA y Rabin . Avances en criptología – EUROCRYPT '96 . Notas de clase en informática. Vol. 1070. Zaragoza, España: Springer. pp. 399–416 . doi : 10.1007/3-540-68339-9_34 . ISBN   978-3-540-61186-8.
  6. 1 2 Stinson, Douglas (2006). "5.8". Criptografía: Teoría y práctica (3.ª ed.). Chapman & Hall/CRC. págs. 211–214 . ISBN   978-1-58488-508-5.
  7. Menezes, Alfred J .; van Oorschot, Paul C .; Vanstone, Scott A. (octubre de 1996). «§8.3: Cifrado de clave pública Rabin». Manual de criptografía aplicada (PDF) . CRC Press. págs. 292–294 . ISBN  0-8493-8523-7.
  8. Bellare, Mihir ; Goldwasser, Shafi (julio de 2008). "§2.3.5 Una permutación de cuadrado tan difícil de invertir como la factorización". Apuntes de clase sobre criptografía (PDF) . págs. 32–33 . 

Referencias

  • Buchmann, Johannes. Einführung in die Kryptographie . Segunda Edición. Berlín: Springer, 2001. ISBN 3-540-41283-2
  • Menezes, Alfred; van Oorschot, Paul C.; y Vanstone, Scott A. Manual de criptografía aplicada . CRC Press, octubre de 1996. ISBN 0-8493-8523-7
  • Rabin, Michael. Firmas digitales y funciones de clave pública tan intratables como la factorización (en PDF). Laboratorio de Ciencias de la Computación del MIT, enero de 1979.
  • Scott Lindhurst, Un análisis del algoritmo de Shank para calcular raíces cuadradas en campos finitos. en R Gupta y KS Williams, Proc 5th Conf Can Nr Theo Assoc, 1999, vol 19 CRM Proc & Lec Notes, AMS, agosto de 1999.
  • R. Kumanduri y C. Romero, Teoría de números con aplicaciones informáticas, Alg. 9.2.9, Prentice Hall, 1997. Una función probabilística para la raíz cuadrada de un residuo cuadrático módulo un número primo.
  • Menezes, Oorschot, Vanstone, Scott: Manual de criptografía aplicada (descargas gratuitas en PDF), véase el capítulo 8.