La criptografía de clave pública apareció para hacer resolver los problemas de seguridad que plantea la criptografía simétrica. Este método resuelve el problema de transmisión de claves que tiene la criptografía de clave secreta mediante el uso de dos claves en vez de una sola, utilizando una de ellas para el cifrado, y la otra para el descifrado.
Este proceso se conoce como criptografía de clave pública o criptografía asimétrica. Las dos claves utilizadas se conocen colectivamente como el par de claves. En la criptografía asimétrica, una de las claves es de libre distribución. Esta clave se denomina clave pública. Por eso, este método de cifrado también se llama el cifrado de clave pública. La segunda clave es la clave privada y como indica su propio nombre no es distribuible. Es importante señalar que las claves públicas y privadas están relacionadas, pero es prácticamente imposible deducir la clave privada si se conoce la clave pública.
Hay una debilidad básica en el cifrado de clave pública: un atacante con tiempo y potencia de cálculo suficiente podrá averiguar la clave privada a partir de una clave pública. Por esta razón el cifrado de clave pública se basa en claves muy grandes; por lo general las claves tienen 1024 o 2048 bits. Mientras más largas son las claves utilizadas (es decir, que tienen más bits), más difícil es el ataque.
Los algoritmos de criptografía de clave pública se basan en problemas matemáticos que actualmente no tienen ninguna solución eficiente. Es computacionalmente fácil para un usuario generar un par de claves (pública y privada) y usarlas para el cifrado y descifrado. Estos problemas matemáticos complejos hacen que sea extremadamente difícil determinar correctamente una clave privada a partir del conocimiento exclusivo de la clave pública. La seguridad de la criptografía de clave pública se garantiza de esta manera; la robustez del algoritmo radica en tal dificultad. Por lo tanto la clave pública puede ser publicada sin comprometer la seguridad. Seguridad depende sólo de mantener el privado clave privada. Los algoritmos de clave pública, a diferencia de los algoritmos de clave simétrica, no requieren un canal seguro para el intercambio inicial de claves entre las partes.
Dos usos comunes de la criptografía de clave pública son la confidencialidad y las firmas digitales de clave pública. La confidencialidad utilizando cifrado de clave pública se consigue cuando un mensaje secreto se cifra usando una clave pública; sólo la persona que posee la clave secreta puede descifrar y leer el mensaje secreto. La firma digital se consigue cifrando con la clave privada del emisor y puede ser verificada por cualquier persona con acceso a la clave pública del remitente. Ambas aplicaciones son ejemplos de confidencialidad y autenticidad de cifrado de clave pública.
Los algoritmos de clave pública son lentos en comparación con los simétricos. A menudo, con el fin de resolver este problema, la clave pública se utiliza para distribuir una clave simétrica. Esta clave simétrica se utiliza para cifrar la información de usuario.
Si bien el uso de criptografía de clave pública simplifica mucho la gestión de claves en comparación con la criptografía simétrica, hay una idea errónea de que la gestión de claves es trivial con la criptografía de clave pública. Por otra parte, algunos usuarios creen erróneamente que el cifrado de criptografía de clave pública es más seguro que el cifrado simétrico frente a criptoanálisis. De hecho, la seguridad de cualquier sistema depende de la longitud de clave y el trabajo computacional involucrado en romper el cifrado.
El algoritmo de criptografía de clave pública más extendido es RSA.