Nestes tempos de agências de espionagem paranoicamente oniscientes e até onilegentes é difícil encontrar um sistema de encriptação robusto e barato. Um dos melhores e mais simples foi criado por um advogado, revolucionário, diplomata, enólogo, arqueólogo e mais tarde presidente dos Estados Unidos. Além de inventar um país, Thomas Jefferson (1743-1826) ainda teve tempo para se dedicar à criptografia.
Inventada por volta de 1795, quando ele trabalhava no Departamento de Estado, a cifra de Jefferson é simples: um conjunto de 36 discos e um eixo. Cada um desses discos tem as 26 letras do alfabeto estampadas aleatoriamente na sua borda. O emissor empilha os discos no eixo e emparelha as letras de modo que uma linha da mensagem possa ser lida em uma das 26 filas de letras. Isso permite que cada linha da mensagem seja instantaneamente codificada pelas outras 25 fileiras de letras — basta escolher uma dessas fileiras de letras aleatórias, copiá-la e mandar a mensagem.
Quem recebe a mensagem faz a decodificação com o mesmo conjunto de discos. Basta alinhar as letras aleatórias enviadas e procurar por uma linha que faça sentido. Evidentemente, os discos do emissor e do receptor devem estar empilhados na mesma ordem.
É aí que está a chave da criptografia de Jefferson. Mas mesmo se os discos da cifra caírem em mãos erradas a mensagem vai ficar segura. É inútil ter os discos sem saber exatamente qual a ordem em que eles foram empilhados pelo emissor. Deveras inútil: os 36 discos podem ser empilhados de 371.993.326.789.901.217.467.999.448.150.835.200.000.000 maneiras distintas.
Isso é tão robusto que algumas mensagens codificadas por esse sistema jamais foram decifradas. Uma delas é a cifra a seguir, criada pelo criptólogo Joseph Mauborgne (1881-1971), do Exército dos Estados Unidos, em 1915. Mauborgne criou uma versão melhorada do sistema de Jefferson.
Um século mais tarde, a mensagem de Mauborgne ainda não foi compreendida. Nem a temível NSA parece ter tido sucesso em quebrar seu código. “Os sistemas conhecidos deste ano [i.e., 1915] (ou anteriores) não deveriam ser tão difíceis de quebrar com ataques e tecnologia modernos”, observa Craig P. Bauer, criptologista da NSA, em seu Secret History: The Story of Cryptology.
Ou talvez nem tanto. Jefferson não patenteou o sistema (que parece remontar a projetos do polímata italiano Leon Battista Alberti, do século XV) e a cifragem por discos foi redescoberta de forma independente algumas vezes. Etienne Bazeries, um oficial do Exército francês, teve basicamente a mesma ideia de Thomas Jefferson em 1874. A versão francesa, porém, tinha uma falha simples: a ordem das letras em seus discos era padronizada e não aleatória. Isso — junto com o menor número de discos por cilindro — facilitou muito a quebra do sistema Bazeries em 1893.
Ainda assim foi o sistema Bazeries que chamou a atenção de Mauborgne. O criptólogo norte-americano aperfeiçoou o sistema francês, criando o M-94 mecanismo de 25 discos que esteve em uso nas Forças Armadas dos EUA até 1945.
Ricardo Bittencourt
Não conhecia esse, legal! Mas embora ele fosse bem robusto pros padrões da época, com as técnicas atuais não me parece muito difícil de quebrar não.
Felipe Argolo
"RicBit",
Você pode esboçar como faria um algoritmo para isso?
A Cifra de Jefferson | hypercubic | Um Panda na Garagem
[…] A Cifra de Jefferson | hypercubic. […]
Ricardo Bittencourt
Sure, acho que vou escrever um post sobre isso. Mas a idéia é que se você souber qual é a língua usada antes da codificação, você pode restringir muito o espaço de busca usando o histograma dos bigramas da língua.