Saltar para o conteúdo

Cifra Playfair

Origem: Wikipédia, a enciclopédia livre.
O sistema Playfair foi inventado por Charles Wheatstone, que o descreveu pela primeira vez em 1854.
Lord Playfair, que promoveu o uso da cifra que acabaria por ficar associada ao seu nome.

Criada por Charles Wheatstone, a cifra Playfair foi apresentada em 1854 em um jantar oferecido pelo lorde Granville. Estava presente o ilustre (e muito rico) lorde Palmerstone. Wheaststone demonstrou seu sistema usando a palavra chave Palmerstone.

A cifra Playfair é uma substituição polialfabética em bloco bigrâmico (ou digrâmico). Nesta substituição, as letras são tomadas duas a duas (bloco bigrâmico), de acordo com regras aplicadas a uma grade de 5 por 5 que contém o alfabeto cifrante.

A segurança desta cifra é baixa e seu interesse é apenas histórico. A criptoanálise pode ser feita através da análise da frequência de dígrafos. Por ser uma cifra polialfabética, a Playfair dificulta um pouco a criptoanálise e, por ser uma cifra de dígrafos, é preciso fazer uma análise da frequência de dígrafos. Como existem mais dígrafos do que letras, o número de elementos disponíveis para a análise diminui. Por exemplo: numa mensagem de 100 letras, cifrada com uma substituição simples, temos 100 elementos derivados de uma escolha de 26; numa mensagem de 100 letras, cifrada em dígrafos, temos 50 elementos derivados de uma escolha de 676.

A Playfair possui outras vantagens: não precisa de tabelas ou dispositivos complicados, possui uma palavra-chave que pode ser memorizada ou trocada com facilidade, é muito fácil de ser implementada e pouco sujeita a erros. Devido a estas características o sistema é perfeito para ser usado como uma "cifra de campo".

Funcionamento

[editar | editar código-fonte]

A codificação de um texto utilizando a cifra Playfair envolve quatro passos: escolha da mensagem e senha, criação da matriz de cifragem, formatação da mensagem e a cifragem.


Passo 1: Escolha da mensagem e da senha.

[editar | editar código-fonte]

Para começar, escolhemos um texto que será cifrado.

Por exemplo: Os inimigos estão avançando.


Depois, escolhemos uma palavra ou frase que atuará como senha para cifrar a mensagem.

Por exemplo: Codificar.



Passo 2: Criação da matriz de cifragem.

[editar | editar código-fonte]

Agora que já temos a mensagem e a senha, precisamos preencher a matriz de com as letras do alfabeto. Para cifrar e decifrar os textos, a cifra Playfair usa uma matriz 5×5 preenchida com as 26 letras do alfabeto latino. Para isso, no modo clássico da cifra, a letra I passa a valer tanto como I quanto como J, o que dependerá da interpretação de quem decodificar a mensagem.

O primeiro passo do preenchimento é adicionar as letras da senha à matriz, removendo as letras que se repetem. No caso da senha escolhida acima, as letras I e C aparecem mais de um vez na palavra. Ao fim desta etapa, a matriz ficará da seguinte forma:

Primeiro passo para montagem da matriz de cifragem
Primeiro passo para montagem da matriz de cifragem

Agora preenchemos os espaços em branco com as 19 letras que faltam para completas o alfabeto. Sempre da esquerda para a direita, de cima para baixo e seguindo a ordem alfabética das letras. Por exemplo, como a letra A já está na matriz, o próximo espaço vazio irá receber a letra B. Já a célula depois desta, seguido a ordem alfabética, deveria receber a letra C, mas as letras C e D também já estão na matriz, por isso ela receberá a letra E. Ao fim da segunda etapa, a matriz de cifragem está pronta, ficando da seguinte forma:

Passo 3: Formatação da mensagem.

[editar | editar código-fonte]

A mensagem deve ser formatada de acordo com as seguintes regras:


  • Todas a letras de ser escritas em maiúsculo.

Ex: Mensagem > MENSAGEM


  • Sinais gráficos devem ser retirados (acentos, cedilha).

Ex: VOCÊ > VOCE


  • As letras devem ser agrupadas em pares.

Ex: MENSAGEM > ME NS AG EM


  • Se a quantidade for ímpar, deve ser adicionada uma "letra falsa" para formar o último par (normalmente X ou Z).

Ex: NUNCA > NU NC AX


  • Se um par for formado por letras iguais, a segunda letra deve ser colocada no par seguinte e adiciona-se uma "letra falsa" (normalmente X ou Z).

Ex: CARRO > CA RX RO


No nosso caso, a mensagem formatada ficará assim:

OS IN IM IG OS ES TA OA VA NC AN DO


Passo 4: Cifragem.

[editar | editar código-fonte]

A cifragem obedece a três regras:


Para substituir cada par, buscamos na matriz a célula onde a linha da primeira letra do par se encontra com a coluna da segunda letra. Depois, buscamos na matriz a célula onde a linha da segunda letra do par se encontra com a coluna da primeira letra. Fazemos isso para todos os pares.

Ex: OS

A letra O está na linha 1, S está na coluna 3; a célula onde elas se encontram possui a letra D.

A letra S está na linha 4, O está na coluna 2; a célula onde elas se encontram possui a letra Q.


Desta forma o par OS, apos a cifragem, se torna DQ.


Se as letras estão na mesma linha, cada letra é trocada pela letra da coluna da direita. Caso a letra esteja no final da linha troca-se pela primeira letra da mesma linha.

Ex: DO

D e O estão na mesma linha, por isso cada uma substituída pela próxima letra à direita. Sendo D substituído por I/J e O substituído por D.

Desta forma o par DO, apos a cifragem, se torna ID.


Se as letras estão na mesma coluna, cada letra é trocada pela letra da linha logo abaixo. Caso a letra esteja no final da coluna, troca-se a letra pela primeira letra da mesma coluna.

Ex: IM

I e M estão na mesma coluna, por isso cada uma substituída pela próxima letra a abaixo. Sendo I substituído por E e M substituído por T.

Desta forma o par IM, apos a cifragem, se torna ET.



Por último, removemos os espaços. Ao fim do processo de cifragem teremos a mensagem:

DQFMETFEDQBTEPCRCHHFGHID

Ícone de esboço Este artigo sobre Criptografia é um esboço. Você pode ajudar a Wikipédia expandindo-o.