Costumamos imaginar que criptografia avançada é algo que depende de gênios matemáticos e supercomputadores, mas isso não é necessariamente verdade. Criptografia extremamente poderosa pode estar na mão do afegão médio, como eu e você.

Uma ilustração em estilo caricatura retrata uma cena de sala de guerra ou escritório militar com três homens e duas máquinas, sugerindo uma narrativa sobre criptografia e inteligência. No primeiro plano à esquerda, um homem de meia-idade com bigode, cabelo castanho e farda militar marrom está sentado, digitando freneticamente em uma máquina teletipo preta e robusta; sua expressão é séria e focada. Ao fundo, no centro, um homem mais velho com cabelos brancos senta-se relaxado em um sofá de couro marrom, fumando um cigarro e segurando documentos. À direita do fundo, em pé, um homem sorridente com terno cinza cruza os braços; acima dele flutua uma seta branca grossa apontando para ele com a palavra "Turing" escrita em fonte negra e branca. Duas máquinas de escrever ou teletipos estão na mesa: uma sendo usada pelo militar e outra, mais moderna, conectada por cabos à esquerda da composição. A iluminação é dramática e lateral, criando sombras fortes e destacando o ar de tensão e concentração, característica de um ambiente de trabalho secreto ou estratégico. A peça parece ser uma charge ou ilustração conceitual que relaciona a figura histórica Alan Turing com um contexto de guerra eletrônica ou decodificação.

Foi mais ou menos assim (Crédito: Krea2)

Criptografia não depende de computadores. Um dos exemplos mais antigos, a Cifra de César, era usado por Júlio César para trocar correspondência com seus generais e aliados, e é extremamente simples para os tempos modernos. Basicamente, uma chave criptográfica, um número, avançava uma determinada quantidade de casas no alfabeto. Assim:

Digamos que a chave seja 4:

A B C D E F G H I J K L M N O P Q R S T U V W X Y Z E F G H I J K L M N O P Q R S T U V W X Y Z A B C D

Note como o alfabeto foi rotacionado quatro posições para a direita.

Se a mensagem recebida for “TYXMIWXEQSVXS”, substituindo as letras correspondentes, temos:

“PUTIN ESTA MORTO”

Eu sei, não é nada de outro mundo, mas para alguém que viveu entre 100 AC e 54 AC, isso era alta tecnologia.

Criptografia foi usada desde então por comerciantes, políticos, gente importante, militares, criminosos e qualquer um com acesso a um bloco de notas e um pouco de matemática, mas o momento mais conhecido foi na Segunda Guerra Mundial. O exemplo popular é a Enigma, a máquina criptográfica alemã que não era essa Coca-Cola toda. Ela era baseada em um equipamento comercial usado por bancos, e a teoria por trás de seu funcionamento era amplamente conhecida, espiões e matemáticos poloneses contrabandearam para a Inglaterra documentos e até exemplares dos rotores usados na máquina.

Seu problema era que com muitas combinações, boa parte do trabalho de decifrar as mensagens exigia força bruta. Hoje em dia, bem, há gente usando um Commodore 64 para quebrar códigos Enigma.

Com o tempo os matemáticos de Bletchley Park conseguiam decifrar mensagens da Enigma em algumas horas, era comum os ingleses lerem as mensagens antes dos destinatários, pois elas precisavam ser repassadas por vários postos de retransmissão, dependendo do destinatário.

Outros sistemas criptográficos existiam, tanto para uso estratégico, comunicações entre alto-comando, quanto para uso mais imediato, com cifras mais simples. Os americanos em 1940 já haviam decifrado PURPLE, codinome para a criptografia usada pelos diplomatas japoneses.

