|
| БЕСПЛАТНАЯ ежедневная online лотерея! Выигрывай каждый день БЕСПЛАТНО! |
|
|
Digital Signature Mechanics
Applications sign/verify hash values by using the CryptSignHash and CryptVerifySignature functions. The application often specifies a description string, which must added to the hash object before it is signed/verified.
The signature process typically goes something like this:
1. The application creates a hash object using CryptCreateHash. 2. The application adds data to the hash object using CryptHashData and/or CryptHashSessionKey. 3. The application calls the CryptSignHash function to sign the hash value, specifying a description string. 4. The operating system layer accepts the CryptSignHash invocation, converts the description string to Unicode (if it isn't Unicode already) and then hands off the task to the CSP via the CPSignHash function.
5. The CSP adds the Unicode description string to the hash object, via the CPHashData function. The terminating null character is not hashed in. 6. The CSP completes the hash and obtains the hash value to be signed using the CPGetHashParam function. 7. The CSP takes the hash value, pads it out to the size of the public key modulus, and encrypts it using the signature private key.
The padding around the hash value must be in the format specified by the Public-Key Cryptography Standards (PKCS), available from RSA Data Security. The hash algorithm used must be encoded as described in PKCS #1, section 6.3.
8. The signature block is then returned to the application, via the operating system layer.
| Пригласи друзей и счет твоего мобильника всегда будет положительным! |
| Пригласи друзей и счет твоего мобильника всегда будет положительным! |
Механика Цифровой Подписи
Знак/Приложения проверяет величины хэша используя CryptSignHash и функции CryptVerifySignature. Приложение часто определяет описание строки, которое должно добавленное к объекту хэша прежде, чем будет подписано/проверенное.
Процесс сигнатуры обычно идет приблизительно это:
1. Приложение создает объект хэша, использовавший CryptCreateHash. 2. Приложение добавляет данные к объекту хэша, использовавшему CryptHashData и/или CryptHashSessionKey. 3. Приложение называет функцию CryptSignHash, чтобы подписывать величину хэша, определения описания строки. 4. Слой операционной системы принимает вызов CryptSignHash, преобразовывает описание строки в Уникод (если он не Уникод уже) и тогда передает задачу на CSP через функцию CPSignHash.
5. CSP Добавляет строку описания Уникода к объекту хэша, через функцию CPHashData. Завершающий недействительный символ не обсужден в. 6. CSP Завершает хэш и получает величину хэша, чтобы быть подписанн используя функцию CPGetHashParam. 7. CSP Берет величину хэша, заполняет это по величине с общественным ключевым модулем и кодирует это используя частную клавишу сигнатуры.
Заполнение вокруг величины хэша должно быть в формате определенном Стандартами Криптографии Public-Key (PKCS), доступными из Безопасности Данных RSA. Использованный алгоритм хэша должен быть закодирован как описано в PKCS #1, секции 6.3.
8. Блок сигнатуры - затем возвращанное в приложение, через слой операционной системы.
|
|
|
|
| |