Firmar RSA

El documento llamado "Multiuser Cryptographic Techniques." por Diffie y Hellman, introduce un nuevo enfoque de la criptografía y desafió a los criptólogos a elaborar un algoritmo criptográfico que cumpliera los requisitos de los sistemas de clave pública. Una de las respuestas al desafío fue desarrollada en 1977 por Ron Rivest, Adi Shamir y Len Adleman en el MIT y publicada por primera vez en 1978. Desde entonces, el esquema de Rivest-Shamir-Adleman (RSA) ha reinado como el enfoque de uso general más ampliamente aceptado e implementado para el cifrado de clave pública.

A continuación se muestra como el cifrado puede ser usado para realizar firmas digitales


Generación de firma

Bob desea firmar un mensaje :

  1. Bob selecciona dos números primos grandes distintos y y los multiplica para formar .
  2. Bob también elige un exponente de cifrado tal que .
  3. Bob calcula tal que
  4. Bob hace público el par de valores y mantiene privados .
  5. Bob firma el mensaje con
  6. Bob hace público el par de valores .

Verificar firma

Alice puede verificar que Bob realmente firmo el mensaje con el siguiente procedimiento:

  1. Alice recibe el par de valores
  2. Calcula , sí , entonces Alice puede decir que Bob realmente firmo el mensaje, de lo contrario la firma no es válida.

Por ejemplo:

AliceBob
p = 3, q = 11 -> n = 33
e = 3
d ≡ e-1 ≡ 7 mod (3-1)(11-1)
<--- (33 , 3)
m = 4
y = 47 ≡ 16 mod 33
<--- (4 , 16)
x' = 163 ≡ 4 mod 33
x' ≡ x mod 33 ---> VALIDO


Referencias

  1. Trappe, W., Washington, L. (2006). The RSA Algorithm. En Introduction to Cryptography with Coding Theory(164-169). United States of America: Prentice Hall.