Esta é uma fotografia em tons de cinza, possivelmente antiga, mostrando um conjunto de equipamentos eletrônicos antigos montados sobre uma mesa de madeira. A cena principal é a própria configuração do laboratório ou posto de trabalho. No primeiro plano e ocupando o centro da composição, há uma mesa de escritório robusta com duas laterais de gavetas em madeira clara e um espaço aberto no meio. Sobre a superfície plana da mesa estão dispostos os equipamentos. À esquerda, encontra-se uma máquina retangular com teclas visíveis na frente, conectada por cabos grossos à parte traseira. No centro, há um dispositivo vertical menor com fios enrolados ao redor. À direita, outra máquina similar à da esquerda está posicionada, também conectada a cabos que se estendem para trás em direção a painéis fixados na parede ou no fundo da mesa. O fundo consiste em grandes painéis retangulares escuros montados na parte traseira dos equipamentos, possivelmente servindo de suporte para controles ou conexões adicionais. A iluminação é difusa, sem sombras fortes, sugerindo uma fonte de luz frontal e suave. A composição é direta, com a mesa ocupando quase toda a largura da imagem e os equipamentos alinhados horizontalmente. O tom geral é neutro e funcional, típico de documentação técnica ou inventário histórico.

Máquina criptográfica PURPLE usada pelo Japão. (Crédito: National Cryptographic Museum/Wikimedia Commons)

Na véspera do ataque a Pearl Harbour, uma mensagem de 14 partes foi interceptada, na qual o embaixador japonês em Washington foi instruído a, no dia seguinte, comunicar que o Japão estava rompendo relações diplomáticas com os EUA. Uma mensagem de alerta para as bases americanas no Pacífico foi emitida, mas não chegou a tempo.

Um exemplo de criptografia em tempo real foram os índios navajos, convocados para o corpo de fuzileiros dos EUA, seu idioma era completamente alienígena para os analistas japoneses. Navajo não tem parentesco ou associação com nenhum idioma euroasiático, os fuzileiros nativos falavam com outros navajos nos navios, em transmissões abertas, e os japas arrancavam os cabelos tentando entender.

O JN-25, código criptográfico naval japonês já foi bem mais complicado de decifrar. Nas vésperas do ataque à ilha de Midway, os americanos ainda não conseguiam decifrar totalmente o JN-25. Sabiam que um ataque grande estava a caminho, mas o alvo estava cifrado, era chamado de “AF”.

Um analista teve uma ideia: enviaram uma mensagem de baixa prioridade, da base em Midway, avisando que o sistema de dessalinização estava quebrado e ficariam sem água em alguns dias se não enviassem mecânicos.

Logo apareceu uma transmissão militar japonesa, avisando que “AF” estava com problemas nos dessalinizadores. BINGO!

O mais impressionante uso de tecnologia criptográfica aliada na Segunda Guerra foi o SIGSALY, que detalho neste artigo aqui.

O local é uma sala de exposição ou museu dedicada a um equipamento histórico chamado SIGSALY. No centro da cena, em primeiro plano, há um pedestal com um painel informativo branco contendo texto explicativo sobre o sistema. Ao fundo e ocupando a maior parte do espaço, está o próprio equipamento: uma grande instalação modular composta por múltiplos painéis de controle cinza, botões, interruptores e cabos expostos. À esquerda, destaca-se uma mesa de console com superfícies inclinadas e controles manuais; à direita, um painel vertical exibe documentos históricos, fotografias em preto e branco e amostras de papel ou cartões técnicos.A iluminação é artificial, vinda do teto, criando sombras suaves nas bordas dos painéis e realçando a cor marrom avermelhada do tapete que cobre o chão. A câmera está posicionada ao nível dos olhos, com enquadramento amplo que abrange toda a estrutura curva do sistema SIGSALY. No topo da parede, um letreiro preto e branco indica “SIGSALY 1943–1946” e “SPEECH ENCIPHERMENT SYSTEM”, estabelecendo o contexto histórico e funcional do equipamento. O ambiente transmite uma sensação de tecnologia avançada para a época, com disposição organizada e foco educativo.

Tudo isso para criptografar voz, usando barro fofo e pedra lascada. (Crédito: National Cryptologic Museum/Wikimedia Commons)

