Cifra de Hill

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

Esta página existe graças aos esforços das seguintes pessoas:

Timur

Timur

Julia Gomes

Criado: 2021-04-15 18:33:21, Ultima atualização: 2021-04-20 00:41:41
Creative Commons Attribution/Share-Alike License 3.0 (Unported)

Este conteúdo é licenciado de acordo com a Licença Creative Commons de Atribuição/CompartilhaIgual 3.0 (Unported). Isso significa que você pode redistribuir ou modificar livremente este conteúdo sob as mesmas condições de licença e precisa atribuir ao autor original colocando um hyperlink para este trabalho no seu site. Além disto, favor não modificar qualquer referência ao trabalho original (caso houver) que estiverem contidas neste conteúdo.

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