En criptografía , el algoritmo de firma de Rabin es un método de firma digital publicado originalmente por Michael O. Rabin en 1979. [ 1 ] [ 2 ]
El algoritmo de firma de Rabin fue uno de los primeros esquemas de firma digital propuestos. Al utilizar una función de puerta trasera con un hash del mensaje en lugar del mensaje mismo, a diferencia de las propuestas anteriores de firmas basadas en hash de un solo uso o firmas basadas en puerta trasera sin hash, [ 3 ] [ 4 ] el de Rabin fue el primer diseño publicado que cumplió con lo que ahora es el estándar moderno de seguridad para firmas digitales para más de un mensaje: la infalsificación existencial bajo un ataque de mensaje elegido . [ 5 ]
Las firmas de Rabin se asemejan a las firmas RSA con exponente, pero esto conduce a diferencias cualitativas que permiten una implementación más eficiente [ 5 ] y una garantía de seguridad relativa a la dificultad de la factorización de enteros , [ 1 ] [ 2 ] [ 6 ] que no se ha demostrado para RSA . Sin embargo, las firmas de Rabin han tenido relativamente poco uso o estandarización fuera de IEEE P1363 [ 7 ] en comparación con esquemas de firma RSA como RSASSA-PKCS1-v1_5 y RSASSA-PSS .
Definición
El esquema de firma de Rabin está parametrizado por una función hash aleatoria.de un mensajey-cadena de aleatorización de bits.
- Clave pública
- Una clave pública es un par de números enteros.conyextraño.se elige arbitrariamente y puede ser una constante fija.
- Firma
- Una firma en un mensajees un parde uncadena de bitsy un número enterode tal manera que
- Clave privada
- La clave privada para una clave públicaes el secreto factorización prima imparde, elegidos uniformemente al azar de algún espacio grande de números primos.
- Firmar un mensaje
- Para hacer una firma en un mensajeUtilizando la clave privada, el firmante comienza eligiendo unacadena de bitsuniformemente al azar y calcula. Dejar. Sies un no residuo cuadrático módulo, el firmante comienza de nuevo con un número aleatorio independiente. [ 1 ] : pág. 10 De lo contrario, el firmante calculautilizando un algoritmo estándar para calcular raíces cuadradas módulo un número primo — eligiendolo hace más fácil. Las raíces cuadradas no son únicas, y las diferentes variantes del esquema de firma hacen diferentes elecciones de raíz cuadrada; [ 5 ] en cualquier caso, el firmante debe asegurarse de no revelar dos raíces diferentes para el mismo hash.. ysatisfacer las ecuaciones El firmante utiliza entonces el teorema chino del resto para resolver el sistema.para, de modo queSatisfacesegún sea necesario. El firmante revelacomo firma en.
- El número de ensayos paraantesse puede resolverse distribuye geométricamente con un promedio de alrededor de 4 ensayos, porque aproximadamente 1/4 de todos los enteros son residuos cuadráticos módulo.
Seguridad
Seguridad frente a cualquier adversario definida genéricamente en términos de una función hash.(es decir, la seguridad en el modelo de oráculo aleatorio ) se deriva de la dificultad de factorizarCualquier adversario con alta probabilidad de éxito en la falsificación puede, con una probabilidad casi igual de alta, encontrar dos raíces cuadradas distintas.yde un número entero aleatoriomódulo. Sientonceses un factor no trivial de, desdeentoncespero. [ 2 ] Formalizar la seguridad en términos modernos requiere completar algunos detalles adicionales, como el codominio de; si establecemos un tamaño estándarpara los factores primos,, entonces podríamos especificar. [ 6 ]
La aleatorización de la función hash se introdujo para permitir al firmante encontrar un residuo cuadrático, pero el hash aleatorio para firmas posteriormente se volvió relevante por derecho propio para teoremas de seguridad más estrictos [ 2 ] y resistencia a ataques de colisión en funciones hash fijas. [ 8 ] [ 9 ] [ 10 ]
Variantes
Eliminando b
La cantidaden la clave pública no agrega seguridad, ya que cualquier algoritmo para resolver congruenciasparadadoypuede usarse trivialmente como una subrutina en un algoritmo para calcular raíces cuadradas móduloy viceversa, por lo que las implementaciones pueden establecer de forma segurapor simplicidad;fue descartado por completo en los tratamientos después de la propuesta inicial. [ 11 ] [ 2 ] [ 7 ] [ 5 ] Después de eliminar, las ecuaciones parayen el algoritmo de firma se convierten en:
Rabin-Williams
El esquema de firmas de Rabin fue posteriormente modificado por Williams en 1980 [ 11 ] para elegiryy reemplazar una raíz cuadradamediante una raíz cuadrada modificada, cony, de modo que una firma en su lugar satisface que permite al firmante crear una firma en un solo intento sin sacrificar la seguridad. Esta variante se conoce como Rabin-Williams . [ 5 ] [ 7 ]
Otros
Otras variantes permiten encontrar un equilibrio entre el tamaño de la firma y la velocidad de verificación, la recuperación parcial del mensaje, la compresión de la firma (hasta la mitad de su tamaño) y la compresión de la clave pública (hasta un tercio de su tamaño), sin sacrificar la seguridad. [ 5 ]
Se han publicado variantes sin la función hash en libros de texto, [ 12 ] [ 13 ] atribuyéndole a Rabin el exponente 2 pero no el uso de una función hash. Estas variantes son trivialmente vulnerables ; por ejemplo, la firmaPuede ser falsificado por cualquiera como una firma válida en el mensaje.si la ecuación de verificación de firma esen lugar de.
En el artículo original, [ 1 ] la función hashfue escrito con la notación, con C para compresión y usando yuxtaposición para denotar concatenación deycomo cadenas de bits:
Por convención, cuando se desea firmar un mensaje determinado,, [el firmante]agrega como sufijo una palabrade una longitud acordada. La elección dese aleatoriza cada vez que se va a firmar un mensaje. El firmante ahora comprimemediante una función hash a una palabra, de modo que como un número binario…
Esta notación ha generado cierta confusión entre algunos autores posteriores que ignoraron laparte y malinterpretadopara significar multiplicación, dando la interpretación errónea de un esquema de firma trivialmente roto. [ 14 ]
Referencias
- 1 2 3 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.
- 1 2 3 4 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 ciencias de la computación. Vol. 1070. Zaragoza, España: Springer. págs. 399–416 . doi : 10.1007/3-540-68339-9_34 . ISBN 978-3-540-61186-8.
- ↑ Diffie, Whitfield ; Hellman, Martin (noviembre de 1976). "Nuevas direcciones en criptografía" (PDF) . IEEE Transactions on Information Theory . 22 (6). IEEE : 644–654 . Bibcode : 1976ITIT...22..644D . doi : 10.1109/TIT.1976.1055638 .
- ↑ Rivest, RL ; Shamir, A. Shamir ; Adleman, L. (febrero de 1978). Graham, SL; Rivest, RL ; Manacher, GK (eds.). "Un método para obtener firmas digitales y criptosistemas de clave pública" . Communications of the ACM . 21 (2). ACM : 120–126 . doi : 10.1145/359340.359342 .
- 1 2 3 4 5 6 Bernstein, Daniel J. (31 de enero de 2008). Firmas RSA y firmas Rabin-Williams: estado del arte (Informe).(Información adicional en https://cr.yp.to/sigs.html )
- 1 2 Bernstein, Daniel J. (abril de 2008). Smart, Nigel (ed.). Demostración de seguridad estricta para firmas Rabin-Williams . Avances en criptología – EUROCRYPT 2008. Notas de clase en ciencias de la computación. Vol. 4965. Estambul, Turquía: Springer. págs. 70–87 . doi : 10.1007/978-3-540-78967-3_5 . ISBN 978-3-540-78966-6.
- 1 2 3 Especificaciones estándar IEEE para criptografía de clave pública . IEEE Std 1363-2000. Instituto de Ingenieros Eléctricos y Electrónicos. 25 de agosto de 2000. doi : 10.1109/IEEESTD.2000.92292 . ISBN 0-7381-1956-3.
- ↑ Bellare, Mihir ; Rogaway, Phillip (agosto de 1998). Presentación a IEEE P1393—PSS: Método de codificación demostrablemente seguro para firmas digitales (PDF) (Informe). Archivado del original (PDF) el 13 de julio de 2004.
- ↑ Halevi, Shai ; Krawczyk, Hugo (agosto de 2006). Dwork, Cynthia (ed.). Fortalecimiento de firmas digitales mediante hash aleatorio (PDF) . Avances en criptología – CRYPTO 2006. Notas de clase en ciencias de la computación. Vol. 4117. Santa Bárbara, CA, Estados Unidos: Springer. págs. 41–59 . doi : 10.1007/11818175_3 . Archivado del original (PDF) el 19 de marzo de 2022.
- ↑ Dang, Quynh (febrero de 2009). Hashing aleatorio para firmas digitales (Informe). Publicación especial del NIST. Vol. 800–106 . Departamento de Comercio de los Estados Unidos, Instituto Nacional de Estándares y Tecnología . doi : 10.6028/NIST.SP.800-106 .
- 1 2 Williams, Hugh C. "Una modificación del procedimiento de cifrado de clave pública RSA" . IEEE Transactions on Information Theory . 26 (6): 726– 729. doi : 10.1109/TIT.1980.1056264 . ISSN 0018-9448 .
- ↑ Menezes, Alfred J .; van Oorschot, Paul C .; Vanstone, Scott A. (octubre de 1996). «§11.3.4: El esquema de firma de clave pública de Rabin» (PDF) . Manual de criptografía aplicada . CRC Press. págs. 438–442 . ISBN 0-8493-8523-7.
- ↑ 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.
- ^ Elia, Michele; Schipani, David (2011). Sobre la firma de Rabin (PDF) . Taller de Seguridad Computacional. Centro de Recerca Matemática, Barcelona, España.
Enlaces externos
- Firmas de Rabin-Williams en cr.yp.to
- esquemas de firma digital