logo
MethodFull

Подпись документа с помощью криптографии с открытыми ключами

Существуют алгоритмы с открытыми ключами, которые можно использовать для цифровых подписей. В некоторых алгоритмах – примером является RSA - для шифрования может быть использован или открытый, или закрытый ключ. Зашифруйте документ своим закрытым ключом, и вы получите надежную цифровую подпись. В других случаях – примером является DSA - для цифровых подписей исполь­зуется отдельный алгоритм, который невозможно использовать для шифрования. Эта идея впервые была изо­бретена Диффи и Хеллманом и в дальнейшем была расширена и углублена в других работах. Основной протокол прост:

  1. Василиса шифрует документ своим закрытым ключом, таким образом подписывая его;

  2. Василиса посылает подписанный документ Ивану;

  3. Иван расшифровывает документ, используя открытый ключ Василисы, таким образом проверяя подпись.

Этот протокол гораздо лучше предыдущего. Баба-Яга не нужен ни для подписи документов, ни для ее проверки. (Она нужна для подтверждения, что открытый ключ принадлежит именно Василисе.) Ягуся не нужна сторонам даже для разрешения споров: Если Иван не смог осуществить этап (3), то он знает, что подпись неправильна. Такая подпись соответствует всем требованиям:

  1. Эта подпись достоверна.Когда Иван расшифровывает сообщение с помощью открытого ключа Василисы, он знает что она подписала это сообщение.

  2. Эта подпись неподдельна.Только Василиса знает свой закрытый ключ.

  3. Эту подпись нельзя использовать повторно.Подпись является функцией документа и не может быть перенесена на другой документ.

  4. Подписанный документ нельзя изменить.После любого изменения документа подпись не сможет больше подтверждаться открытым ключом Василисы.

  5. От подписи невозможно отказаться.Ивану не требуется помощь Василисы при проверке ее подписи.