A criptografia de chave pública ou criptografia assimétrica é um método de criptografia que utiliza um par de chaves: uma chave pública e uma chave privada. A chave pública é distribuída livremente para todos os correspondentes via e-mail ou outras formas, enquanto a chave privada deve ser conhecida apenas pelo seu dono.
Num algoritmo de criptografia assimétrica, uma mensagem cifrada com a chave pública pode somente ser decifrada pela sua chave privada correspondente.
Os sistemas de chave pública são desenhados para resistir a ataques de texto pleno
escolhido, mas podem ser sensíveis a ataques por criptograma escolhido.
Portanto, nos sistemas onde a assinatura é operação inversa da cifragem, pares
distintos de chaves devem ser usados para estes dois serviços.
Dos algoritmos assimétricos até hoje propostos, apenas quatro são seguros
e práticos para ambos serviços: RSA, ElGamal, Rabin e ECC.