Cifra de Hill

Máquina de Cifra de Hill

Cifra de Hill é um tipo de cifra de substituição baseado em álgebra linear usado para codificação de mensagens. Foi inventada pelo matemático norte americano Lester S. Hill em 1929.

Uma mensagem codificada com uma matriz NxN é chamada de "N-Cifra de Hill". Logo, uma mensagem codificada com uma matriz 2x2 é chamada "2-Cifra de Hill".

Procedimento

Um sistema poligráfico é um sistema de criptografia no qual o texto é separado em conjuntos de n letras, cada qual é substituído por um conjunto de n letras cifradas. As cifras de Hill são uma classe de sistemas poligráficos, baseados em transformações matriciais.[1]

CODIFICAÇÃO:

Primeiro converte-se as letras em números, depois agrupa-se os números n a n e multiplica-se cada grupo por uma matriz quadrada de ordem invertível (ou seja determinante diferente de 0). Os números resultantes são novamente passados para letras, e assim tem-se a mensagem codificada.

Caso algum resultado da multiplicação seja um número maior que o número de letras do alfabeto utilizado, então deve-se utilizar o resto desse número pelo número de letras do alfabeto.

Numerar cada letra do alfabeto de 1  a 26 . Cada letra estará bem determinada por seu número correspondente:

A B C D E F G H I J K L M N O P Q 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

No caso mais simples da cifra de Hill, vamos dividir o texto comum em pares de letras e codificá-lo através do seguintes procedimentos:

1º Escolhemos uma matriz 2 X 2 com entradas inteiras: onde A matriz é a matriz codificadora

A = [ a 11 a 12 a 21 a 22 ] {\displaystyle {\mathsf {A=}}{\begin{bmatrix}a11&a12\\a21&a22\end{bmatrix}}}

2º Dividimos o texto que queremos codificar em pares de letras. Caso o texto tenha um número ímpar de letras, adicionamos no final uma letra fictícia.

3º Substituímos cada letra por seu número correspondente. Escrevemos cada par de números p1 e p2 como um vetor coluna

p = ( p 1 p 2 ) {\displaystyle p={\binom {p1}{p2}}}

obtemos então os valores q=ap cifrados.

4º Por fim, substituímos cada número dos vetores cifrados q , por suas letras equivalentes. Caso algum número do vetor q não pertença ao conjunto Z26 , ou seja, não esteja entre 0  e 25 , obtemos o seu equivalente módulo 26 , que esteja em Z26, para podermos substituí-los por suas letras correspondentes. Assim, juntando as letras de cada par cifrado, teremos o texto codificado.

Nesse caso mais simples, no qual separamos o texto comum em pares de letras, teremos uma 2-cifra de Hill. Em casos mais gerais de uma n-cifra de Hill, basta separarmos o texto em grupos de n  letras e escolher 1º no  passo uma matriz codificadora n x m .

DECODIFICAÇÃO:

Para decodificar a mensagem basta aplicar o mesmo processo, porém utilizando a matriz inversa. Por isso que deve-se usar apenas matrizes invertíveis.

Supondo que recebemos um texto cifrado e conhecemos a matriz codificadora de uma 2-cifra de Hill

A = | a 11 a 12 a 21 a 22 | {\displaystyle A={\begin{vmatrix}a11&a12\\a21&a22\end{vmatrix}}}

Na qual deve ser invertível módulo 26

Se p  é um vetor com os correspondentes numéricos de um par de letras de texto comum, sabemos pela regra de codificação que os vetores q , de correspondentes numéricos dos pares de letras cifradas, são obtidos da forma:

q= p

Assim, podemos dividir o texto cifrado que conhecemos em pares de letras, substituí-los por seus correspondentes numéricos, escrever cada vetor coluna q  e por fim obter os correspondentes vetores p  da forma:

p = A 1 {\displaystyle A^{-1}} q

Onde, nesse caso, A 1 {\displaystyle A^{-1}}  é a inversa módulo 26  de A . Substituindo cada número dos vetores p  por suas letras correspondentes, conseguimos decifrar qual é a mensagem.

Ícone de esboço Este artigo sobre matemática é um esboço. Você pode ajudar a Wikipédia expandindo-o.
  • v
  • d
  • e
  • Portal das tecnologias de informação
  1. «Algebra Linear e Aplicações». www.ime.unicamp.br. Consultado em 17 de setembro de 2024