Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Шифр Хилла

30K
04 октября 2009 года
Fallen Soul
8 / / 11.01.2008
Помогите реализовать на Делфи, Си, Си++ или С# Шифр Хилла (с генерацией обратной матрицы по модулю 256, размерностью N*N) 3<N<=8, размерность матрицы является дополнительным параметром ключа.
У меня нет абсолютно никаких идей по этому поводу. И если можно, то объясните, каким образом можно использовать модуль 256, ведь для шифрования текста используется модуль 26.
12K
05 октября 2009 года
Ghox
297 / / 26.07.2009
Насчет модуля 256 - наверно такой модуль нужен для обеспечения возможности зашифровать строку символов, которая может состоять из любых символов, которые может содержать один байт, а число вариантов значения, записанного в 1 байт, равно 256. Модуль 26 используется, если в шифруемой строке есть только буквы латинского алфавита, и их регистр при этом не учитывается.

Думаю, всё должно выглядеть примерно так. Программа каким-то образом (например, путём считывания из файлов) получает матрицу для преобразования (вместе с её размерностью N), и строку символов которую надо зашифровать. Далее по алгоритму Хилла, строка разбивается на подстроки по N символов (байт), каждый из символов имеет соответствующее ему числовое значение (от 0 до 255), которое нужно использовать для шифрования. Каждая из этих подстрок (можно представить в виде массива из соответствующих символам чисел), путем перемножения на матрицу шифрования, преообразуется в зашифрованную, и из зашифрованных подстрок составляется итоговая зашифрованная строка.

Насчет расчёта обратной матрицы - нужно найти алгоритм её расчета (я думаю должен быть где-то описан, но у меня с ходу найти его в Интернете не получилось), и реализовать в коде. И, как я понимаю, поскольку обратная матрица в алгоритме Хилла используется для дешифровки, в программе нужно также реализовать дешифровку (иначе обратная матрица просто-напросто не нужна).
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог