The following identifiers are used to identify standard encryption algorithms in various CNG functions and structures, such as the CRYPT_INTERFACE_REG structure. Third party providers may have additional algorithms that they support.
| Constant/value | Description |
- BCRYPT_3DES_ALGORITHM
- "3DES"
| The triple data encryption standard symmetric encryption algorithm.
Standard: SP800-67, SP800-38A
|
- BCRYPT_3DES_112_ALGORITHM
- "3DES_112"
| The 112-bit triple data encryption standard symmetric encryption algorithm.
Standard: SP800-67, SP800-38A
|
- BCRYPT_AES_ALGORITHM
- "AES"
| The advanced encryption standard symmetric encryption algorithm.
Standard: FIPS 197
|
- BCRYPT_AES_GMAC_ALGORITHM
- "AES-GMAC"
| The advanced encryption standard (AES) Galois message authentication code (GMAC) symmetric encryption algorithm.
Standard: SP800-38D
Note Only Windows Vista with SP1 and Windows Server 2008 support this algorithm.
|
- BCRYPT_DES_ALGORITHM
- "DES"
| The data encryption standard symmetric encryption algorithm.
Standard: FIPS 46-3, FIPS 81
|
- BCRYPT_DESX_ALGORITHM
- "DESX"
| The extended data encryption standard symmetric encryption algorithm.
Standard: None
|
- BCRYPT_DH_ALGORITHM
- "DH"
| The Diffie-Hellman key exchange algorithm.
Standard: PKCS #3
|
- BCRYPT_DSA_ALGORITHM
- "DSA"
| The digital signature algorithm.
Standard: FIPS 186-2
|
- BCRYPT_ECDH_P256_ALGORITHM
- "ECDH_P256"
| The 256-bit prime elliptic curve Diffie-Hellman key exchange algorithm.
Standard: SP800-56A
|
- BCRYPT_ECDH_P384_ALGORITHM
- "ECDH_P384"
| The 384-bit prime elliptic curve Diffie-Hellman key exchange algorithm.
Standard: SP800-56A
|
- BCRYPT_ECDH_P521_ALGORITHM
- "ECDH_P521"
| The 521-bit prime elliptic curve Diffie-Hellman key exchange algorithm.
Standard: SP800-56A
|
- BCRYPT_ECDSA_P256_ALGORITHM
- "ECDSA_P256"
| The 256-bit prime elliptic curve digital signature algorithm (FIPS 186-2).
Standard: FIPS 186-2, X9.62
|
- BCRYPT_ECDSA_P384_ALGORITHM
- "ECDSA_P384"
| The 384-bit prime elliptic curve digital signature algorithm (FIPS 186-2).
Standard: FIPS 186-2, X9.62
|
- BCRYPT_ECDSA_P521_ALGORITHM
- "ECDSA_P521"
| The 521-bit prime elliptic curve digital signature algorithm (FIPS 186-2).
Standard: FIPS 186-2, X9.62
|
- BCRYPT_MD2_ALGORITHM
- "MD2"
| The MD2 hash algorithm.
Standard: RFC 1319
|
- BCRYPT_MD4_ALGORITHM
- "MD4"
| The MD4 hash algorithm.
Standard: RFC 1320
|
- BCRYPT_MD5_ALGORITHM
- "MD5"
| The MD5 hash algorithm.
Standard: RFC 1321
|
- BCRYPT_RC2_ALGORITHM
- "RC2"
| The RC2 block symmetric encryption algorithm.
Standard: RFC 2268
|
- BCRYPT_RC4_ALGORITHM
- "RC4"
| The RC4 symmetric encryption algorithm.
Standard: Various
|
- BCRYPT_RNG_ALGORITHM
- "RNG"
| The random-number generator algorithm.
Standard: FIPS 186-2, FIPS 140-2, NIST SP 800-90
Note On Windows Vista with SP1 and Windows Server 2008, the random number generator is based on the AES counter mode specified in the NIST SP 800-90 standard. On Windows Vista the random number generator is based on the hash-based random number generator specified in the FIPS 186-2 standard.
|
- BCRYPT_RNG_DUAL_EC_ALGORITHM
- "DUALECRNG"
| The dual elliptic curve random-number generator algorithm.
Standard: SP800-90
Note Only Windows Vista with SP1 and Windows Server 2008 support this algorithm.
|
- BCRYPT_RNG_FIPS186_DSA_ALGORITHM
- "FIPS186DSARNG"
| The random-number generator algorithm suitable for DSA (Digital Signature Algorithm).
Standard: FIPS 186-2
|
- BCRYPT_RSA_ALGORITHM
- "RSA"
| The RSA public key algorithm.
Standard: PKCS#1 v1.5 and v2.0.
|
- BCRYPT_RSA_SIGN_ALGORITHM
- "RSA_SIGN"
| The RSA signature algorithm. This algorithm is not currently supported. You can use the BCRYPT_RSA_ALGORITHM algorithm to perform RSA signing operations.
Standard: PKCS#1 v1.5 and v2.0.
|
- BCRYPT_SHA1_ALGORITHM
- "SHA1"
| The 160-bit secure hash algorithm.
Standard: FIPS 180-2, FIPS 198
|
- BCRYPT_SHA256_ALGORITHM
- "SHA256"
| The 256-bit secure hash algorithm.
Standard: FIPS 180-2, FIPS 198
|
- BCRYPT_SHA384_ALGORITHM
- "SHA384"
| The 384-bit secure hash algorithm.
Standard: FIPS 180-2, FIPS 198
|
- BCRYPT_SHA512_ALGORITHM
- "SHA512"
| The 512-bit secure hash algorithm.
Standard: FIPS 180-2, FIPS 198
|