logo

Algoritmo de cifrado RSA

El algoritmo de cifrado RSA es un tipo de algoritmo de cifrado de clave pública. Para comprender mejor RSA, primero comprendamos qué es el algoritmo de cifrado de clave pública.

Algoritmo de cifrado de clave pública:

El algoritmo de cifrado de clave pública también se denomina algoritmo asimétrico. Los algoritmos asimétricos son aquellos algoritmos en los que el remitente y el receptor utilizan claves diferentes para el cifrado y descifrado. A cada remitente se le asigna un par de claves:

    Llave pública Llave privada

El Llave pública se utiliza para el cifrado y el Llave privada se utiliza para descifrar. El descifrado no se puede realizar utilizando una clave pública. Las dos claves están vinculadas, pero la clave privada no puede derivarse de la clave pública. La clave pública es bien conocida, pero la clave privada es secreta y sólo la conoce el usuario que posee la clave. Significa que todos pueden enviar un mensaje al usuario utilizando la clave pública del usuario. Pero sólo el usuario puede descifrar el mensaje utilizando su clave privada.

El algoritmo de clave pública funciona de la siguiente manera:

Algoritmo de cifrado RSA
  • Los datos a enviar están cifrados por el remitente. A utilizando la clave pública del receptor previsto
  • B descifra el texto cifrado recibido utilizando su clave privada, que sólo B conoce. B responde a A cifrando su mensaje utilizando la clave pública de A.
  • A descifra el texto cifrado recibido utilizando su clave privada, que sólo él conoce.

Algoritmo de cifrado RSA:

RSA es el algoritmo de clave pública más común y lleva el nombre de sus inventores. Rivest, Shamir y Adelman (RSA).

Algoritmo de cifrado RSA

El algoritmo RSA utiliza el siguiente procedimiento para generar claves públicas y privadas:

  • Seleccione dos números primos grandes, p y q .
  • Multiplica estos números para encontrar norte = p x q, dónde norte se llama módulo de cifrado y descifrado.
  • Elige un número Es menos que norte , tal que n es relativamente primo para (p - 1) x (q -1). Esto significa que Es y (p - 1) x (q - 1) no tienen ningún factor común excepto 1. Elija 'e' tal que 1 mcd (e,d(n)) =1
  • Si norte = p x q, entonces la clave pública es. Un mensaje de texto plano metro se cifra mediante clave pública. Para encontrar texto cifrado a partir del texto sin formato, se utiliza la siguiente fórmula para obtener el texto cifrado C.
    C = metroEscontra sustantivo, masculino—
    Aquí , metro debe ser menor que norte . Un mensaje más grande (>n) se trata como una concatenación de mensajes, cada uno de los cuales se cifra por separado.
  • Para determinar la clave privada, utilizamos la siguiente fórmula para calcular la d tal que:
    DEsmod {(p - 1) x (q - 1)} = 1
    O
    DEsmod φ (n) = 1
  • La clave privada es. Un mensaje de texto cifrado C se descifra utilizando una clave privada. Para calcular texto plano metro A partir del texto cifrado c, se utiliza la siguiente fórmula para obtener el texto sin formato m.
    metro = cdcontra sustantivo, masculino—

Tomemos un ejemplo de algoritmo de cifrado RSA:

Ejemplo 1:

Este ejemplo muestra cómo podemos cifrar texto sin formato 9 utilizando el algoritmo de cifrado de clave pública RSA. Este ejemplo utiliza los números primos 7 y 11 para generar las claves pública y privada.

Explicación:

Paso 1: Seleccione dos números primos grandes, p, y q .

pag = 7

q = 11

Paso 2: Multiplica estos números para encontrar norte = p x q, dónde norte se llama módulo de cifrado y descifrado.

Primero calculamos

n = p x q

norte = 7 x 11

norte = 77

Paso 3: Elige un número Es menos que norte , tal que n es relativamente primo para (p - 1) x (q -1). Esto significa que Es y (p - 1) x (q - 1) no tienen ningún factor común excepto 1. Elija 'e' tal que 1

En segundo lugar, calculamos

φ (n) = (p - 1) x (q-1)

φ (n) = (7 - 1) x (11 - 1)

φ (norte) = 6 x 10

φ(norte) = 60

Elijamos ahora el primo relativo e de 60 como 7.

Por tanto la clave pública es = (7, 77)

Etapa 4: Un mensaje de texto plano metro se cifra mediante clave pública. Para encontrar texto cifrado a partir del texto sin formato, se utiliza la siguiente fórmula para obtener el texto cifrado C.

Para encontrar texto cifrado a partir del texto sin formato, se utiliza la siguiente fórmula para obtener el texto cifrado C.

C = metroEscontra sustantivo, masculino—

C = 97contra 77

C = 37

Paso 5: La clave privada es. Para determinar la clave privada utilizamos la siguiente fórmula d tal que:

