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. |