Red de conocimiento informático - Problemas con los teléfonos móviles - Prueba del algoritmo de cifrado y descifrado RSA

Prueba del algoritmo de cifrado y descifrado RSA

1. Elija dos números primos p y q

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