✖

Cifra de Vigenère

A cifra de Vigenère é uma cifra famosa que usa vários alfabetos de cifragem, o que a torna muito mais resistente à análise de frequência clássica.

Princípio da cifragem e da decifragem

Podemos explicar o procedimento de cifragem com a ajuda da cifra de César. A chave da cifra de Vigenère é uma palavra qualquer formada por letras do alfabeto inglês, isto é, a–z. A chave pode ser, por exemplo, a palavra “bcf”. A cifragem funciona assim: escrevemos o texto claro e, logo abaixo dele, a chave, que repetimos até ela ficar com o mesmo comprimento do texto claro. Para o texto claro “boanoite”, ficaria assim:

Texto claro:boanoite
Chave:bcfbcfbc

Agora ciframos todas as letras do texto claro com a cifra de César usando a chave correspondente, isto é, a chave que está na mesma coluna. A cifra de César é uma cifra de deslocamento: a chave indica quantas letras devemos deslocar a letra do texto claro, contando a partir da letra “a”. A letra “b”, por exemplo, indica um deslocamento de uma letra no alfabeto “para a direita”. A letra “d” indica um deslocamento de três letras para a direita. A palavra “casa”, cifrada com a cifra de César e com a chave “b”, resultaria em “dbtb”.

Enquanto na cifra de César ciframos o texto inteiro com uma única letra, na cifra de Vigenère normalmente ciframos com várias letras. A cifragem do texto “boanoite” com a chave “bcf” ficaria, então, assim:

Texto claro:boanoite
Chave:bcfbcfbc
Texto cifrado:cqfoqnug

A primeira letra, “b”, foi cifrada com a chave “b”, ou seja, um deslocamento de uma letra, e por isso o resultado é a letra “c”. A letra “o” foi cifrada com a chave “c”, ou seja, um deslocamento de duas letras, e o resultado é a letra “q”. E assim por diante.

Decifrar é exatamente igual, só que, em vez de deslocar as letras “para a direita”, nós as deslocamos “para a esquerda”.

Ferramenta online para cifrar e decifrar com a cifra de Vigenère

Texto:
Chave:

Quadrado de Vigenère

Todo o procedimento de cifragem e decifragem também pode ser explicado com o quadrado de Vigenère, um auxílio que podemos usar durante a cifragem. O quadrado de Vigenère é uma tabela com 26 linhas e 26 colunas. Em cada linha está escrito o alfabeto, e cada linha está sempre deslocada uma letra em relação à anterior:

Com um quadrado de Vigenère assim, a cifragem seria feita da seguinte maneira: pegaríamos a letra do texto claro e procuraríamos a linha com essa letra. Depois pegaríamos a letra da chave e procuraríamos a coluna. A letra do texto cifrado seria a letra que está na linha e na coluna correspondentes.

No exemplo anterior, ciframos “boanoite” com a chave “bcf”. Procuramos, então, a linha que começa com “b” e a coluna que começa com “b”. No cruzamento dessa linha com essa coluna está a letra “c”, a letra resultante do texto cifrado.

Na decifragem, faríamos o caminho inverso. Se quiséssemos decifrar a letra “c” usando a chave “b”, procuraríamos a coluna “b”, nela encontraríamos a linha que contém a letra “c”, e a letra que está no início dessa linha seria a letra do texto claro.

A principal força da cifra de Vigenère

Por que a cifra de Vigenère era tão forte na sua época? Porque ela dificultava bastante a análise de frequência clássica. Na cifra de César, por exemplo, duas letras iguais do texto claro são cifradas nas mesmas letras do texto cifrado. Na cifra de Vigenère isso não acontece, pelo menos não sempre.

Se cifrarmos o texto “Bravo bravo bravo” com a chave “stan”, obteremos o texto cifrado “tkaig urnnh besoo”. Vemos que, embora o texto claro contenha três palavras iguais, no texto cifrado cada palavra tem um aspecto completamente diferente. A palavra do meio, “urnnh”, chega a conter duas letras “n”, que, no entanto, surgiram de duas letras diferentes do texto claro: “av”.

Escolha da chave

A segurança da cifra de Vigenère depende muito da escolha da chave. Enquanto na cifra de César não importava qual letra escolhêssemos, desde que fosse diferente de “a”, na cifra de Vigenère chaves diferentes levam a níveis de segurança bem diferentes.

  • Uma chave formada por uma única letra reduz a cifra de Vigenère de volta à cifra de César.
  • Uma chave formada por várias letras iguais, por exemplo “mmm”, também leva à cifra de César.
  • Um texto cifrado com uma chave curta será muito fácil de decifrar sem a chave.
  • Um texto cifrado suficientemente longo, cifrado com uma chave que não seja curtíssima (cerca de cinquenta caracteres), também será muito fácil de decifrar sem a chave. Em um computador, em questão de segundos.
  • Um texto cifrado com uma chave totalmente aleatória e do mesmo comprimento do próprio texto será impossível de decifrar sem a chave.