Era um equipamento de 50 toneladas, ocupando uma sala inteira, usava discos com trilhas de ruído, vocoders, PCM e outras tecnologias que levariam décadas para se tornar corriqueiras. O SIGSALY conseguia criptografar transmissões de voz em tempo real, e permitia que figurões como Churchill e Truman conversassem por telefone, sem que Jerry (os nazistas, não o rato) espionasse. Uns 12 terminais foram construídos, em lugares como Paris, Guam, Brisbane e até uma unidade flutuante em uma balsa. Cada uma custava o equivalente a US$ 20 milhões em 2026.

O segredo eram os discos, as unidades transmissoras e receptoras precisavam tocar o mesmo disco, em perfeito sincronismo, para gerar a base do sinal a ser codificado e decodificado. Os alemães nunca chegaram nem perto de quebrar o SIGSALY, mas ao menos em teoria, sua fraqueza era a mesma do Enigma: Precisa do Estado Inicial da Máquina para decodificar a mensagem.

A criptografia mais moderna não precisa mais disso. A criptografia de chave pública, que você está usando neste exato momento em seu navegador, nunca transmite a CHAVE PRIVADA, somente a CHAVE PÚBLICA, usada para criptografar a mensagem.

Funciona mais ou menos assim:  Eu escolho dois números primos de aproximadamente 1024 bits, e multiplico os dois:

n = p x q

n é um número de 2048 bits, ou mais.

Em seguida eu escolho um expoente, 65537, por exemplo.

(n, e) é minha chave pública. Os dois valores são distribuídos para quem quiser criptografar uma mensagem para mim. Para obter o caractere criptografado, você calcula o resto da divisão por n.

c = me mod n

NOTA: Na prática o RSA só codifica uma chave de sessão, o resto do texto é criptografado via AES, mas vamos pular essa parte. E o expoente é quase sempre 65537.

Decifrar a criptografia, aqui é o pulo do gato. Para obter o valor decodificado, usamos a equação:

m = cd mod n

Note que apareceu um “d”. ele é definido pela fórmula:

d≡e-1 (mod φ(n)),    φ(n)=(p-1) (q-1)

Como só você tem p e q, deduzir esses valores consome horrores em tempo de computação, bilhões de anos para um computador normal. Em teoria um computador quântico com 20 milhões de Qubits poderia quebrar uma chave RSA de 2048 bits em 8 horas. Em 2026 o recorde de Qubits em um computador quântico é de... 96. Seus vídeos educativos ainda estão protegidos.

Será mesmo?

Todos os sistemas de criptografia possuem fraquezas, análise criptográfica hoje em dia é basicamente bruxaria, mas existe um sistema que continua imbatível, se usado corretamente. Um sistema que nenhum supercomputador, quântico ou não, consegue quebrar.

O algoritmo, as chaves são a fraqueza da criptografia. A Enigma tinha algumas falhas, uma letra não podia ser substituída por ela mesma, e os operadores costumavam assinar os textos com “Heil Hitler”. Um operador alemão usava as iniciais da namorada como chave dos painéis da Enigma, e o Serviço Secreto descobriu o nome da Fraulein.

No final, a criptografia se resume a trocar a Letra XXX pela Letra YYY, então por que não pular todas as etapas e ir direto aos finalmentes?

Criptografia de cifra única

Imagine que eu queira criptografar uma letra, “F”. De uma forma que ninguém consiga deduzir o algoritmo. A melhor forma é... eliminar o algoritmo.

Eu uso um gerador de números aleatórios para produzir as 26 letras do alfabeto, em uma ordem totalmente ao acaso, e as associo a um alfabeto normal:

ABCDE FGHIJ KLMNO PQRST UVWXY Z NSTWL DMZPJ QABXH FUVYE OKICR G

Eu escrevo “D”, e ninguém, absolutamente ninguém conseguirá deduzir que D na verdade é F, exceto se tiver essa seqüência original.

“E mensagens maiores?”, você pergunta.

