A set of cryptographic functions (e.g. encoding and decoding, encryption and decryption), which computer application programs may use, to implement security solutions (e.g. strong user authentication or secure email). As an example, in Microsoft Windows, a Cryptographic Service Provider (CSP) is a software library that implements the Microsoft CryptoAPI (CAPI).