La criptografía de clave pública (asimétrica) utiliza algoritmos de cifrado como el RSA y la criptografía de curva elíptica (ECC) para crear las claves públicas y privadas. Estos algoritmos se basan en la insolubilidad de determinados problemas matemáticos. Se consideran problemas intratables aquellos que pueden resolverse en teoría (por ejemplo, si se dispusiera de un tiempo infinito), pero que en la práctica llevan demasiado tiempo para que sus soluciones sean útiles. Desde el punto de vista computacional, con el cifrado asimétrico es fácil generar claves públicas y privadas, cifrar mensajes con la clave pública y descifrarlos con la privada. Sin embargo, es extremadamente difícil —si no imposible— que alguien obtenga la clave privada basándose únicamente en la clave pública.