Зачем SignHash знать, какой алгоритм хеширования использовался?

Это может быть вопрос дляhttp://crypto.stackexchange.com, но я подумал, что сначала попробую здесь, поскольку ответ может относиться к.NET, а не к самому алгоритму шифрования.

В классе RSACryptoServiceProvider есть метод SignHash , который:

Computes the signature for the specified hash value by encrypting it with the private key.

Первый аргумент — это хеш-значение данных (, которое кажется справедливым ), а второй — строка, указывающая алгоритм, использованный для создания хэш-значения.

Вопрос в том, почему алгоритм хеширования имеет значение? Конечно, все, что нужно сделать методу, это зашифровать данное значение с помощью его закрытого ключа и вернуть результат? И если это действительно нужно знать, почему у RSACryptoServiceProvider нет метода, который делает именно это (вместе с соответствующим методом Verify )?

7
задан Philip C 7 August 2012 в 09:50
поделиться