Методы и средства защиты информации

Цифровая (электронная) подписьна основе криптосистемы RSA


Асимметричная криптография позволяет принципиально решить задачу подтверждения истинности электронного документа. Эта возможность основана на том, что зашифровать данные, используя секретный ключ d вместо открытого ключа e может только тот, кому секретный ключ известен. При этом существует возможность проверки применения секретного ключа к данным без его раскрытия.

Действительно, пусть нам необходимо заверить блок m открытого текста. Сам открытый текст не является секретным. Зашифруем m используя d вместо e: с = md(mоd n). Отправим сообщение двойной длины вида m||c. Получатель имеет возможность проверить нашу подпись, поскольку после возведения c в степень e должно получаться значение s = m (при истинной подписи) и значение s ¹ m в противном случае. Для нашего примера m =(3, 1, 2),

c = (27, 1, 8), m || с = (3, 1, 2, 27, 1, 8).

На практике удвоение длины сообщения, очевидно, является нежелательным. Это является одной из причин, по которым вместо c = md(mod n) используются данные вида c = (h(m))d(mod n). Здесь функция h, называемая хеш-функцией, отображает сообщения произвольной длины в короткие блоки фиксированной длины, причем так, что кроме блока m подобрать другой блок z со свойством h(m) = h(z) практически невозможно.



Содержание раздела