Cifra de Vigenère é um método de encriptação que usa uma série de diferentes cifras de César baseadas em letras de uma senha, uma palavra chave que deve ser combinada previamente entre o emissor e o receptor.

A cifra de Vigenère tem o nome de Blaise de Vigenère (na imagem), embora tenha sido inventada antes por Giovan Batista Belaso. Vigenère inventou uma cifra mais robusta

Figura 3 Blaise de Vigenère, 16th century French diplomat and cryptologist. Portrait by Thomas de Leu.

Fonte:  Domínio público < http://commons.wikimedia.org/wiki/File:Vigenere.jpg > Acesso 17/05/2015

Numa cifra de César, cada letra do alfabeto é deslocada da sua posição um número fixo de lugares; por exemplo, se tiver uma deslocação de 3, A torna-se D, B fica E, etc.

A cifra de Vigenère consiste na sequência de várias cifras de César com diferentes valores de deslocamento.

Para fazer uso da cifra de Vigenère, devemos usar uma tabela de alfabetos. Essa tabela 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.

O quadrado de Vigenère:

Como podemos criar mensagens criptografadas usando a tabela?

Podemos cifrar a mensagem: olho por olho, dente por dente usando a cifra de Vigenère, para isso é necessário escolher uma chave para cifrar a mensagem.

Podemos tomar como exemplo a palavra-chave: legal

Uma vez definido a palavra chave que será utilizada no processo de criptografia os passos seguintes são utilizar a seguinte ordem:

(K) Chave de criptografia

(P) Mensagem em texto plano

(C) Mensagem Criptografada

Exemplo:

lwgallegallegallegallegA
OLHOPOROLHODENTEPORDENTE

Ao observar o quadrado, na primeira linha é possível notar que existe o alfabeto completo, usado para o texto plano. Assim ao encontrar a primeira letra do texto plano na primeira linha do quadrado, em nosso exemplo a letra é o (o).

Procure na tabela numerada o valor correspondente ao L que é a primeira letra da chave. Encontraremos L = 11

Uma vez em encontrado o valor referente basta encontrar a intersecção entre a linha 11 e a coluna da letra do texto plano (o).

A intersecção entre a linha 11 e a coluna da letra “o” é Z.

A cifra de Vigenère foi considerada inquebrável (indecifrável).

Repetindo letra a letra usando esse processo podemos encontrar

lwgallegallegallegallegA
OLHOPOROLHODENTEPORDENTE
ZPNPAZVULSZHKNEPTUROPRZE

É possível desenvolver algebricamente esse método se as letras A–Z forem mapeadas nos números inteiros 0–25, e a adição módulo 26 for aplicada, a encriptação pode ser escrita:

Onde C é a mensagem criptografada, P texto plano, K a chave. E o i representa o índice.

Exemplo:

C=14+11 (Mod 26) => Portanto C=25

P=25-11+26(mod 26) => Portanto P=14