bcrypt.h header

This header is used by Security and Identity. For more information, see:

Functions

Title Description
BCRYPT_INIT_AUTH_MODE_INFO Initializes a BCRYPT_AUTHENTICATED_CIPHER_MODE_INFO structure for use in calls to BCryptEncrypt and BCryptDecrypt functions.
BCryptAddContextFunction Adds a cryptographic function to the list of functions that are supported by an existing CNG context.
BCryptCloseAlgorithmProvider Closes an algorithm provider.
BCryptConfigureContext Sets the configuration information for an existing CNG context.
BCryptConfigureContextFunction Sets the configuration information for the cryptographic function of an existing CNG context.
BCryptCreateContext Creates a new CNG configuration context.
BCryptCreateHash Called to create a hash or Message Authentication Code (MAC) object.
BCryptCreateMultiHash The BCryptCreateMultiHash function creates a multi-hash state that allows for the parallel computation of multiple hash operations.
BCryptDecrypt Decrypts a block of data.
BCryptDeleteContext Deletes an existing CNG configuration context.
BCryptDeriveKey Derives a key from a secret agreement value.
BCryptDeriveKeyCapi Derives a key from a hash value.
BCryptDeriveKeyPBKDF2 Derives a key from a hash value by using the PBKDF2 key derivation algorithm as defined by RFC 2898.
BCryptDestroyHash Destroys a hash or Message Authentication Code (MAC) object.
BCryptDestroyKey Destroys a key.
BCryptDestroySecret Destroys a secret agreement handle that was created by using the BCryptSecretAgreement function.
BCryptDuplicateHash Duplicates an existing hash or Message Authentication Code (MAC) object.
BCryptDuplicateKey Creates a duplicate of a symmetric key.
BCryptEncrypt Encrypts a block of data.
BCryptEnumAlgorithms Gets a list of the registered algorithm identifiers.
BCryptEnumContextFunctionProviders Obtains the providers for the cryptographic functions for a context in the specified configuration table.
BCryptEnumContextFunctions Obtains the cryptographic functions for a context in the specified configuration table.
BCryptEnumContexts Obtains the identifiers of the contexts in the specified configuration table.
BCryptEnumProviders Obtains all of the CNG providers that support a specified algorithm.
BCryptEnumRegisteredProviders Retrieves information about the registered providers.
BCryptExportKey Exports a key to a memory BLOB that can be persisted for later use.
BCryptFinalizeKeyPair Completes a public/private key pair.
BCryptFinishHash Retrieves the hash or Message Authentication Code (MAC) value for the data accumulated from prior calls to BCryptHashData.
BCryptFreeBuffer Used to free memory that was allocated by one of the CNG functions.
BCryptGenerateKeyPair Creates an empty public/private key pair.
BCryptGenerateSymmetricKey Creates a key object for use with a symmetrical key encryption algorithm from a supplied key.
BCryptGenRandom Generates a random number.
BCryptGetFipsAlgorithmMode Determines whether Federal Information Processing Standard (FIPS) compliance is enabled.
BCryptGetProperty Retrieves the value of a named property for a CNG object.
BCryptHash Performs a single hash computation. This is a convenience function that wraps calls to BCryptCreateHash, BCryptHashData, BCryptFinishHash, and BCryptDestroyHash.
BCryptHashData Performs a one way hash or Message Authentication Code (MAC) on a data buffer.
BCryptImportKey Imports a symmetric key from a key BLOB.
BCryptImportKeyPair Imports a public/private key pair from a key BLOB.
BCryptKeyDerivation Derives a key without requiring a secret agreement.
BCryptOpenAlgorithmProvider Loads and initializes a CNG provider.
BCryptProcessMultiOperations The BCryptProcessMultiOperations function processes a sequence of operations on a multi-object state.
BCryptQueryContextConfiguration Retrieves the current configuration for the specified CNG context.
BCryptQueryContextFunctionConfiguration Obtains the cryptographic function configuration information for an existing CNG context.
BCryptQueryContextFunctionProperty Obtains the value of a named property for a cryptographic function in an existing CNG context.
BCryptQueryProviderRegistration Retrieves information about a CNG provider.
BCryptRegisterConfigChangeNotify Creates a user mode CNG configuration change event handler.
BCryptRegisterConfigChangeNotify
BCryptRemoveContextFunction Removes a cryptographic function from the list of functions that are supported by an existing CNG context.
BCryptResolveProviders Obtains a collection of all of the providers that meet the specified criteria.
BCryptSecretAgreement Creates a secret agreement value from a private and a public key.
BCryptSetContextFunctionProperty Sets the value of a named property for a cryptographic function in an existing CNG context.
BCryptSetProperty Sets the value of a named property for a CNG object.
BCryptSignHash Creates a signature of a hash value.
BCryptUnregisterConfigChangeNotify Removes a user mode CNG configuration change event handler that was created by using the BCryptRegisterConfigChangeNotify(HANDLE*) function.
BCryptUnregisterConfigChangeNotify
BCryptVerifySignature Verifies that the specified signature matches the specified hash.

