Октябрь 13, 2005

Цифровая подпись – это очень просто (Часть 2)

Большинство методов аутентификации электронных сообщений базируются на тех или иных криптографических алгоритмах.

Такие методы аутентификации электронных сообщений существуют давно, но только с появлением нового направления в криптографии они стали выполнять все требования, которые предъявляются к цифровой подписи.

Новое направление в криптографии связано с введение понятия системы с открытыми ключами. Одна из таких систем появилась в 1978 году, как результат работы трёх её авторов R. Rivest, A. Shamir, L. Adleman, и сейчас носит название RSA.

Такие криптосистемы с самого начала были ориентированны на обеспечение возможности выполнения с помощью них цифровой подписи электронных документов. Для полноты картины здесь необходимо упомянуть ещё одну систему с открытыми ключами, автором которой является T. El Gamal- и которая стала основой для создания государственных стандартов на цифровую подпись США (Digital Signature Standard - DSS), так и России (ГОСТ 34.10).

Прежде чем рассматривать цифровую подпись как таковую, мы должны понять, в чём состоит суть криптосистем с открытыми ключами.

Криптография с открытыми ключами

По большому счёту для человека не знакомого с криптосистемами на основе открытых ключей и имеющего поверхностное представление о криптографии вообще, понятие криптография с открытыми ключами, по крайней мере, кажется нонсенсом: “Как можно защитить информацию, используя несекретный ключ?”

Дело в том, что в таких системах на самом деле у каждого участника (абонента) есть два разных, но связанных математически друг с другом ключа: один – совершенно секретный, а второй открытый и доступный всем абонентам.

Система устроена так, что сообщение, зашифрованное с помощью открытого ключа, может быть открыто только с помощью секретного ключа и наоборот. Таким образом, ключи являются взаимно обратными друг к другу. Обычно эти ключи для удобства обозначают буквами E и D.

Как мы уже говорили выше, каждый абонент системы имеет свою пару ключей (E и D). Эти ключи он создает сам и, поэтому секретный ключ действительно принадлежит только ему (при этом он должен хранить его в соответствии с требованиями, предъявляемыми к сохранности секретных документов). Свои ключи E все абоненты хранят в секрете, а ключи D делаются доступными для пользователей системы.

Цифровая подпись

Теперь мы готовы рассмотреть принцип работы цифровой подписи на основе системы с открытыми ключами. Предположим, что некоторый абонент A должен подписать какое-либо сообщение. Для этого он, с помощью специальной математической функции, так называемой хеш-функции, создаёт дайджест (слепок) этого сообщения и зашифровывает его своим секретным ключом E. Свойства хеш-функции таковы, что полученный с помощью её дайджест “жестко” связан с сообщением. Зашифрованный дайджест “прикрепляется” к сообщению, теперь он является цифровой подписью сообщения.

продолжение следует...

Автор:

Источник: , д.т.н, ас. Академик МАИ, Компания DEKART

Комментарии

1. 12.12.05 16:05 От: revers

Ага, спасибо что Америку открыли. Вы лучшеб подсказали бы как с помощью подписи определить подписчмка!

2. 19.12.05 14:57 От: [email protected]

А у вас есть скрипт на php этой самой цифровой подписи.....

Ваш комментарий

Обсудить на форуме?

Подумайте, прежде чем высказать своё мнение. Постарайтесь сделать свой комментарий полезным для других. Не используйте ненормативную лексику. Пользователи, пишущие "от нечего делать" бессмысленные наборы символов, будут блокироваться навсегда.