Асимметричные системы электронной подписи (ЭП)

Ассиметричная криптография позволяет любому пользователю зашифровать своё сообщение открытым ключом получателя. Но остаётся угроза подмены сообщения третьим лицом (злоумышленником). Для защиты от этого была предложена в 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К12H1 = (H0 + M1)2 mod n = (0 + 12)2 mod 91 = 53
2А1H2 = (H1 + M2)2 mod n = (53 + 1)2 mod 91 = 4
3Ф22H3 = (H2 + M3)2 mod n = (4 + 22)2 mod 91 = 39
4С19H4 = (H3 + M4)2 mod n = (39 + 19)2 mod 91 = 88
5И10H5 = (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. Вычисление электронной подписи


Для того, чтобы увидеть форму, вам необходимо установить Java плагин для вашего браузера и разрешить выполнение Java-апплетов.

Как установить Java плагин в браузере?

Как включить Java в браузере?

Если Вы пользуетесь браузером IE9 с установленным Java плагином и апплет тем не менее не работает, то возможно, что Java-апплет фильтруется ActiveX Filtering, новой функцией в IE9. Для ее отключения выберите Сервис/Безопасность и снимите галочку с Фильтрация ActiveX.

В отчет вставьте скрин формы с результатами теста.
Ниже Вам предлагается сдать тест на знание алгоритма применения ЭП

Тест 5.2. Проверка знаний алгоритма вычисления электронной подписи


В отчет вставьте скрин формы с результатами теста.


Ссылка на первоисточник