CommonLibSSE (powerof3)
BCRYPT.h File Reference
#include "REX/W32/BASE.h"

Go to the source code of this file.

Namespaces

 REX
 
 REX::W32
 

Typedefs

using REX::W32::BCRYPT_HANDLE = void *
 
using REX::W32::BCRYPT_ALG_HANDLE = void *
 
using REX::W32::BCRYPT_KEY_HANDLE = void *
 
using REX::W32::BCRYPT_HASH_HANDLE = void *
 
using REX::W32::BCRYPT_SECRET_HANDLE = void *
 

Functions

NTSTATUS REX::W32::BCryptOpenAlgorithmProvider (BCRYPT_ALG_HANDLE *a_algorithm, const wchar_t *a_id, const wchar_t *a_impl=nullptr, std::uint32_t a_flags=0)
 
NTSTATUS REX::W32::BCryptCloseAlgorithmProvider (BCRYPT_ALG_HANDLE a_algorithm, std::uint32_t a_flags=0)
 
NTSTATUS REX::W32::BCryptCreateHash (BCRYPT_ALG_HANDLE a_algorithm, BCRYPT_HASH_HANDLE *a_hash, std::uint8_t *a_hashObject=nullptr, std::uint32_t a_hashObjectSize=0, std::uint8_t *a_secret=nullptr, std::uint32_t a_secretSize=0, std::uint32_t a_flags=0)
 
NTSTATUS REX::W32::BCryptDestroyHash (BCRYPT_HASH_HANDLE a_hash)
 
NTSTATUS REX::W32::BCryptFinishHash (BCRYPT_HASH_HANDLE a_hash, std::uint8_t *a_output, std::uint32_t a_outputSize, std::uint32_t a_flags=0)
 
NTSTATUS REX::W32::BCryptGetProperty (BCRYPT_HANDLE a_object, const wchar_t *a_property, std::uint8_t *a_output, std::uint32_t a_outputSize, std::uint32_t *a_result, std::uint32_t a_flags=0)
 
NTSTATUS REX::W32::BCryptHashData (BCRYPT_HASH_HANDLE a_hash, std::uint8_t *a_input, std::uint32_t a_inputSize, std::uint32_t a_flags=0)
 

Variables

constexpr auto REX::W32::BCRYPT_RSA_ALGORITHM { L"RSA" }
 
constexpr auto REX::W32::BCRYPT_RSA_SIGN_ALGORITHM { L"RSA_SIGN" }
 
constexpr auto REX::W32::BCRYPT_DH_ALGORITHM { L"DH" }
 
constexpr auto REX::W32::BCRYPT_DSA_ALGORITHM { L"DSA" }
 
constexpr auto REX::W32::BCRYPT_RC2_ALGORITHM { L"RC2" }
 
constexpr auto REX::W32::BCRYPT_RC4_ALGORITHM { L"RC4" }
 
constexpr auto REX::W32::BCRYPT_AES_ALGORITHM { L"AES" }
 
constexpr auto REX::W32::BCRYPT_DES_ALGORITHM { L"DES" }
 
constexpr auto REX::W32::BCRYPT_DESX_ALGORITHM { L"DESX" }
 
constexpr auto REX::W32::BCRYPT_3DES_ALGORITHM { L"3DES" }
 
constexpr auto REX::W32::BCRYPT_3DES_112_ALGORITHM { L"3DES_112" }
 
constexpr auto REX::W32::BCRYPT_MD2_ALGORITHM { L"MD2" }
 
constexpr auto REX::W32::BCRYPT_MD4_ALGORITHM { L"MD4" }
 
constexpr auto REX::W32::BCRYPT_MD5_ALGORITHM { L"MD5" }
 
constexpr auto REX::W32::BCRYPT_SHA1_ALGORITHM { L"SHA1" }
 
constexpr auto REX::W32::BCRYPT_SHA256_ALGORITHM { L"SHA256" }
 
constexpr auto REX::W32::BCRYPT_SHA384_ALGORITHM { L"SHA384" }
 
constexpr auto REX::W32::BCRYPT_SHA512_ALGORITHM { L"SHA512" }
 
constexpr auto REX::W32::BCRYPT_AES_GMAC_ALGORITHM { L"AES-GMAC" }
 
constexpr auto REX::W32::BCRYPT_AES_CMAC_ALGORITHM { L"AES-CMAC" }
 
constexpr auto REX::W32::BCRYPT_ECDSA_P256_ALGORITHM { L"ECDSA_P256" }
 
constexpr auto REX::W32::BCRYPT_ECDSA_P384_ALGORITHM { L"ECDSA_P384" }
 
constexpr auto REX::W32::BCRYPT_ECDSA_P521_ALGORITHM { L"ECDSA_P521" }
 
constexpr auto REX::W32::BCRYPT_ECDH_P256_ALGORITHM { L"ECDH_P256" }
 
constexpr auto REX::W32::BCRYPT_ECDH_P384_ALGORITHM { L"ECDH_P384" }
 
constexpr auto REX::W32::BCRYPT_ECDH_P521_ALGORITHM { L"ECDH_P521" }
 
constexpr auto REX::W32::BCRYPT_RNG_ALGORITHM { L"RNG" }
 
constexpr auto REX::W32::BCRYPT_RNG_FIPS186_DSA_ALGORITHM { L"FIPS186DSARNG" }
 
constexpr auto REX::W32::BCRYPT_RNG_DUAL_EC_ALGORITHM { L"DUALECRNG" }
 
constexpr auto REX::W32::BCRYPT_OBJECT_LENGTH { L"ObjectLength" }
 
constexpr auto REX::W32::BCRYPT_ALGORITHM_NAME { L"AlgorithmName" }
 
constexpr auto REX::W32::BCRYPT_PROVIDER_HANDLE { L"ProviderHandle" }
 
constexpr auto REX::W32::BCRYPT_CHAINING_MODE { L"ChainingMode" }
 
constexpr auto REX::W32::BCRYPT_BLOCK_LENGTH { L"BlockLength" }
 
constexpr auto REX::W32::BCRYPT_KEY_LENGTH { L"KeyLength" }
 
constexpr auto REX::W32::BCRYPT_KEY_OBJECT_LENGTH { L"KeyObjectLength" }
 
constexpr auto REX::W32::BCRYPT_KEY_STRENGTH { L"KeyStrength" }
 
constexpr auto REX::W32::BCRYPT_KEY_LENGTHS { L"KeyLengths" }
 
constexpr auto REX::W32::BCRYPT_BLOCK_SIZE_LIST { L"BlockSizeList" }
 
constexpr auto REX::W32::BCRYPT_EFFECTIVE_KEY_LENGTH { L"EffectiveKeyLength" }
 
constexpr auto REX::W32::BCRYPT_HASH_LENGTH { L"HashDigestLength" }
 
constexpr auto REX::W32::BCRYPT_HASH_OID_LIST { L"HashOIDList" }
 
constexpr auto REX::W32::BCRYPT_PADDING_SCHEMES { L"PaddingSchemes" }
 
constexpr auto REX::W32::BCRYPT_SIGNATURE_LENGTH { L"SignatureLength" }
 
constexpr auto REX::W32::BCRYPT_HASH_BLOCK_LENGTH { L"HashBlockLength" }
 
constexpr auto REX::W32::BCRYPT_AUTH_TAG_LENGTH { L"AuthTagLength" }