¿Cuál es la diferencia entre RSA y Diffie Hellman?

RSA (cifrado de clave pública)

En breve:

  • un algoritmo de encriptación
  • muy lento para el cifrado de datos masivos

Trabajando:

  • el remitente encripta los datos que se transferirán utilizando la clave pública del destinatario
  • el receptor descifra los datos cifrados utilizando su clave privada

DIFFIE HELLMAN INTERCAMBIO DE LLAVE

En breve:

  • Un método para intercambiar claves criptográficas
  • establece un secreto compartido que puede usarse para comunicaciones secretas
  • vulnerable al ataque Man-in-the-middle

Trabajo: (basado en el ejemplo de pintura anterior)

  • Alice and Bob produce una mezcla basada en su color secreto
  • intercambiar la mezcla entre ellos
  • finalizar un secreto común

Intercambio de llaves Diffie – Hellman
RSA (algoritmo)

Hay una diferencia básica entre los dos:

El algoritmo RSA se utiliza para el cifrado de clave asimétrica real. Genera un par de claves público-privadas y luego las usa para intercambiar datos.

Mientras que el algoritmo diffie-hellman se usa para el intercambio de claves utilizando el concepto de raíz primitiva y luego ambas partes usan esa clave común para el posterior intercambio de datos mediante el cifrado de clave simétrica.

Hay una diferencia muy importante entre RSA y DH, y no es que DH sea un algoritmo de acuerdo clave mientras que RSA es un algoritmo de cifrado: puede usar DH como cifrado (El Gamal, básicamente transmite una clave pública DH efímera junto con un mensaje cifrado con la clave acordada como una sola vez) y RSA para el acuerdo de clave.

La diferencia es que puede tener claves RSA débiles o DH débiles, y puede certificar la fortaleza de DH pero no la de RSA.

RSA necesita dos números primos secretos p , q y el número n = pq es difícil de factorizar dependiendo del tamaño relativo de p, q y de la factorización de p -1 y q -1. No puede probar que n es difícil de factorizar a menos que muestre los factores. Por lo tanto, necesita un tercero de confianza (TTP) que le proporcione las claves. Y conocer las claves públicas y privadas no es demasiado difícil de factorizar, por lo que no se puede compartir entre los usuarios. Debe confiar realmente en su TTP, es posible que una clave RSA tenga una puerta trasera.

DH necesita una prima pública p , y el logaritmo discreto es difícil de calcular si p -1 tiene un factor q grande. Por lo tanto, puede certificar que p muestra la factorización de p -1 (de hecho, los protocolos comienzan desde un primo grande q antes de encontrar p múltiplo de p -1. Además, p se puede compartir para muchos usuarios. Encontrar una p fuerte es fácil, puede compartir con aquellos con los que desea comunicarse y evite un TTP por completo.

DH se utiliza para el intercambio de claves de sesión en un canal inseguro. Cada parte termina con la misma clave de sesión. Esta clave parece una clave secreta / clave privada / clave simétrica. No se utiliza para intercambiar mensajes reales (largos). La seguridad reside en resolver el problema del registro discreto difícil de romper.

RSA es un criptosistema de clave pública, cuya seguridad reside en la imposibilidad de dividir un número en sus factores primos. Se puede usar para mensajes largos. A diferencia de DH, RSA es un sistema de clave asimétrica