Simples, pequeno gafanhoto. Usamos uma tabela maior. A mensagem encriptada é:

HAONW ZVCXF FCCZU TORUD

Note que os caracteres são divididos em blocos de cinco, para evitar análise por posição ou tamanho das palavras. O primeiro caractere é H. Consultando a tabela, a letra H na posição 1 corresponde ao “O” no alfabeto ordenado. Linha 2: A corresponde ao “S”.

#  ABCDE FGHIJ KLMNO PQRST UVWXY Z ---  ------------------------------- 1  NSTWL DMZPJ QABXH FUVYE OKICR G 2  JVIYQ ZKOGH DTMXW BSLAE FURNC P 3  CJMOF EWZDK RUGPB TNASH VYLIQ X 4  XWABQ CLINY ZSTFK REUPV MGJOD H 5  WJCED SAIHR LZPGK YFVXM NBUTQ O 6  VUPCM WXJEA HOZYF DTKNR GSQIL B 7  VYBAK XUEPN SLOTH GQJDM WRCZI F 8  OTHEP ZGYFK ISDCM AUVLW BXNJQ R 9  SJIYC OKZDN FPWTR BHGVX MALQE U 10 NTEPF UORCD IHXAZ KBMVL JYWQG S 11 SKHLE QJCVB WPUNY IZTFG DAOMR X 12 AICYF RGQVB OMULE PKWHJ NZSXT D 13 OGMVP HRCEL DWXJN IAKUB SQFZT Y 14 RLNVZ IFHXP BYASK CTUQG MODJE W 15 LQOIN FUAKV DJRHW ZTPEY CBSGM X 16 TKLSU VIEBO FMRDZ WJPNC QHXYA G 17 SAZHT IBDEQ LMFJR NUOKG VXPYC W 18 MKWJY TLSZU BPCVX FARQE GNDIH O 19 USVTX WNROY PADZK FCGEH LBIMQ J 20 LTWUA OKYRS PFDNB XJQGE ZCMVI H

Dizem que nenhum sistema criptográfico é invencível, um dos grandes problemas é conseguir valores realmente aleatórios para criar as chaves, há sistemas que usam emissões de radiação, manchas solares, a Cloudflare é famosa por ter uma parede de lâmpadas de lava.

Uma parede cinza exibe quatro fileiras de lâmpadas decorativas do tipo "lava", dispostas em prateleiras horizontais. Cada lâmpada possui um corpo transparente ou fosco contendo líquido colorido e uma esfera metálica no topo, com as cores variando entre vermelho, azul, verde e amarelo. Acima das prateleiras, uma grande tubulação de ar metálica serpenteia ao longo do teto branco. À esquerda da composição, observa-se parte de uma planta em vaso escuro sobre o chão de concreto. No primeiro plano, uma mesa retangular coberta por uma toalha preta ostenta o logotipo e o nome "CLOUDFLARE" em letras brancas e um desenho de nuvens coloridas. Sobre a mesa, cinco pequenas etiquetas retangulares estão alinhadas na borda frontal. A iluminação é artificial e direcionada, destacando as cores das lâmpadas contra o fundo escuro da parede. A fotografia foi tirada de uma posição elevada, oferecendo uma visão panorâmica do conjunto. O ambiente sugere um espaço interno moderno, possivelmente uma área de exposição ou recepção corporativa.

Lavarand, criado originalmente pela Silicon Graphics. (Crédito: Cloudflare)

Algoritmos tradicionais são notoriamente ruins para gerar números aleatórios, e mesmo uma cifra de uso único gerada com um algoritmo desses é insegura. Sistemas modernos usam geradores bem mais complexos. No Windows a biblioteca secrets do Python chama a API BCryptGenRandom, que utiliza diversos dados do sistema para gerar entropia e produzir números bem mais aleatórios.

Quando o embaralhamento do alfabeto é feito de forma competente, não há NENHUMA relação entre uma linha e outra.

