A versão original desta história apareceu na Quanta Magazine.
Por milhares de anos, se você quisesse enviar uma mensagem secreta, basicamente havia apenas uma maneira de fazer isso. Você embaralharia a mensagem usando uma regra especial, conhecida apenas por você e seu público-alvo. Essa regra agia como a chave de uma fechadura. Se você tivesse a chave, poderia desembaralhar a mensagem; caso contrário, precisaria arrombar a fechadura. Alguns tipos de fechaduras são tão eficazes que nunca podem ser arrombadas, mesmo com tempo e recursos infinitos. Mas até mesmo esses esquemas sofrem do mesmo calcanhar de Aquiles que aflige todos os sistemas de criptografia: Como fazer com que essa chave caia nas mãos certas mantendo-a fora das erradas?
A solução contra-intuitiva, conhecida como criptografia de chave pública, não se baseia em manter uma chave em segredo, mas sim em torná-la amplamente disponível. O truque é também usar uma segunda chave que você nunca compartilha com ninguém, nem mesmo com a pessoa com quem está se comunicando. É somente usando essa combinação de duas chaves – uma pública, outra privada – que alguém pode tanto embaralhar quanto desembaralhar uma mensagem.
Para entender como isso funciona, é mais fácil pensar nas “chaves” não como objetos que se encaixam em uma fechadura, mas como dois ingredientes complementares em uma tinta invisível. O primeiro ingrediente faz as mensagens desaparecerem, e o segundo as fazem reaparecer. Se um espião chamado Boris quiser enviar uma mensagem secreta para sua colega Natasha, ele escreve uma mensagem e então usa o primeiro ingrediente para torná-la invisível na página. (Isso é fácil para ele fazer: Natasha publicou uma fórmula fácil e bem conhecida para tinta invisível.) Quando Natasha recebe o papel pelo correio, ela aplica o segundo ingrediente que faz a mensagem de Boris reaparecer.
Nesse esquema, qualquer pessoa pode tornar as mensagens invisíveis, mas somente Natasha pode fazê-las visíveis novamente. E porque ela nunca compartilha a fórmula para o segundo ingrediente com ninguém – nem mesmo Boris – ela pode ter certeza de que a mensagem não foi decifrada no caminho. Quando Boris quer receber mensagens secretas, ele simplesmente adota o mesmo procedimento: Ele publica uma receita fácil para fazer mensagens desaparecerem (que Natasha ou qualquer outra pessoa pode usar), enquanto mantém outra apenas para si mesmo que as faz reaparecer.
Na criptografia de chave pública, as chaves “pública” e “privada” funcionam da mesma forma que os dois ingredientes na tinta invisível especial: Uma criptografa mensagens, e a outra as decriptografa. Mas em vez de usar produtos químicos, a criptografia de chave pública usa puzzles matemáticos chamados funções de porta de armadilha. Essas funções são fáceis de calcular em uma direção e extremamente difíceis de reverter. Mas elas também contêm “portas de armadilha”, pedaços de informação que, se conhecidos, tornam as funções trivialmente fáceis de calcular em ambas as direções.
Uma função de porta de armadilha comum envolve a multiplicação de dois números primos grandes, uma operação fácil de realizar. Mas reverter isso – ou seja, começar com o produto e encontrar cada fator primo – é computacionalmente impraticável. Para fazer uma chave pública, comece com dois números primos grandes. Estes são suas portas de armadilha. Multiplique os dois números juntos, em seguida, realize algumas operações matemáticas adicionais. Esta chave pública agora pode criptografar mensagens. Para descriptografar, você precisará da chave privada correspondente, que contém os fatores primos – as portas de armadilha necessárias. Com esses números, é fácil descriptografar a mensagem. Mantenha esses dois fatores primos em segredo, e a mensagem permanecerá em segredo.