bcrypt.h header

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

bcrypt.h contains the following programming interfaces:

Functions

 
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. (BCryptDeriveKey)
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. (BCryptEncrypt)
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

Describes how the BCryptRegisterConfigChangeNotify(PRKEVENT) function creates kernel mode CNG configuration change event handler.
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. (BCryptSecretAgreement)
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. (BCryptSignHash)
BCryptUnregisterConfigChangeNotify

Removes a user mode CNG configuration change event handler that was created by using the BCryptRegisterConfigChangeNotify(HANDLE*) function.
BCryptUnregisterConfigChangeNotify

Removes a user mode CNG configuration change event handler that was created by using the BCryptRegisterConfigChangeNotify(HANDLE*) function.
BCryptVerifySignature

Verifies that the specified signature matches the specified hash. (BCryptVerifySignature)

Structures

 
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)
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_KEY_BLOB_V2)
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.
BCryptBuffer

Describes how the BCryptBuffer structure represents a generic Cryptography API: Next Generation (CNG) buffer.
BCryptBufferDesc

Describes how the BCryptBufferDesc structure contains a set of generic Cryptography API: Next Generation (CNG) buffers.
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

 
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.