Асимметричные системы электронной подписи (ЭП)
Ассиметричная криптография позволяет любому пользователю зашифровать своё
сообщение открытым ключом получателя. Но остаётся угроза подмены сообщения третьим
лицом (злоумышленником). Для защиты от этого была предложена в 1976 г. У. Диффи и
М. Хелманом идея электронной подписи, вычисляемой на основе закрытого ключа
отправителя и проверяемой открытым ключом отправителя. Таким образом, только
отправитель может поставить свою подпись и в то же время любой желающий может
удостовериться, что это именно его подпись.
Электронная подпись (ЭП) – это присоединяемое к сообщению его криптографическое
преобразование (хеш-образ), которое позволяет при получении проверить авторство и
подлинность сообщения. При этом электронная подпись надёжнее решает не только традиционные задачи
авторства и подлинности документа, которые ранее обеспечивались рукописной подписью
под бумажным документом, но и другие важные задачи электронного документооборота:
- целостность документа;
- невозможность подделки подписи;
- предотвращение отказа от подписи;
- юридическая значимость документа.
Сертификаты
Прежде, чем подписывать документы, пользователю необходимо получить (или создать)
личный сертификат и установить его на свою машину.
Сертификат представляет собой файл, в котором хранится различная информация -
имя владельца, открытый ключ, его e-mail адрес, наименование организации,
выдавшей этот сертификат, и дату, после которой цифровой сертификат считается недействительным.
Выдачей сертификатов занимаются Центры Сертификации (ЦС).
|
Барак желает отправить Яну сообщение Message, заверенное своей подписью |
|
Барак регистрируется в Центре Сертификации |
|
Центр Сертификации вычисляет открытый (e, n) и закрытый (d, n) ключи, создает сертификат и
отправляет полученные данные Бараку |
|
Барак, используя значение n, хеширует свое сообщение и полученный хеш кодирует своим закрытым ключом |
|
Барак отправляет Яну сообщение, предваряя его своей подписью, S+Message.
К сообщению добавляется также его сертификат. Сертификат включает открытый ключ (e, n) |
|
Ян дешифровывает подпись S открытым ключом Барака, получая исходный хеш H'.
Он также, используя значение n, хеширует само сообщение Барака и получает хеш H''. Если оба хеша
равны, то подпись Барака и само его сообщение подлинны. |
Примечание. Выше приведена упрощенная схема пересылки подписанного письма.
В действительности для большей безопасности сертификат, выдаваемый
пользователю, шифруется закрытым ключом самого Центра Сертификации. И, соответственно, когда
адресат, в нашем случае Ян, получив сообщение, для просмотра сертификата
должен воспользоваться открытым ключом ЦС.
Вычисление ЭП
Алгоритм ЭП начинается с предварительного хеширования сообщения – вычисляется
значение некоторой контрольной функции от всего сообщения. Для вычисления хеш-образа H
сообщения T в данной работе предлагается использовать упрощённую хеш-функцию квадратичной свёртки
,
где H0 = 0, n из открытого ключа автора сообщения, M –
коды символов сообщения. После обработки последнего символа получаем хеш-образ всего сообщения H.
В алгоритмах ЭП назначение открытого и закрытого ключей меняются – сообщение подписывается закрытым ключом отправителя, после чего любой может проверить подлинность с помощью открытого ключа отправителя. Вычисление электронной подписи S проводится по хеш-образу H пересылаемого сообщения с помощью закрытого ключа (d, n) автора сообщения по формуле
.
Формирование сообщения, подписанного ЭП, для передачи осуществляется присоединением ЭП S к сообщению M:
.
Например, поставим электронную подпись на сообщение «КАФСИ» с помощью закрытого ключа отправителя (29, 91). Для этого вычислим хеш-образ сообщения.
Таблица 5.1. Вычисление хеш-образа сообщения
i | Символы исходного сообщения Mi |
Коды символов Mi (табл. 1) |
Вычисление хеш-образа Hi |
0 | - | - | H0 = 0 |
1 | К | 12 | H1 = (H0 + M1)2 mod n = (0 + 12)2 mod 91 = 53 |
2 | А | 1 | H2 = (H1 + M2)2 mod n = (53 + 1)2 mod 91 = 4 |
3 | Ф | 22 | H3 = (H2 + M3)2 mod n = (4 + 22)2 mod 91 = 39 |
4 | С | 19 | H4 = (H3 + M4)2 mod n = (39 + 19)2 mod 91 = 88 |
5 | И | 10 | H5 = (H4 + M5)2 mod n = (88 + 10)2 mod 91 = 49 |
Таким образом, хеш-образ H отправляемого сообщения «КАФСИ» равен числу 49.
Вычислим ЭП S по найденному хеш-образу с помощью закрытого ключа S = Hd mod n = 4929 mod 91 = 56
Присоединив подпись к сообщению, получим сообщение для передачи «56КАФСИ»
Задание на самостоятельное выполнение
В качестве сообщения выберите первые пять букв своей фамилии. Вычислите хеш-образ и рассчитайте ЭП. Для проверки правильности своих расчетов заполните форму
Тест 5.1. Вычисление электронной подписи
В отчет вставьте скрин формы с результатами теста. |
Ниже Вам предлагается сдать тест на знание алгоритма применения ЭП
Тест 5.2. Проверка знаний алгоритма вычисления электронной подписи
В отчет вставьте скрин формы с результатами теста. |
Ссылка на первоисточник