DEsmod {(p - 1) x (q - 1)} = 1

7d mod 60 = 1, lo que da d = 43

La clave privada es = (43, 77)

Paso 6: Un mensaje de texto cifrado C se descifra utilizando una clave privada. Para calcular texto plano metro A partir del texto cifrado c, se utiliza la siguiente fórmula para obtener el texto sin formato m.

metro = cdcontra sustantivo, masculino—

metro = 3743contra 77

metro = 9

En este ejemplo, texto sin formato = 9 y texto cifrado = 37

Ejemplo 2:

En un criptosistema RSA, una A particular utiliza dos números primos, 13 y 17, para generar las claves pública y privada. Si la clave pública de A es 35. Entonces la clave privada de A es ……………?.

Explicación:

Paso 1: en el primer paso, seleccione dos números primos grandes, pag y q .

p = 13

q = 17

Paso 2: Multiplica estos números para encontrar norte = p x q, dónde norte se llama módulo de cifrado y descifrado.

Primero calculamos

n = p x q

norte = 13 x 17

norte = 221

Paso 3: Elige un número Es menos que norte , tal que n es relativamente primo para (p - 1) x (q -1). Esto significa que Es y (p - 1) x (q - 1) no tienen ningún factor común excepto 1. Elija 'e' tal que 1

En segundo lugar, calculamos

φ (n) = (p - 1) x (q-1)

φ (n) = (13 - 1) x (17 - 1)

φ (norte) = 12 x 16

φ(n) = 192

mcd (35, 192) = 1

Paso 3: Para determinar la clave privada, utilizamos la siguiente fórmula para calcular la d tal que:

Calcular d = dEsmod φ (n) = 1

d = d x 35 mod 192 = 1

d = (1 + k.φ (n))/e [sea k = 0, 1, 2, 3………………]

Pon k = 0

re = (1 + 0 x 192)/35

re = 1/35

Pon k = 1

re = (1 + 1 x 192)/35

re = 193/35

Pon k = 2

re = (1 + 2 x 192)/35

re = 385/35

re = 11

La clave privada es = (11, 221)

Por lo tanto, clave privada, es decir, d = 11

Ejemplo 3:

Un criptosistema RSA utiliza dos números primos 3 y 13 para generar la clave pública = 3 y la clave privada = 7. ¿Cuál es el valor del texto cifrado para un texto sin formato?

Explicación:

Paso 1: En el primer paso, seleccione dos números primos grandes, pag y q .

pag = 3

q = 13

Paso 2: Multiplica estos números para encontrar norte = p x q, dónde norte se llama módulo de cifrado y descifrado.

Primero calculamos

n = p x q

norte = 3 x 13

norte = 39

Paso 3: Si norte = p x q, entonces la clave pública es. Un mensaje de texto plano metro se cifra mediante clave pública. Por tanto, la clave pública es = (3, 39).

Para encontrar texto cifrado a partir del texto sin formato, se utiliza la siguiente fórmula para obtener el texto cifrado C.

C = metroEscontra sustantivo, masculino—

C = 53hacia 39

C = 125 frente a 39

C = 8

enumeraciones java

Por tanto, el texto cifrado generado a partir de texto plano, C = 8.

Ejemplo 4:

Un criptosistema RSA utiliza dos números primos, 3 y 11, para generar la clave privada = 7. ¿Cuál es el valor del texto cifrado para un texto sin formato 5 utilizando el algoritmo de cifrado de clave pública RSA?

Explicación:

Paso 1: en el primer paso, seleccione dos números primos grandes, pag y q .

pag = 3

q = 11

Paso 2: Multiplica estos números para encontrar norte = p x q, dónde norte se llama módulo de cifrado y descifrado.

Primero calculamos

n = p x q

norte = 3 x 11

norte = 33

Paso 3: Elige un número Es menos que norte , tal que n es relativamente primo para (p - 1) x (q -1). Esto significa que Es y (p - 1) x (q - 1) no tienen ningún factor común excepto 1. Elija 'e' tal que 1

En segundo lugar, calculamos

φ (n) = (p - 1) x (q-1)

φ (n) = (3 - 1) x (11 - 1)

φ (norte) = 2 x 10

φ(norte) = 20

Etapa 4: Para determinar la clave pública, utilizamos la siguiente fórmula para calcular la d tal que:

Calcular e x d = 1 mod φ (n)

e x 7 = 1 contra 20

e x 7 = 1 contra 20

mi = (1 + k. φ (n))/ d [sea k = 0, 1, 2, 3………………]

Pon k = 0

mi = (1 + 0 x 20) / 7

mi = 1/7

Pon k = 1

mi = (1 + 1 x 20) / 7

mi = 21/7

mi = 3

La clave pública es = (3, 33)

Por lo tanto, clave pública, es decir, e = 3