A cifra de Vigenère é um método de criptografia que usa uma série de diferentes cifras de César baseadas em letras de uma senha. Trata-se de uma versão simplificada de uma mais geral cifra de substituição polialfabética, inventada por Leon Battista Alberti cerca de 1465.
A invenção da cifra de Vigenère é erradamente atribuída a Blaise de Vigenère encontra-se originalmente descrita por Giovan Battista Bellaso no seu livro datado de 1553 com o título La Cifra del Sig. Giovan Battista Bellaso.
Esta cifra é muito conhecida porque é fácil de perceber e de pôr em prática, parecendo, a quem tem pouca prática, que é inquebrável (indecifrável). Consequentemente, muitos programadores implementaram esquemas de criptografia nas suas aplicações que são no essencial cifras de Vigenère, e que são facilmente quebradas por qualquer criptoanalista.
Descrição
Numa cifra de César, cada letra do alfabeto é deslocada da sua posição um número fixo de lugares; por exemplo, se tiver um deslocamento de 3, "A" torna-se "D", "B" fica "E", etc. A cifra de Vigenère consiste no uso de várias cifras de César em sequência, com diferentes valores de deslocamento ditados por uma "palavra-chave".
Para cifrar, é usada uma tabela de alfabetos que consiste no alfabeto escrito 26 vezes em diferentes linhas, cada um deslocado ciclicamente do anterior por uma posição. As 26 linhas correspondem às 26 possíveis cifras de César. Uma palavra é escolhida como "palavra-chave", e cada letra desta palavra vai indicar a linha a ser utilizada para cifrar ou decifrar uma letra da mensagem.
Por exemplo, supondo que se quer criptografar o texto:
- ATACARBASESUL ("atacar base Sul")
Escolhendo a chave e repetindo-a até ter o comprimento do texto a cifrar, por exemplo, se a chave for "LIMAO":
- LIMAOLIMAOLIM
A primeira letra do texto, A, é cifrada usando o alfabeto na linha L, que é a primeira letra da chave. Basta olhar para a letra na linha L e coluna A na grelha de Vigenère, e que é um L. Para a segunda letra do texto, ver a segunda letra da chave: linha I e coluna T , que é B, continuando sempre até obter:
Texto: | ATACARBASESUL |
Chave: | LIMAOLIMAOLIM |
Texto cifrado: | LBMCOCJMSSDCX |
A decriptação é feita inversamente.
A cifra de Vigenère pode ser vista algebricamente. Se as letras A–Z forem mapeadas nos números inteiros 0–25, e a adição módulo 26 for aplicada, a criptografia pode ser escrita:
e a decriptação,
Criptanálise
O método de decriptação seguinte foi desenvolvido por Charles Babbage. A ideia motivadora da cifra de Vigenère é que as cifras polialfabéticas são mais difíceis de quebrar por análise de frequência, mas têm uma fraqueza se a chave é curta e constantemente repetida: como resultado, palavras comuns como "de" vão provavelmente aparecer criptografadas segundo as mesmas letras da chave, levando à descoberta de padrões repetidos no texto.
A cifra de Blaise de Vigenère
Vigenère inventou de fato, uma cifra mais robusta: a cifra de autochave, mas o nome de "cifra de Vigenère" está associado à cifra polialfabética. As duas cifras são habitualmente confundidas, e ambas chamadas "le chiffre indéchiffrable", ou seja, "cifra indecifrável". Durante mais de 300 anos esta cifra foi julgada inquebrável, mas Charles Babbage e Friedrich Kasiski, independentemente um do outro, encontraram um modo de a resolver em meados do século XIX.
Ligações externas
- «VIGENÈRE - Criptologia Lápis e Papel» (em português)
- «A cifra de Vigenere» (em português)
- «Vigenère em BASH» (em português)
- «The Vigenère Cipher» (em English). tal como descrito no The Beginner's Guide to Cryptography
- «Basic Cryptanalysis» (em English)