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 Leone Battista Alberti cerca de 1465.
A cifra de Vigenère pode ser vista algebricamente. Se as letras A–Z forem mapeadas nos números inteiros 1–26, e a adição módulo 26 for aplicada, a criptografia pode ser escrita:
e a decriptação,
Seu funcionamento:
Dada um texto puro qualquer de tamanho x, e dada uma chave de tamanho t, o texto puro é dividido em t-blocos e a chave é aplicada por um deslocamento de acordo com o método de encriptação mostrado, desde modo:
Puro texto: EU ESTAREI EM CASA A PARTIR DAS VINTE HORAS
Chave: HUMANO
Como o método descreve devemos dividir o texto puro em blocos de tamanho igual ao período da chave (tamanho da mesma) e aplicar o deslocamento das letras, ou seja:
EUESTA REIEMC ASAAPA RTIRDA SVINTE HORAS
HUMANO HUMANO HUMANO HUMANO HUMANO HUMAN
MPRTHP ZYVFAR INNBDP ZOVSRP AGVOGT PJEBF
O resultado da cifragem então é: MPRTHP ZYVFAR INNBDP ZOVSRP AGVOGT PJEBF
No tópico seguinte irei mostrar o ataque de Kasiski, que quebra essa cifra. Enjoy!