Онлайн калкулатор Hill Cipher

Калкулаторът ви позволява да криптирате и декриптирате текст с помощта на метода на Hill.

Шифърът на Хил е шифър за заместване на полиграма, базиран на линейна алгебра. Лестър С. Хил изобретява този шифър през 1929 г. Калкулаторът по-долу ви позволява да шифровате и дешифрирате текст с помощта на метода на Хил. Подробности за шифъра за заинтересованите са дадени под калкулатора.

Хил Шифър

Всички знаци, които трябва да бъдат шифровани, трябва да са част от азбуката

Как работи шифърът

Като начало, използваните знаци на азбуката (в широкия смисъл на думата, например, азбуката може да включва интервал и някои препинателни знаци, както в калкулатора по-горе) са кодирани с числа, тоест на всеки знак от азбуката се присвоява определен номер, например сериен номер. Избира се матрица n x n, която ще бъде ключът на шифъра. Целият текст е разделен на блокове от n букви, чиито числени стойности се считат за вектор с размерност n. Всеки вектор се умножава по n × n криптираща матрица. Полученият блок (вектор) с размерност n е шифрован текст, съответстващ на оригиналния блок. Операциите събиране и умножение се извършват в пръстена от остатъци по модул m, където m е размерността на азбуката. Очевидно това се прави така, че стойностите на получения блок също да принадлежат към оригиналната азбука.

Ключът по принцип може веднага да бъде зададен от матрица, но за удобство още по-често се задава от кодова фраза, чието цифрово представяне се трансформира в матрица. Ясно е, че за да се получи квадратна матрица n x n, дължината на паролата трябва да бъде квадрат на цяло число, т.е. 4, 9, 16, 25 и т.н.

Допълнителни ограничения върху ключа за шифър се налагат от необходимостта да се дешифрира шифротекста :) Да предположим, че ниекриптира оригиналния вектор B с матрицата за криптиране A и получи вектора C - съответстващ на шифрования текст. За да възстановите оригиналния вектор B от вектора C (дешифрирате текста), векторът C трябва да бъде умножен по матрицата, обратна на матрицата A.

По този начин, за да бъде възможна операцията по декриптиране, криптиращата матрица трябва да бъде обратима в пръстена от остатъци по модул m.

Това предполага две условия: детерминантата на матрицата не трябва да е равна на 0 и, освен това, детерминантата на матрицата трябва да има обратен елемент в пръстена на остатъка по модул m. Второто следва от формулата . където операцията на деление с детерминанта е заменена с операция на умножение с обратния елемент.

За да има обратна, детерминантата и модулът (дължината на азбуката) трябва да са взаимно прости. Вижте Обратен елемент в модулен пръстен. За да се увеличи вероятността от това, обикновено се съставя азбука, чиято дължина е просто число. Следователно българската азбука в този пример е разширена с интервали и пунктуация до 37 знака.

Не всяка матрица е подходяща за шифъра на Хил (и не всяка кодова дума), но въпреки това има повече от достатъчно подходящи. Между другото, когато пишех калкулатора, случайно избрах грешната кодова дума за първи път - „abyr valg“.