- не дает самому этому лицу возможности отказаться от обязательств, связанных с подписанным текстом;
- гарантирует целостность подписанного текста.
Цифровая электронная подпись представляется в виде относительно небольшого количества дополнительной цифровой информации, передаваемой вместе с подписываемым текстом.
Система электронной цифровой подписи включает в себя две процедуры:
1) процедуру постановки подписи, в которой отправитель прежде всего вычисляет хэш-функцию h(M) подписываемого текста M. Вычисленное значение хэш-функции h(M) представляет собой один короткий блок информации m, характеризующий весь текст M в целом. Затем число m шифруется секретным ключом отправителя. Получаемая при этом пара чисел представляет собой электронную цифровую подпись для данного текста M.
2) процедуру проверки подписи, при которой получатель сообщения снова вычисляет хэш-функцию m = h(M) принятого по каналу текста M, после чего при помощи открытого ключа отправителя проверяет, соответствут ли полученная подпись вычисленному значению m хэш-функции.
Как видно, в обеих процедурах системы электронной цифровой подписи участвует алгоритм хеширования исходного текста M, т.е. по существу сжатия подписываемого документа M произвольной длины до фиксированной длины в несколько десятков или сотен бит. Следует отметить, что хэш-функция должна удовлетворять целому ряду условий:
- хэш-функция должна быть чувствительна к всевозможным изменениям в тексте M, таким как вставки, выбросы, перестановки и т.п.;
- хэш-функция должна обладать свойством необратимости, то есть задача подбора документа M’, который обладал бы требуемым значением хэш-функции, должна быть вычислительно неразрешима;
- вероятность того, что значения хэш-функций двух различных документов (вне зависимости от их длин) совпадут, должна быть ничтожно мала.
- Вычислительный алгоритм безопасного хэширования на основе использования процедур обучения иммунокомпьютинга состоит из следующих шагов:
Шаг 1. Представим текстовую информацию исходного текста M в виде множества отдельных букв I, т.е. в виде:
I = {i1, i2,…, ik} (1)
и сопоставим в строгое соответствие каждой букве ik определенную цифру ak, т.е. вместо буквенного множества (1) в результате получим цифровой ряд вида:
A = {a1,.. ,ak} (2)
Шаг 2. Сформируем определенным образом из ряда (2) матрицу A размерности (s x q).
Шаг 3. Сгенерируем случайным образом набор цифр bk. В качестве примера возьмем формулу генератора случайных чисел вида: bk = (p+k)2/100, т.е. получим цифровой ряд вида:
B = {b1, …., bk}. (3)
Шаг 4. Сформируем из ряда (3) матрицу B одинаковой с матрицей A размерности (s x q).
Шаг 5. Осуществим сингулярное разложение матрицы А, т.е. определим множества сингулярных чисел, правых и левых сингулярных векторов:
{s1, s2, sd}, {U1, U2,…Ud}, {V1, V2,….,Vd}.
Шаг 6. Вычислим значение энергии связи w. Результатом хэширования будет величина l равная w.
После применения вышеуказанного алгоритма, следуя процедуре постановки подписи, автор электронного документа передает получателю тройку (M, l, p), где l представляет собой электронную цифровую подпись, а p - открытый ключ.
Пусть, к примеру, текстовый документ M представлен в виде сообщения: «Петров Л.П. вылетел 17 января в Москву. Прошу встретить. Иванов.». Сопоставляя в строгое соответствие каждой букве указанного сообщения цифру, получим ряд вида (2), элементы которого отражены в таб. 3.
Таблица 3 Цифровое соответствие букв сообщения M
П | е | т | р | о | в | Л | . | П | . | в | ы | л | е | ||
149 | 18 | 54 | 48 | 42 | 124 | 53 | 158 | 82 | 149 | 82 | 53 | 124 | 81 | 33 | 18 |
т | е | л | 1 | 7 | я | н | в | а | р | я | в | ||||
54 | 18 | 33 | 53 | 1 | 7 | 53 | 93 | 39 | 124 | 114 | 48 | 93 | 53 | 124 | 53 |
М | о | с | к | в | у | . | П | р | о | ш | у | в | с | ||
155 | 42 | 51 | 30 | 124 | 57 | 82 | 53 | 149 | 48 | 42 | 72 | 57 | 53 | 124 | 51 |
т | р | е | т | и | т | ь | . | И | в | а | н | о | в | . | |
54 | 48 | 18 | 54 | 27 | 54 | 84 | 82 | 53 | 152 | 124 | 114 | 39 | 42 | 124 | 82 |
На основе исходных данных, сформируем матрицу A размерности (8 x 8) вида:
. (4)
Подразумевая, что p = 5 сгенерируем ряд (3). Матрица B размерности (8 x 8) будет иметь вид:
. (5)
Применяя (1), получим: l = 1656,77.
Согласно процедуре проверки подписи получатель электронного документа, в свою очередь, по заранее согласованной с автором и переданной по защищенному каналу, формуле генератора случайных чисел (3), а также алгоритму хэш-функции вида восстанавливает матрицы A’ и B’, которые, в случае достоверной передачи, должны совпадать с (4) и (5). Затем вычисляет численное значение хэш-функции l’. В том случае если выполнится равенство вида:
l = l'', (6)
то можно с уверенностью сказать, что электронный документ дошел по телекоммуникационному каналу до адресата в неискаженном злоумышленником виде и электронная цифровая подпись автора подлинная.
Особо следует отметить, что для обеспечения наилучшей защищенности передаваемой информации исходный текст M и значение хэш-функции l можно зашифровать при помощи известных, действующих криптографических методов.
В виду того, что созданная по предложенному алгоритму хэш-функция полностью удовлетворят вышеотмеченным свойствам, а сам алгоритм претендует на нестандартность и хорошо программно реализуем, созданная на основе указанного алгоритма система электронной цифровой подписи будет обеспечивать целостность автоматизированной системы обработки и хранения информации и надежную аутентификацию подлинности электронного документа и его автора.
Целью работы является реализация программной системы безопасного хэширования сообщения
произвольной длины на основе средств универсальных систем MATLAB.1. Открыть универсальную систему MATLAB.
2. Получить у преподавателя таблицу с обучающей выборкой для реализации алгоритма формирования электронной цифровой подписи.
3. Реализовать вычислительную процедуру обучения с экспертом (использовать программный модуль лабораторной работы № 3).
4. Реализовать вычислительную процедуру самообучения (использовать программный модуль лабораторной работы № 4).
5. Представить результаты реализации алгоритма формирования электронной цифровой подписи.
6. Оформить тематическую заглавную страницу лабораторной работы № 9.
7. Сохранить все результаты выполнения работы в файле на диске.
Отчетом о лабораторной работе № 9 является файл с именем, совпадающим с фамилией студента с результатами работы в папке Мои документы/номер группы.
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.