Prueba del algoritmo de cifrado y descifrado RSA
2. Suponga que n = p * q
3. Encuentre la función de Euler f = (p-1)*(q-1)
4. Encuentre un número aleatorio e que sea primo relativo con f en el rango [2, f) como índice de la clave pública
5. Calcule el índice de la clave privada clave d , que es el recíproco del módulo del índice de clave pública e y f, es decir, ed = kf + 1 (k es un entero positivo)
6. Encapsula (n, e) como una clave pública y (n, d) encapsulada como una clave privada
1. Sea m el número de cifrado y m es un entero no negativo menor que n
2 Calcula c = (m^e) % n, c es el texto cifrado
Calcula (c^d)%n es el número cifrado m, y (c^d)%n es el texto cifrado. La prueba es la siguiente.
Debido a que c=m^e - n*g, donde g es un entero no negativo,
entonces?(c^d)%n?= [? e - n*g) ^ d ]? % n
Expande el polinomio y elimina los múltiplos enteros de n para obtener
[( m^e )^d] % n
=[ m^(e*d) ] % n
=[?m^(k*f+1) ] % n
=[ m * m ^(k*f) ] % n
={ m * [ (m^f) ^ k] } % n
=[?%
A continuación se analizan tres casos:
El primer caso: m = 0 o m = 1
¿Y luego qué? { m * [ (m^f) ^ k] } % n = m