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:
- Elige dos números primos grandes y distintos.yde tal manera quey.
- Calcular.
Entonceses la clave pública y el pares la clave privada.
Cifrado
Un mensajese puede cifrar convirtiéndolo primero en un númeroutilizando un mapeo reversible y luego calculandoEl texto cifrado es.
Descifrado
El mensajese puede recuperar del texto cifradotomando su raíz cuadrada módulocomo sigue.
- Calcula la raíz cuadrada demóduloyutilizando estas fórmulas:
- Utilice el algoritmo euclidiano extendido para encontraryde tal manera que.
- Utilice el teorema chino del resto para hallar las cuatro raíces cuadradas demódulo:
Uno de estos cuatro valores es el texto plano original., 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 dede la siguiente manera. Para la primera fórmula, queremos demostrar que. Desdeel exponentees un número entero. La demostración es trivial si, por lo que podemos suponer queno divide. Tenga en cuenta queimplica que, por lo tanto, c es un residuo cuadrático módulo. Entonces
El último paso se justifica por el criterio de Euler .
Ejemplo
Como ejemplo, tomemosy, entonces. Llevarcomo nuestro texto plano. El texto cifrado es, por lo tanto, .
El proceso de descifrado se lleva a cabo de la siguiente manera:
- Calculary.
- Utilice el algoritmo euclidiano extendido para calcularyPodemos confirmar que.
- Calcula los cuatro candidatos de texto plano:
y vemos quees el texto plano deseado. Tenga en cuenta que los cuatro candidatos son raíces cuadradas de 15 mod 77. Es decir, para cada candidato,, así que cadacifra 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.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..
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ícesyy 2. aplicación del teorema chino del resto).
Véase también
Notas
- 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.
- ↑ 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 .
- ↑ 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.
- ↑ 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.
- ↑ 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.
- 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.
- ↑ 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.
- ↑ 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.
Enlaces externos
- Menezes, Oorschot, Vanstone, Scott: Manual de criptografía aplicada (descargas gratuitas en PDF), véase el capítulo 8.
- Esquemas de cifrado de clave pública