Structures

Title Description
BCRYPT_ALGORITHM_IDENTIFIER Is used with the BCryptEnumAlgorithms function to contain a cryptographic algorithm identifier.
BCRYPT_AUTHENTICATED_CIPHER_MODE_INFO Used with the BCryptEncrypt and BCryptDecrypt functions to contain additional information related to authenticated cipher modes.
BCRYPT_DH_KEY_BLOB Used as a header for a Diffie-Hellman public key or private key BLOB in memory.
BCRYPT_DH_PARAMETER_HEADER Used to contain parameter header information for a Diffie-Hellman key.
BCRYPT_DSA_KEY_BLOB Used as a header for a Digital Signature Algorithm (DSA) public key or private key BLOB in memory.
BCRYPT_DSA_KEY_BLOB_V2 Used as a header for a Digital Signature Algorithm (DSA) public key or private key BLOB in memory.
BCRYPT_DSA_PARAMETER_HEADER Used to contain parameter header information for a Digital Signature Algorithm (DSA) key.
BCRYPT_DSA_PARAMETER_HEADER_V2 Contains parameter header information for a Digital Signature Algorithm (DSA) key.
BCRYPT_ECCKEY_BLOB Used as a header for an elliptic curve public key or private key BLOB in memory.
BCRYPT_INTERFACE_VERSION Contains version information for a programmatic interface for a CNG provider.
BCRYPT_KEY_BLOB Is the base structure for all CNG key BLOBs.
BCRYPT_KEY_DATA_BLOB_HEADER Used to contain information about a key data BLOB.
BCRYPT_KEY_LENGTHS_STRUCT Defines the range of key sizes that are supported by the provider.
BCRYPT_MULTI_HASH_OPERATION A BCRYPT_MULTI_HASH_OPERATION structure defines a single operation in a multi-hash operation.
BCRYPT_MULTI_OBJECT_LENGTH_STRUCT The BCRYPT_MULTI_OBJECT_LENGTH_STRUCT structure contains information to determine the size of the pbHashObject buffer for the BCryptCreateMultiHash function.
BCRYPT_OAEP_PADDING_INFO Used to provide options for the Optimal Asymmetric Encryption Padding (OAEP) scheme.
BCRYPT_OID Contains information about a DER-encoded object identifier (OID).
BCRYPT_OID_LIST 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 Used to provide options for the PKCS
BCRYPT_PROVIDER_NAME Contains the name of a CNG provider.
BCRYPT_PSS_PADDING_INFO Used to provide options for the Probabilistic Signature Scheme (PSS) padding scheme.
BCRYPT_RSAKEY_BLOB Used as a header for an RSA public key or private key BLOB in memory.
CRYPT_CONTEXT_CONFIG Contains configuration information for a CNG context.
CRYPT_CONTEXT_FUNCTION_CONFIG Contains configuration information for a cryptographic function of a CNG context.
CRYPT_CONTEXT_FUNCTION_PROVIDERS Contains a set of cryptographic function providers for a CNG configuration context.
CRYPT_CONTEXT_FUNCTIONS Contains a set of cryptographic functions for a CNG configuration context.
CRYPT_CONTEXTS Contains a set of CNG configuration context identifiers.
CRYPT_IMAGE_REF Contains information about a CNG provider module.
CRYPT_IMAGE_REG Contains image registration information about a CNG provider.
CRYPT_INTERFACE_REG Used to contain information about the type of interface supported by a CNG provider.
CRYPT_PROPERTY_REF Contains information about a CNG context property.
CRYPT_PROVIDER_REF Contains information about a cryptographic interface that a provider supports.
CRYPT_PROVIDER_REFS Contains a collection of provider references.
CRYPT_PROVIDER_REG Used to contain registration information for a CNG provider.
CRYPT_PROVIDERS Contains information about the registered CNG providers.

Enumerations

Title Description
BCRYPT_HASH_OPERATION_TYPE The BCRYPT_HASH_OPERATION_TYPE enumeration specifies the hash operation type.
BCRYPT_MULTI_OPERATION_TYPE The BCRYPT_MULTI_OPERATION_TYPE enumeration specifies type of multi-operation that is passed to the BCryptProcessMultiOperations function.
DSAFIPSVERSION_ENUM Contains FIPS version information.
HASHALGORITHM_ENUM Specifies signing and hashing algorithms.