Cifra de Vigenère

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 AZ forem mapeadas nos números inteiros 1–26, e a adição módulo 26 for aplicada, a criptografia pode ser escrita:

C_i \equiv P_i + K_i \pmod{26},

e a decriptação,

P_i \equiv C_i - K_i + 26\pmod{26}.

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!