Cifra de Hill

Esta calculadora usa cifra de Hill para criptografar/descriptografar um bloco de texto

De acordo com a definição na wikipédia, na criptografia clássica, a cifra de Hill é uma cifra de substituição poligráfica baseada na álgebra linear. Inventada por Lester S. Hill em 1929, foi a primeira cifra poligráfica em que era prático (embora raramente) operar em mais de três símbolos ao mesmo tempo. A explicação da cifra, que está abaixo da calculadora, presume um conhecimento elementar de matrizes.

PLANETCALC, Cifra de Hill

Cifra de Hill

Todos os símbolos a serem criptografados devem pertencer ao alfabeto
Texto transformado
 

Como funciona

Primeiro, os símbolos do alfabeto usado (alfabeto como um conjunto de símbolos, por exemplo, o alfabeto na calculadora acima inclui espaço, vírgula e símbolos de ponto) são codificados com algarismos, por exemplo, o número de ordem do símbolo no conjunto. Seguidamente, escolhemos uma matriz de tamanho n x n, que será a chave da cifra. O texto é dividido em blocos de tamanho n, e cada bloco forma um vetor de tamanho n. Cada vetor é multiplicado pela matriz chave de n x n. O resultado, vetor de tamanho n, é um bloco de texto criptografado. A aritmética modular é usada; ou seja, todas as operações (adição, subtração e multiplicação) são feitas no anel de números inteiros, onde o módulo é m - o comprimento do alfabeto. Isso nos permite forçar os resultados a pertencerem ao mesmo alfabeto.

A chave é a matriz; entretanto, é conveniente usar a frase-chave, que é transformada na representação e matriz de algarismos. Para criar uma matriz de tamanho n x n, o comprimento da frase-chave deve ser o quadrado de um número inteiro, ou seja, 4, 9, 16.

Restrições adicionais à chave são impostas pela necessidade de descriptografar o texto criptografado :)

E, para que isso aconteça, precisamos ter um inverso modular da matriz-chave em {Z}}_{{m}}^{n} - anel de números inteiros módulo m.

Se o vetor de origem B é multiplicado pela matriz A para obter o vetor C, então, para restaurar o vetor B do vetor C (descriptografar o texto), é necessário multiplicá-lo pelo inverso modular da matriz.

BA=C \to CA^{-1}=BAA^{-1}=BE=B

Portanto, eles têm as seguintes restrições:
O determinante da matriz não deve ser igual a zero e, adicionalmente, o determinante da matriz deve ter um inverso multiplicativo modular.

A fórmula impõe o último

A^{-1} = \frac{1}{\det A}\cdot C^* \to A^{-1} = (det A)^{-1}\cdot C^*.

onde a operação de multiplicação substitui a operação de divisão pelo inverso multiplicativo modular.

Para ter um inverso multiplicativo modular, determinante e módulo (comprimento do alfabeto) devem ser inteiros primos, consulte Inverso Multiplicativo Modular. Para aumentar a probabilidade disso, o alfabeto é expandido, portanto, seu comprimento se torna o número inteiro primo. É por isso que o alfabeto inglês na calculadora acima é expandido com espaço, vírgula e ponto até 29 símbolos; 29 é um número inteiro primo.

Nem toda frase-chave é qualificada para ser a chave; no entanto, ainda há mais do que o suficiente.

URL copiado para a área de transferência
PLANETCALC, Cifra de Hill

Comentários