Sistemas de cifrado híbridos

Los cifrados de clave pública no son ninguna panacea. Muchos cifrados simétricos son más fuertes desde un punto de vista de seguridad, y el cifrado y descifrado con clave pública son más caros que las correspondientes operaciones en sistemas simétricos. De todos modos, los cifrados de clave pública son una herramienta efectiva para distribuir claves de cifrado simétrico, y de esta manera es como se usan en sistemas de cifrado híbridos.

Un sistema de cifrado híbrido usa tanto un cifrado simétrico como uno asimétrico. Funciona mediante el uso de un cifrado de clave pública para compartir una clave para el cifrado simétrico. El mensaje que se esté enviando en el momento, se cifra usando la clave y enviándolo al destinatario. Ya que compartir una clave simétrica no es seguro, la clave usada es diferente para cada sesión.

Tanto PGP como GnuPG usan sistemas de cifrado híbridos. La clave de sesión es cifrada con la clave pública, y el mensaje saliente es cifrado con la clave simétrica, todo combinado automáticamente en un sólo paquete. El destinatario usa su clave privada para descifrar la clave de sesión y acto seguido usa la clave de sesión para descifrar el mensaje.

Un sistema de cifrado híbrido no es más fuerte que el de cifrado asimétrico o el de cifrado simétrico de los que hace uso, cualquiera que de los dos que sea el más débil. En PGP y GnuPG el sistema de clave pública es probablemente la parte más débil de la combinación. Sin embargo, si un atacante pudiera descifrar un clave de sesión, sólo sería útil para poder leer un mensaje, el cifrado con esa clave de sesión. El atacante tendría que volver a empezar y descifrar otra clave de sesión para poder leer cualquier otro mensaje.