Describes the cryptography functions available in the bcrypt.lib library.
| Name | Description |
|---|---|
| BCryptCloseAlgorithmProvider | The BCryptCloseAlgorithmProvider function closes an algorithm provider. |
| BCryptCreateHash | The BCryptCreateHash function is called to create a hash or Message Authentication Code (MAC) object. |
| BCryptDecrypt | The BCryptDecrypt function decrypts a block of data. |
| BCryptDeriveKey | The BCryptDeriveKey function derives a key from a secret agreement value. |
| BCryptDestroyHash | The BCryptDestroyHash function destroys a hash or Message Authentication Code (MAC) object. |
| BCryptDestroyKey | The BCryptDestroyKey function destroys a key. |
| BCryptDestroySecret | The BCryptDestroySecret function destroys a secret agreement handle that was created by using the BCryptSecretAgreement function. |
| BCryptDuplicateHash | The BCryptDuplicateHash function duplicates an existing hash or Message Authentication Code (MAC) object. The duplicate object contains all state and data contained in the original object at the point of duplication. |
| BCryptDuplicateKey | The BCryptDuplicateKey function creates a duplicate of a symmetric key. |
| BCryptEncrypt | The BCryptEncrypt function encrypts a block of data. |
| BCryptExportKey | The BCryptExportKey function exports a key to a memory BLOB that can be persisted for later use. |
| BCryptFinalizeKeyPair | The BCryptFinalizeKeyPair function completes a public/private key pair. The key cannot be used until this function has been called. After this function has been called, the BCryptSetProperty function can no longer be used for this key. |
| BCryptFinishHash | The BCryptFinishHash function retrieves the hash or Message Authentication Code (MAC) value for the data accumulated from prior calls to BCryptHashData. |
| BCryptFreeBuffer | The BCryptFreeBuffer function is used to free memory that was allocated by one of the CNG functions. |
| BCryptGenerateKeyPair | The BCryptGenerateKeyPair function creates an empty public/private key pair. After you create a key by using this function, you can use the BCryptSetProperty function to set its properties; however, the key cannot be used until the BCryptFinalizeKeyPair function is called. |
| BCryptGenerateSymmetricKey | The BCryptGenerateSymmetricKey function creates a key object for use with a symmetrical key encryption algorithm from a supplied key. |
| BCryptGenRandom | The BCryptGenRandom function generates a random number. |
| BCryptGetProperty | The BCryptGetProperty function retrieves the value of a named property for a CNG object. |
| BCryptHashData | The BCryptHashData function performs a one way hash or Message Authentication Code (MAC) on a data buffer. |
| BCryptImportKey | The BCryptImportKey function imports a symmetric key from a key BLOB. The BCryptImportKeyPair function is used to import a public/private key pair. |
| BCryptImportKeyPair | The BCryptImportKeyPair function imports a public/private key pair from a key BLOB. The BCryptImportKey function is used to import a symmetric key pair. |
| BCryptKeyDerivation | The BCryptKeyDerivation function derives a key without requiring a secret agreement. It is similar in functionality to BCryptDeriveKey but does not require a BCRYPT_SECRET_HANDLE value as input. |
| BCryptOpenAlgorithmProvider | The BCryptOpenAlgorithmProvider function loads and initializes a CNG provider. |
| BCryptSecretAgreement | The BCryptSecretAgreement function creates a secret agreement value from a private and a public key. |
| BCryptSetProperty | The BCryptSetProperty function sets the value of a named property for a CNG object. |
| BCryptSignHash | The BCryptSignHash function creates a signature of a hash value. |
| BCryptVerifySignature | The BCryptVerifySignature function verifies that the specified signature matches the specified hash. |
| Name | Description |
|---|---|
| BCRYPT_ALGORITHM_IDENTIFIER | The BCRYPT_ALGORITHM_IDENTIFIER structure is used to contain a cryptographic algorithm identifier. |
| BCRYPT_AUTHENTICATED_CIPHER_MODE_INFO | The BCRYPT_AUTHENTICATED_CIPHER_MODE_INFO structure is used with the BCryptEncrypt and BCryptDecrypt functions to contain additional information related to authenticated cipher modes. |
| BCRYPT_DH_KEY_BLOB | The BCRYPT_DH_KEY_BLOB structure is used as a header for a Diffie-Hellman public key or private keyBLOB in memory. |
| BCRYPT_DH_PARAMETER_HEADER | The BCRYPT_DH_PARAMETER_HEADER structure is used to contain parameter header information for a Diffie-Hellman key. This structure is used with the BCRYPT_DH_PARAMETERS property in the BCryptSetProperty function. |
| BCRYPT_DSA_KEY_BLOB | The BCRYPT_DSA_KEY_BLOB structure is used as a header for a Digital Signature Algorithm (DSA) public key or private keyBLOB in memory. |
| BCRYPT_DSA_KEY_BLOB_V2 | The BCRYPT_DSA_KEY_BLOB_V2 structure is used as a header for a Digital Signature Algorithm (DSA) public key or private keyBLOB in memory. |
| BCRYPT_DSA_PARAMETER_HEADER | The BCRYPT_DSA_PARAMETER_HEADER structure is used to contain parameter header information for a Digital Signature Algorithm (DSA) key. This structure is used with the BCRYPT_DSA_PARAMETERS property in the BCryptSetProperty function. |
| BCRYPT_DSA_PARAMETER_HEADER_V2 | The BCRYPT_DSA_PARAMETER_HEADER_V2 structure is contains parameter header information for a Digital Signature Algorithm (DSA) key. This structure is used with the BCRYPT_DSA_PARAMETERS property in the BCryptSetProperty function. |
| BCRYPT_ECCKEY_BLOB | The BCRYPT_ECCKEY_BLOB structure is used as a header for an elliptic curve public key or private keyBLOB in memory. |
| BCRYPT_KEY_BLOB | The BCRYPT_KEY_BLOB structure is the base structure for all CNG key BLOBs. All CNG key BLOBs are based on this structure. For example, the BCRYPT_RSAKEY_BLOB structure is based on this structure. |
| BCRYPT_KEY_DATA_BLOB_HEADER | The BCRYPT_KEY_DATA_BLOB_HEADER structure is used to contain information about a key data BLOB. The key data BLOB must immediately follow this structure in memory. |
| BCRYPT_KEY_LENGTHS_STRUCT | The BCRYPT_KEY_LENGTHS_STRUCT structure defines the range of key sizes that are supported by the provider. This structure is used with the BCRYPT_KEY_LENGTHS property.This structure is also used with the BCRYPT_AUTH_TAG_LENGTH property to contain the minimum, maximum, and increment size of an authentication tag. |
| BCRYPT_OAEP_PADDING_INFO | The BCRYPT_OAEP_PADDING_INFO structure is used to provide options for the Optimal Asymmetric Encryption Padding (OAEP) scheme. |
| BCRYPT_OID | The BCRYPT_OID structure contains information about a DER-encoded object identifier (OID). CNG uses hash OIDs in functions that sign or verify data in PKCS #1 format. |
| BCRYPT_OID_LIST | The BCRYPT_OID_LIST structure is used to contain a collection of BCRYPT_OID structures. Use this structure with the BCRYPT_HASH_OID_LIST property to retrieve the list of hashing object identifiers (OIDs) that have been encoded by using Distinguished Encoding Rules (DER) encoding. |
| BCRYPT_PKCS1_PADDING_INFO | The BCRYPT_PKCS1_PADDING_INFO structure is used to provide options for the PKCS #1 padding scheme. |
| BCRYPT_PSS_PADDING_INFO | The BCRYPT_PSS_PADDING_INFO structure is used to provide options for the Probabilistic Signature Scheme (PSS) padding scheme. |
| BCRYPT_RSAKEY_BLOB | The BCRYPT_RSAKEY_BLOB structure is used as a header for an RSA public key or private keyBLOB in memory. |
| BCryptBuffer | The BCryptBuffer structure is used to represent a generic CNG buffer. |
| BCryptBufferDesc | The BCryptBufferDesc structure is used to contain a set of generic CNG buffers. |
| Name | Description |
|---|---|
| DSAFIPSVERSION_ENUM | The DSAFIPSVERSION_ENUM enumeration type contains FIPS version information. It is used by the BCRYPT_DSA_KEY_BLOB_V2 and BCRYPT_DSA_PARAMETER_HEADER_V2 structures. |
| HASHALGORITHM_ENUM | The HASHALGORITHM_ENUM enumeration type specifies signing and hashing algorithms. It is used by the BCRYPT_DSA_KEY_BLOB_V2 and BCRYPT_DSA_PARAMETER_HEADER_V2 structures. |
| Name | Description |
|---|---|
| BCRYPT_INIT_AUTH_MODE_INFO | The BCRYPT_INIT_AUTH_MODE_INFO macro initializes a BCRYPT_AUTHENTICATED_CIPHER_MODE_INFO structure for use in calls to BCryptEncrypt and BCryptDecrypt functions. |