O princípio de codificação assimétrica (chamada também codificação com chaves públicas) apareceu em 1976, com a publicação de uma obra sobre a criptografia de Whitfield Diffie e Martin Hellman.
Num criptosistema assimétrico (ou criptosistema com chaves públicas), as chaves existem por pares (o termo BIchaves é empregado geralmente):
Assim, num sistema de codificação com chave pública, os utilizadores escolhem uma chave aleatória que apenas eles conhecem (trata-se da chave privada). A partir desta chave, deduzem cada um automaticamente um algoritmo (trata-se da chave pública). Os utilizadores trocam esta chave pública através de um canal não protegido.
Quando um utilizador deseja enviar uma mensagem a outro utilizador, basta que calcule a codifique a mensagem a enviar através da chave pública do destinatário (que encontrará por exemplo num servidor de chaves como um anuário LDAP). Este último estará em condições de decifrar a mensagem com a ajuda da sua chave privada (que é único a conhecer).

Este sistema baseia-se numa função fácil de calcular num sentido (chamado função com alçapão de sentido único ou em inglês one-way trapdoor function) e matematicamente muito difícil de inverter sem a chave privada (chamada alçapão).
A título de imagem, trata-se, para um utilizador, de criar aleatoriamente uma pequena chave de metal (a chave privada), seguidamente de fabricar um grande número de cadeados (chave pública) que dispõe num armário acessível a todos (o armário desempenha o papel de canal não protegido). Para fazer chegar um documento ao destinatário, cada utilizador pode pegar num cadeado (aberto), fechar uma maleta que contém o documento graças a este cadeado, seguidamente enviar a maleta ao proprietário da chave pública (o proprietário do cadeado). Só o proprietário estará então em condições de abrir a maleta com a sua chave privada.
O problema que consistia em comunicar a chave descodificação já não existe, na medida em que as chaves públicas podem ser enviadas livremente. A codificação por chaves públicas permite por conseguinte às pessoas trocar mensagens codificadas sem, no entanto, possuir segredos em comum.
Por outro lado, o desafio consiste em ter a certeza de que a chave pública que se recupera é efectivamente a da pessoa a quem deseja fazer chegar a informação cifrada!