21.10.2005 12:09:27Алгоритм шифрования хэш-последовательности Ответов: 3
Алексей
При подписи документа формируется уникальная хэш-последовательность на основе подписываемого текста. Затем эта хеш-последовательность шифруется на закрытом ключе подписчика. Вопрос: каким алгоритмом шифруется эта хэш-последовательность? Например, когда я вызываю функцию CryptSignMessage.
 
Ответы:
21.10.2005 13:19:45Василий
При вызове CryptSignMessage осуществляется не шифрование, а ЭЦП (электронная цифровая подпись). Алгоритмы её вычисления (и, в дальнейшем, проверки) зависят от используемого сертификата ключа подписи. Наш КриптоПро CSP поддерживает следующие алгоритмы:
ГОСТ Р 34.10-94 (все версии CSP),
ГОСТ Р 34.10-2001 (начиная с версии CSP 2.0)
21.10.2005 19:29:12Алексей
Вы меня немного не правильно поняли. Просто я посмотрел в MSDN схему подписи данных - на сколько я понял, полученная хэш-последовательность шифруется на закрытом ключе получателя. Хотя я могу и ошибаться, но если я прав, то по какому алгоритму шифруется хэш? Или CryptSignHash делает не это?
24.10.2005 10:35:47Василий
Подпись - это НЕ шифрование.
У этих операций разное предназначение. Подпись может проверить любой, кто обладает ОТКРЫТЫМ ключом из сертификата подписывающего. И служит для удостоверения того, что именно обладатель соответствующего ЗАКРЫТОГО ключа это подписал.
Шифрование - для другого. Чтобы никто, кроме обладателя указанного при зашифровании ЗАКРЫТОГО ключа не смог бы расшифровать сообщение.
Ну и потом, какой смысл шифровать хеш, когда значение хеша можно посчитать от исходного сообщения без всяких ключей.