1 - SAZHT IBDEQ LMFJR NUOKG VXPYC W 2 - MKWJY TLSZU BPCVX FARQE GNDIH O

O “A”, primeiro caractere, em uma linha vale “S”, em outra vale “M”. Há uma chance em 26 dessa combinação se repetir, mas nada determina quando essa repetição acontecerá. Cada frase, cada palavra, cada letra encriptada dessa forma não tem relação com qualquer outra.

A Cifra de Uso Único é 100% aleatória, não há como reverter o algoritmo, e existem 26! Permutações possíveis para cada linha. Nenhum algoritmo ou sistema de computação, existente ou imaginário consegue quebrar isso. E não sou eu quem está dizendo, é o C.E. Shannon, no seminal paper Communication Theory of Secrecy Systems*.

NOTA: A rigor o algoritmo acima não é uma implementação eficiente de Cifra de Uso Único, ela é segura demais. Eu a usei por ser mais didática.

E por que ninguém usa essa bagaça?

Usar até usam, as famosas estações numéricas, que enviam mensagens de rádio cifradas para espiões em países distantes, usam essas cifras, mas estão sendo aposentadas. A Cifra de Uso Único é tipo comunismo, uma solução perfeita na teoria, mas que na prática não funciona.

O principal problema é que você precisa enviar enormes tabelas de caracteres, que só podem ser usadas uma única vez. A tabela é 26 vezes o tamanho da mensagem. Uma troca diária de mensagens curtas consumirá toneladas de tabelas de cifras que não podem ser transmitidas eletronicamente, ou você perde o sentido de ter um sistema criptográfico.

É trocar um problema matemático por um problema logístico. Remetente e destinatário precisam sincronizar qual tabela usar, como armazenar as tabelas de forma segura, como fazer com que elas cheguem ao destinatário, muitas vezes disfarçado em um país inimigo. E isso tudo antes da mensagem ser sequer enviada.

Por isso grandes potências investem milhões de dólares em soluções menos eficientes matematicamente, mas mais práticas no mundo real. Ou às vezes nem isso, como em 2009, quando descobriram que terroristas no Iraque estavam captando vídeos dos drones americanos, usando SDR (software-defined radio).

Pior, os militares admitiram que pelo menos desde 2002, já havia casos de transmissões interceptadas pelo inimigo. Isso mesmo, os JÊNEOS construíram drones de milhões de dólares, mas ninguém se preocupou em encriptar o sinal de vídeo.

Vamos brincar?

Óbvio que eu não fiz aquela tabela ali de cima na mão. Com ajuda de meu amigo Grok, especifiquei um script em Python para fazer todo o trabalho pesado.

Está disponível aqui: https://github.com/casc1701/ChupaTuring2000

O script tem três funções:

1 – Gerar Pads

Ele gera tabelas com um determinado número de linhas, com alfabetos ordenados aleatoriamente. O default é 50, o que significa que essa tabela é válida para mensagens de até 50 caracteres. No comando:

python otp_toolkit.py gen -n 50 --groups -o pad.txt

n é o número de linhas, --groups divide as linhas em grupos de 5 caracteres, para facilitar a visualização, e -o pad.txt salva a tabela criada no arquivo pad.txt.

python otp_toolkit.py –help lista todos os comandos.

2 – Encripta mensagem

Crie no mesmo diretório um arquivo chamado mensagem.txt, com o texto a ser encriptado. Em seguida rode:

python otp_toolkit.py enc -p pad.txt -m mensagem.txt -o cifra.txt

ele salvará a mensagem encriptada no arquivo cifra.txt

3 – Decripta mensagem

Mesmo esquema, execute:

python otp_toolkit.py dec -p pad.txt -m cifra.txt

Ele retornará a mensagem original, sem espaços.

Se você utilizar corretamente esse script, não repetindo tabelas, mantendo as cifras seguras e usando o formato de blocos de cinco caracteres, você tem uma criptografia melhor que tudo usado pela CIA, KGB, GRU, ABIN.

Só não deixe o Xandão saber.