No final do ano de 1500, Blaise de Vigenere propôs um sistema polialfabético que é particularmente difícil de decifrar. Seu método usou uma combinação do quadro de Trimethius e uma chave. A chave determinou quais alfabetos na tabela o decifrador de códigos deveria usar, porém não era necessariamente parte da mensagem. Vamos rever o quadro de Trimethius.
Vamos supor que você está codificando uma mensagem usando a palavra-chave "CIFRA." Você codificaria a primeira letra usando a linha "C" como guia, usando a letra encontrada na interseção da linha "C" e a coluna da letra do texto simples correspondente. Para a segunda letra, você usaria a linha "I", e assim por diante. Uma vez que você usa a linha "R" para codificar uma letra, você reiniciaria "C". Usando esta palavra-chave e este método, você poderia codificar a frase "How Stuff Works (Como tudo funciona)" da seguinte forma:
|
Chave |
C |
I |
P |
H |
E |
R |
C |
I |
P |
H |
E |
R |
C |
|
Simples |
H |
O |
W |
S |
T |
U |
F |
F |
W |
O |
R |
K |
S |
|
Cifra |
J |
W |
L |
Z |
X |
L |
H |
N |
L |
V |
V |
B |
U |
A mensagem que você codificou ficaria assim, "JWL ZXLHN LVVBU". Se você quisesse ler uma mensagem mais longa, você continuaria repetindo a chave para codificar seu texto simples. O receptor de sua mensagem precisaria saber a chave antes para poder decifrar o texto.
Vigenere sugeriu um esquema ainda mais complexo que usava uma letra primária seguida da própria mensagem como chave. A letra primária designava a linha que o criptógrafo usava primeiro para começar a mensagem. Tanto o criptógrafo como o receptor sabiam antecipadamente qual era a letra primária. Este método fez com que o descobrir das cifras fosse extremamente difícil, porém exigia tempo, e um erro na mensagem poderia alterar todo o resto. Enquanto o sistema era seguro, a maioria das pessoas o achou complexo demais para usar com eficiência. Eis um exemplo do sistema de Vigenere - neste caso a letra primária é "D":
|
Chave |
D |
H |
O |
W |
S |
T |
U |
F |
F |
W |
O |
R |
K |
|
Simples |
H |
O |
W |
S |
T |
U |
F |
F |
W |
O |
R |
K |
S |
|
Cifra |
K |
V |
K |
O |
L |
N |
Z |
K |
B |
K |
F |
B |
C |
Para decifrar, o receptor primeiro olharia a primeira letra da mensagem codificada, um "K" nesse caso, e usaria a tabela de Trimethius para descobrir onde o "K" ficou na linha "D" - lembre-se de que tanto o criptógrafo como o receptor sabiam antes que a primeira letra da chave será sempre o "D", independente do que o restante da mensagem dizia. A letra no topo da coluna é "H". O "H" torna-se a próxima letra na chave da cifra, então o receptor olharia na próxima linha "H" e encontraria a próxima letra na cifra - um "V" nesse caso. Isso daria ao receptor um "O". Seguindo este método, o receptor poderia decifrar a mensagem toda, ainda que demorasse um pouco.
O sistema mais complexo de Vigenere não foi popular até o ano de 1800, porém ainda é usado em máquinas de codificação modernas [fonte: Kahn].
Na próxima página, vamos aprender sobre o código ADFGX criado pela Alemanha durante a Primeira Guerra Mundial.