A codificação com a cifra de Vigenère

O que é e como usar a codificação da cifra de Vigenère

A codificação com a cifra de Vigenère é um criptossistema simétrico, ou seja, utilizar a mesma chave para codificar e decodificar. A codificação com a cifra de Vigenère assemelha-se muito à codificação César, exceto que a primeira usa uma chave mais longa para neutralizar o principal problema da codificação César, isto é, o fato de uma letra só poder ser codificada de uma maneira. Para resolver esse problema, utiliza-se uma palavra chave ao invés de um simples caractere. Em primeiro lugar, cada letra é associada a um número correspondente:

A B C D E F G H I J K L M N O P R S T U V W X Y Z
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26

Isto consiste em codificar um texto com uma palavra acrescentando, a cada uma das suas letras, a letra de uma outra palavra, chamada palavra-chave. A palavra-chave é acrescentada indefinidamente no texto a ser codificado e, depois, o código ASCII de cada uma das letras da palavra-chave é adicionado ao texto a ser criptografado. Por exemplo, o texto rendez-vous à midi (encontro ao meio-dia) com a palavra-chave bonjour (bom dia) será codificado da seguinte maneira:

Texto original:

r e n d e z v o u s a m i d i
114 101 110 100 101 122 118 111 117 115 97 109 105 100 105

Palavra-chave:

b o n j o u r
98 111 110 106 111 117 114

Texto criptografado:

r+b e+o n+n d+j e+o z+u v+r o+b u+o s+n a+j m+o i+u d+r i+b
114 + 98 101 + 111 110 + 110 100 + 106 101 + 111 122 + 117 118 + 114 111 + 98 117 + 111 115 + 110 97 + 106 109 + 111 105 + 117 100 + 114 105 + 98

Para descriptografar esta mensagem, basta ter a chave secreta e fazer a decodificação inversa, utilizando a subtração.

Embora esta codificação seja muito mais segura do que a codificação César, ela pode, assim mesmo, ser quebrada facilmente. Quando as mensagens são muito mais longas do que a palavra-chave, é possível identificar o comprimento da palavra-chave e utilizar, para cada sequência de palavra-chave, o método de cálculo da frequência com que aparecem as letras, determinando assim, um a um, os caracteres das palavras-chave.

Para evitar este problema, uma solução consiste em utilizar uma palavra-chave cujo tamanho seja próximo daquele do texto, para evitar um estudo estatístico do texto criptografado. Este tipo de sistema de codificação é chamado de sistema one-time pad. O problema com este tipo de método é o comprimento da chave de criptografia (quanto maior o texto a ser criptografado, maior deverá ser a chave), que impede a sua memorização e implica numa probabilidade de erro na chave muito maior (um só erro torna o texto ilegível).

Nosso conteúdo é produzido em colaboração com especialistas em tecnologia da informação sob o comando de Jean-François Pillou, fundador do CCM.net. CCM é um site sobre tecnologia líder em nível internacional e está disponível em 11 idiomas.
Este documento, intitulado 'A codificação com a cifra de Vigenère', está disponível sob a licença Creative Commons. Você pode copiar e/ou modificar o conteúdo desta página com base nas condições estipuladas pela licença. Não se esqueça de creditar o CCM (br.ccm.net) ao utilizar este artigo.

Assine nossa newsletter!

Assine nossa newsletter!
Junte-se à comunidade