A versão authentic de esta história apareceu em Revista Quanta.
Durante milhares de anos, se você quisesse enviar uma mensagem secreta, havia basicamente uma maneira de fazê-lo. Você embaralharia a mensagem usando uma regra especial, conhecida apenas por você e pelo seu público-alvo. Esta regra funcionou como a chave de uma fechadura. Se você tivesse a chave, poderia decifrar a mensagem; caso contrário, você precisará arrombar a fechadura. Algumas fechaduras são tão eficazes que nunca podem ser escolhidos, mesmo com tempo e recursos infinitos. Mas mesmo esses esquemas sofrem do mesmo calcanhar de Aquiles que assola todos esses sistemas de criptografia: como colocar essa chave nas mãos certas e, ao mesmo tempo, mantê-la longe das erradas?
A solução contra-intuitiva, conhecida como criptografia de chave públicanão depende de manter um segredo chave, mas sim de torná-lo amplamente disponível. O truque é usar também 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 e outra privada – é que alguém pode embaralhar e desembaralhar uma mensagem.
Para entender como isso funciona, é mais fácil pensar nas “chaves” não como objetos que cabem numa fechadura, mas como dois ingredientes complementares numa tinta invisível. O primeiro ingrediente faz com que as mensagens desapareçam e o segundo as faz reaparecer. Se um espião chamado Boris deseja enviar uma mensagem secreta à sua contraparte Natasha, ele escreve uma mensagem e depois usa o primeiro ingrediente para torná-la invisível na página. (Isso é fácil para ele: Natasha publicou uma fórmula fácil e conhecida para o desaparecimento da tinta.) Quando Natasha recebe o papel pelo correio, ela aplica o segundo ingrediente que faz a mensagem de Boris reaparecer.
Neste esquema, qualquer pessoa pode tornar as mensagens invisíveis, mas apenas Natasha pode torná-las visíveis novamente. E como ela nunca compartilha a fórmula do segundo ingrediente com ninguém – nem mesmo com Boris – ela pode ter certeza de que a mensagem não foi decifrada ao longo do caminho. Quando Boris quer receber mensagens secretas, ele simplesmente adota o mesmo procedimento: publica uma receita fácil para fazer as mensagens desaparecerem (que Natasha ou qualquer outra pessoa pode usar), enquanto guarda outra só para ele que as faz reaparecer.
Na criptografia de chave pública, as chaves “pública” e “privada” funcionam exatamente como o primeiro e o segundo ingredientes desta tinta invisível especial: uma criptografa as mensagens, a outra as descriptografa. Mas em vez de usar produtos químicos, a criptografia de chave pública usa quebra-cabeças matemáticos chamados funções de alçapão. Estas funções são fáceis de calcular em uma direção e extremamente difíceis de reverter. Mas eles também contêm “alçapões”, informações que, se conhecidas, tornam as funções trivialmente fáceis de calcular em ambas as direções.
Uma função comum de alçapão envolve a multiplicação de dois números primos grandes, uma operação fácil de executar. Mas revertê-lo – isto é, começar com o produto e encontrar cada fator primo – é computacionalmente impraticável. Para criar uma chave pública, comece com dois números primos grandes. Estes são os seus alçapões. Multiplique os dois números e execute algumas operações adicionais operações matemáticas. Esta chave pública agora pode criptografar mensagens. Para descriptografá-los, você precisará da chave privada correspondente, que contém os fatores principais – os alçapões necessários. Com esses números, é fácil descriptografar a mensagem. Mantenha esses dois fatores principais em segredo e a mensagem permanecerá secreta.