Platform SDK: Cryptography

Supported Algorithms

All PROV_RSA_FULL or PROV_RSA_SIG providers must support a minimum set of algorithms. Additional algorithms can be implemented, but for security reasons this is discouraged.

The following cryptographic service providers (CSP) are currently available from Microsoft.

Provider Description
Microsoft Base Cryptographic Provider A broad set of basic cryptographic functionality that can be exported to other countries.
Microsoft Strong Cryptographic Provider An extension of the Microsoft Base Cryptographic Provider available with Microsoft® Windows® 2000 and later. It is currently available only within the United States and Canada.
Microsoft Enhanced Cryptographic Provider Microsoft Base Cryptographic Provider with through longer keys and additional algorithms. It is currently available only within the United States and Canada.
Microsoft DSS Cryptographic Provider Provides hashing, data signing, and signature verification capability using the Secure Hash Algorithm (SHA) and Digital Signature Standard (DSS) algorithms.
Microsoft Base DSS and Diffie-Hellman Cryptographic Provider A superset of the DSS Cryptographic Provider that also supports Diffie-Hellman key exchange, hashing, data signing, and signature verification using the Secure Hash Algorithm (SHA) and Digital Signature Standard (DSS) algorithms.
Microsoft DSS and Diffie-Hellman/Schannel Cryptographic Provider Supports hashing, data signing with DSS, generating Diffie-Hellman (D-H) keys, exchanging D-H keys, and exporting a D-H key. This CSP supports key derivation for the SSL3 and TLS1 protocols.
Microsoft RSA/Schannel Cryptographic Provider Supports hashing, data signing, and signature verification. The algorithm identifier CALG_SSL3_SHAMD5 is used for SSL 3.0 and TLS 1.0 client authentication. This CSP supports key derivation for the SSL2, PCT1, SSL3 and TLS1 protocols.

Supported algorithms are specifically enumerated under the following topics: