A.2. Cifrado de llave pública

La criptografía de llave pública es un método criptográfico empleado por muchos algoritmos criptográficos y cripto-sistemas cuyas características distintivas son el uso de algoritmos de llave asimétrica o de una adición de algoritmos de llave simétrica. Mediante las técnicas criptográficas de llave pública muchos métodos anteriormente desconocidos para proteger comunicaciones o autenticar mensajes se han vuelto prácticos. No requieren un intercambio inicial seguro de una o más llaves secretas como se requería al usar algoritmos de llave simétricos. También se puede usar para crear firmas digitales.[20]
La criptografía de llave pública es una tecnología fundamental y ampliamente utilizada a nivel internacional y es el enfoque que subyace en estándares de Internet tales como Seguridad de capa de transporte (TLS) (sucesor de SSL), PGP y GPG.[21]
La técnica distintiva utilizada en criptografía de llave pública es el uso de algoritmos de llave asimétrica, donde la llave utilizada para cifrar el mensaje no es la misma utilizada para descifrarla.Cada usuario tiene un par de llaves criptográficas una llave pública y una privada. La llave privada se mantiene en secreto, mientras que la llave pública puede ser distribuida ampliamente. Los mensajes se cifran con la llave pública del destinatario y solamente pueden descifrarse con la correspondiente clave privada. Las llaves se relacionan matemáticamente, pero la llave privada no puede ser factible (i.e. en la práctica o proyectada) derivada de la llave pública. El descubrimiento de dichos algoritmos fue el que revolucionó la práctica de criptografía que comenzó a mediados de los años setenta.[22]
Por el contrario, los algoritmos de llave simétrica, variaciones de los cuales se han hecho por miles de años, usan una sola llave secreta compartida por el remitente y el destinatario (el cual debe también mantenerla privada, lo que representa una ambigüedad de la terminología común, el remitente y destinatario deben compartir desde un principio una clave segura.[23]
Puesto que los algoritmos de llave secreta son casi siempre de menor computo intensivo, es común intercambiar una llave mediante un algoritmo de intercambio de llave. Por ejemplo, PDP, y la familia SSL/TLS de esquemas lo hacen y en consecuencia, se llaman cripto-sistemas híbridos.[24]

A.2.1. Diffie-Hellman

El intercambio de llave Diffie–Hellman (D–H) es un protocolo criptográfico que permite a dos partes que no tienen conocimiento previo el uno del otro, establecer en conjunto una llave secreta compartida en un canal de comunicaciones inseguras. Esta llave puede entonces usarse para cifrar comunicaciones subsiguientes mediante la cifra de llave simétrica.[25]

A.2.1.1. Historia de Diffie-Hellman

El esquema fue inicialmente publicado por Whitfield Diffie y Martin Hellman en 1976, aunque más tarde se supo que se había inventado individualmente unos años atrás dentro de la agencia de inteligencia de señales británica (GCHQ) por Malcolm J. Williamson pero se había mantenido en secreto. En 2002, Hellman sugirió el algoritmo de intercambio de llave llamado Diffie–Hellman–Merkle en reconocimiento de la contribución de Ralph Merkle al invento de la criptografía de llave pública (Hellman, 2002).[26]
Aunque el acuerdo de llave de Diffie–Hellman es un protocolo de acuerdo de llave anónimo (no-autenticado), proporciona las bases para una variedad de protocolos autenticados y se utiliza para proveer confidencialidad directa perfecta en los modos efímeros de Seguridad de capa de transporte (conocidos como EDH o DHE según el paquete de cifrado).[27]
La patente 4,200,770 de Estados Unidos, ya expirada, describe el algoritmo y los créditos de Hellman, Diffie, y Merkle como inventores.[28]


[20] "Public-key Encryption." Wikipedia. 14 November 2009 http://en.wikipedia.org/wiki/Public-key_cryptography
[21] "Public-key Encryption." Wikipedia. 14 November 2009 http://en.wikipedia.org/wiki/Public-key_cryptography
[22] "Public-key Encryption." Wikipedia. 14 November 2009 http://en.wikipedia.org/wiki/Public-key_cryptography
[23] "Public-key Encryption." Wikipedia. 14 November 2009 http://en.wikipedia.org/wiki/Public-key_cryptography
[24] "Public-key Encryption." Wikipedia. 14 November 2009 http://en.wikipedia.org/wiki/Public-key_cryptography
[25] "Diffie-Hellman." Wikipedia. 14 November 2009 http://en.wikipedia.org/wiki/Diffie-Hellman
[26] "Diffie-Hellman." Wikipedia. 14 November 2009 http://en.wikipedia.org/wiki/Diffie-Hellman
[27] "Diffie-Hellman." Wikipedia. 14 November 2009 http://en.wikipedia.org/wiki/Diffie-Hellman
[28] "Diffie-Hellman." Wikipedia. 14 November 2009 http://en.wikipedia.org/wiki/Diffie-Hellman