На главную

On-line справка по Win32 API

Написать письмо
БЕСПЛАТНАЯ ежедневная online лотерея! Выигрывай каждый день БЕСПЛАТНО!
Список всех статей A-B-C-D-E-F-G-H-I-J-K-L-M-N-O-P-Q-R-S-T-U-V-W-X-Y-Z | Скачать Вниз

Decrypting Messages Using CryptoAPI



If a message was encrypted for a particular user, then the CryptGenKey function was used to create a random session key, before the encryption was performed. This means that before the message can be decrypted, the key blob containing the session key needs to be imported into the CSP with the CryptImportKey function. This function will use your key exchange private key to decrypt the key blob. This means that the key blob must have been originally created using the matching key exchange public key.

If the message was encrypted so that any password holder can access the data, the CryptImportKey function is not used. Instead, you create the decryption session key with the CryptDeriveKey function. You will also need to supply the function with the password (or other access token).
The session key's parameters need to be configured in the same way as when the encryption was performed. These parameters can be specified using the CryptSetKeyParam function. For example, if the salt value was changed one or more times during the encryption process, then it must also be changed during the decryption process in exactly the same manner.

The message is decrypted using the CryptDecrypt function. If the message is too large to fit comfortably in memory, it can be decrypted in sections, through multiple calls to CryptDecrypt.
When the decryption is complete, be sure to destroy the session key, using the CryptDestroyKey function. In addition to destroying the key, this will free up CSP resources.


Пригласи друзей и счет твоего мобильника всегда будет положительным!
Предыдущая статья
 
Сайт Народ.Ру Интернет
Следующая статья
Пригласи друзей и счет твоего мобильника всегда будет положительным!

Декодирующие Сообщения, использовавшие CryptoAPI



Если сообщение было закодировано для конкретного потребителя, тогда функция CryptGenKey была использована, чтобы создавать произвольный сеансовый ключ, прежде, чем шифрование было выполнено. Это означает, что прежде, чем сообщение может быть декодировано, ключевая капля, содержащая сеансовый ключ должна быть импортирована в CSP с функцией CryptImportKey. Эта функция использует ваш биржевой частный ключ ключа, чтобы декодировать ключевую каплю. Это означает, что ключевая капля по-видимому первоначально создана используя сопоставление ключа биржевого общественного ключа.

Если сообщение было закодировано чтобы любой держатель пароля может иметь доступ к данным, функция CryptImportKey не использована. Взамен, Вы создаете сеансовую клавишу расшифровки с функцией CryptDeriveKey. Вы будете также нужно обеспечивать функции паролем (или другим признаком доступа).
Сеансовые ключевые параметры должны конфигурироваться так же как когда шифрование было выполнено. Эти параметры могут быть определены используя функцию CryptSetKeyParam. Например, если соленая величина была изменена одно или более раз (а) в течение шифровального процесса, тогда она должна также изменена в течение процесса расшифровки в точно том же способе.

Сообщение декодировано используя функцию CryptDecrypt. Если сообщение слишком большое, чтобы устанавливаться comfortably в памяти, оно может быть декодировано в секции, через многочисленные вызовы на CryptDecrypt.
Когда расшифровка завершенна, не забудьте уничтожать сеансовую клавишу, использовавшую функцию CryptDestroyKey. Дополнительно к разрушающему клавиша, это освободит ресурсы CSP.


Вверх Version 1.3, Oct 26 2010 © 2007, 2010, mrhx Вверх
 mrhx software  Русский перевод OpenGL  Русский перевод Win32 API
 
Используются технологии uCoz