Cryptographic Service Providers

A cryptographic service provider (CSP) contains implementations of cryptographic standards and algorithms. At a minimum, a CSP consists of a dynamic-link library (DLL) that implements the functions in CryptoSPI (a system program interface). Most CSPs contain the implementation of all of their own functions. Some CSPs, however, implement their functions mainly in a Windows-based service program managed by the Windows service control manager. Others implement functions in hardware, such as a smart card or secure coprocessor. If a CSP does not implement its own functions, the DLL acts as a pass-through layer, facilitating the communication between the operating system and the actual CSP implementation.

This section includes the following topics.

Cryptographic Provider Types Cryptographic provider types are families of cryptographic services providers that share data formats and cryptographic protocols. Data formats include algorithms padding schemes, key lengths, and default modes.
Microsoft Cryptographic Service Providers Detailed information about CSPs currently available from Microsoft.


If you are developing a CSP, you must download the Cryptographic Provider Development Kit from Microsoft Connect. You may have to log on to the Connect website by using your Live ID. Select Downloads from the left hand pane and select the Windows Cryptographic Provider Development Kit download.