Алгоритм электронной цифровой подписи

Электронная цифровая подпись представляет собой небольшое количество информации, передаваемой вместе с подписываемым электронным сообщением.

Алгоритм использования ЭЦП включает:

• процедуру постановки подписи;

• процедуру проверки подписи.

В процедуре подписания используется секретный ключ отпра­вителя сообщения, в процедуре проверки — открытый ключ от­правителя.

Подписание электронного сообщения ЭЦП. Подписание элек­тронного сообщения ЭЦП состоит в вычислении при помощи программы»подпись» некоторого числа m = h(M) и последующе­го шифрования числа m секретным ключом с использованием ал­горитма шифрования.

Число m получается в результате обработки исходного сообщения хэш-функцией. Хэш-функция преобразует исходный текст произвольной длины (от пустого сообщения до файла в несколько мегабайт) в стандартное сообщение определенной длины. В отечественном алгоритме ЭЦП ГОСТ Р 34.10—94 этот размер определен равным 32 байтам.

Процедуру подписания можно описать математической фор­мулой

S = f (m, Ks) = f (h(M), Ks),


где M — текст исходного сообщения, Ks — секретный ключ, h(M) — функция хэширования, f — алгоритм шифрования, S — цифровая подпись.

Хэш-функция должна удовлетворять определенным требованиям. Необходимо, чтобы результат обработки исходного текста хэш-функцией однозначно соответствовал исходному сообщению и изменялся при любой модификации последнего. Результат обра­ботки исходного текста хэш-функцией должен вычисляться таким образом, чтобы для любого сообщения М было бы невозможно подобрать такое сообщение М', для которого h(M) = h(M'). К наиболее известным функциям хэширования относятся:

• отечественный стандарт ГОСТ Р 34.11—94. Вычисляет хэш-значение размером 32 байта;

• MDx (Message Digest) — семейство алгоритмов хэширования, которые наиболее распространены за рубежом. Например, алгоритм MD5 применяется в последних версиях Microsoft Windows для преобразования пароля пользователя в 16-байтное число;

• SHA-1 (Secure Hash Algorithm) — алгоритм вычисления 20-байтного хэш-значения входных данных. Он широко рас­пространен в сетевых протоколах защиты информации.

После шифрования числа m секретным ключом с использова­нием одного из алгоритмов шифрования получаем электронную цифровую подпись сообщения М. Она передается вместе с самим сообщением.

В качестве алгоритмов шифрования используются следующие алгоритмы:

• RSA;

• DSA (Digital Signature Algorithm), который предусматривает применение в качестве хэш-функции алгоритма SHA;

• отечественные стандарты хэширования ГОСТ Р 34.10—94 и ГОСТ Р 34.11—94 [100, 101], который шифрует исходные данные, используя другой отечественный криптостандарт ГОСТ 28147-89;

• новый стандарт ГОСТ Р 34.10—2001;

• алгоритм фирмы ЛАНКрипто.

Процедура проверки. Получатель сообщения, подписанного ЭЦП, на основании принятого сообщения М вычисляет хэш-функ­цию h(M), затем при помощи открытого ключа отправителя рас­шифровывает ЭЦП и получает отправленное значение m = h(M).

Из сопоставления принятого значения m и вычисленного делается заключение о подлинности электронного сообщения.

Метод ЭЦП и методы асимметричных алгоритмов шифрова­ния различаются принципиально. При ассиметричном шифрова­нии для шифрования сообщения используется открытый ключ по­лучателя, а при расшифровке шифротекста получатель использует свой закрытый (секретный) ключ. В алгоритме ЭЦП для подписа­ния хеш-функции требуется секретный ключ автора сообщения, а для проверки ЭЦП — открытый ключ автора сообщения.


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: