05.06.2017
Сергей Панасенко ,
начальник отдела разработки программного обеспечения фирмы "Анкад"Рассмотрим на простом примере, как устроена исполнительная процедура электронной цифровой подписи. Предположим, есть два пользователя i и j, и один из них (пусть это будет пользователь i) решил послать другому важные данные, используя ЭЦП. Для этого пользователи должны выполнить следующие действия (рис. 1), состоящие, по сути, из двух этапов: подготовительного и исполнения передачи.
На подготовительном этапе пользователь i создает пару своих личных ключей ЭЦП: секретный ключ Ksi и открытый ключ Kpi. Открытый ключ Kpi вычисляется из соответствующего ему секретного ключа; обратное же вычисление невозможно (аналогично тому, как это происходит с алгоритмами асимметричного шифрования - см. статью "Современные алгоритмы шифрования", "BYTE/Россия" № 8'2003). После этого пользователь i передает открытый ключ Kpi пользователю j.
На этапе исполнения процедуры пользователь i перед отправкой сообщения подписывает его с помощью своего секретного ключа Ksi. Заметим, что пользователь j может проверить подпись пользователя i в сообщении с помощью Kpi - открытого ключа абонента i.
Если же пользователь j тоже захочет ответить пользователю i подписанным сообщением, то он должен создать собственные ключи и передать пользователю i свой открытый ключ для проверки ЭЦП.
С теоретической точки зрения электронная подпись представляет собой последовательность фиксированной длины (длина эта зависит от конкретного алгоритма ЭЦП), которая вычисляется определенным образом с помощью содержимого подписываемой информации и секретного ключа.