Using Cryptography in your Applications
The Microsoft Cryptographic Application Program Interface (CryptoAPI) specifies functions in a number of different areas:
·Context Functions
These functions are used by applications to connect to a CSP. These functions enable applications to choose a specific CSP by name, or get one with a needed class of functionality. (See Interfacing with a Cryptographic Service Provider (CSP) and Service Provider Functions Summary.)
·Key Generation Functions
These functions allow applications to generate and customize cryptographic keys. Full support is included for changing chaining modes, initialization vectors, and other encryption features. (See Generating Cryptographic Keys and Key Generation Functions Summary.)
·Key Exchange Functions
These functions allow applications to exchange or transmit keys. These functions can also be used to implement fully authenticated three-leg key exchange. (See Exchanging Cryptographic Keys and Key Exchange Functions Summary.)
·Data Encryption Functions
These functions allow applications to encrypt or decrypt data. Support is also included for simultaneously encrypting and hashing data. (See Encrypting and Decrypting Data and Data Encryption Functions Summary.)
·Hashing and Signature Functions
These functions allow applications to compute cryptographically secure digests of data and also enable digital signing of data. (See Hashes and Digital Signatures and Hashing and Digital Signature Functions Summary.)