Conceptos básicos de criptografía
¿Cómo se cifra con criptografía de clave pública?

Uso de cifrado de clave pública para proporcionar confidencialidad

Veamos un ejemplo: el Usuario_B quiere enviar un mensaje al Usuario_A. El Usuario_B cifra el mensaje con la clave pública del Usuario_A, y el Usuario_A descifra el mensaje utilizando su clave privada. Dado que los pares de claves son complementarias, sólo la clave privada del Usuario_A podría descifrar este mensaje. Si otra persona intercepta el texto cifrado, no será capaz de descifrarlo, ya que se necesita la clave privada de Usuario_A para el descifrado. Este método no proporciona autenticación, no se puede demostrar que el mensaje procede del Usuario_B, porque la clave pública de Usuario_A la puede conocer todo el mundo. Sin embargo, sí se ofrece confidencialidad al mensaje, ya que sólo Usuario_A puede descifrar el mensaje.

Modelo de cifrado con criptografía de clave pública (para proporcionar confidencialidad)

Este método ofrece confidencialidad ya que el criptograma enviado a un usuario sólo puede ser descifrado con la clave privada del destinatario. El cifrado se realiza mediante la clave pública de dicho destinatario, de forma que desaparece el problema de la distribución de claves, ya que no se requiere la distribución o transmisión de ninguna clave secreta o privada.

Uso de cifrado de clave pública para proporcionar autenticación

Para proporcionar autenticación, el Usuario_A debe cifrar el mensaje con su clave privada y el Usuario_B deberá descifrar el mensaje con la clave pública del Usuario_A. Este método proporciona autenticación, ya que solo Usuario_A puede haber enviado ese mensaje, pero no proporciona confidencialidad ya la clave pública de Usuario_A es conocida por todos. Por lo tanto, cualquier persona que posea la clave pública de Usuario_A podría descifrar el mensaje

Modelo de cifrado con criptografía de clave pública (para proporcionar autenticación)

Uso de cifrado de clave pública para proporcionar autenticación y confidencialidad

Para proporcionar simultáneamente confidencialidad y autenticación, Usuario_B tendrá que cifrar el texto en claro en primer lugar con su clave privada, lo cual aportará autenticidad. Posteriormente, Usuario_B volverá a cifrar utilizando la clave pública de Usuario_A para proporcionar confidencialidad.

La desventaja del sistema es que es muy lento y complejo ya que se deben realizar dos operaciones de cifrado de clave pública y posteriormente dos operaciones de descifrado. Debe tenerse en cuenta que la longitud de estas claves es grande (1024 bits a 4096 bits).