AlgorithmType enumeration (certenroll.h)
The AlgorithmType enumeration type specifies the intended purpose of a cryptographic algorithm supported by a cryptographic provider. Algorithms are typically classified by use into the following general categories:
- Signing
- Hashing
- Asymmetric encryption
- Symmetric encryption
- Key exchange
Syntax
typedef enum AlgorithmType {
XCN_BCRYPT_UNKNOWN_INTERFACE = 0,
XCN_BCRYPT_CIPHER_INTERFACE = 0x1,
XCN_BCRYPT_HASH_INTERFACE = 0x2,
XCN_BCRYPT_ASYMMETRIC_ENCRYPTION_INTERFACE = 0x3,
XCN_BCRYPT_SIGNATURE_INTERFACE = 0x5,
XCN_BCRYPT_SECRET_AGREEMENT_INTERFACE = 0x4,
XCN_BCRYPT_RNG_INTERFACE = 0x6,
XCN_BCRYPT_KEY_DERIVATION_INTERFACE = 0x7
} ;
Constants
XCN_BCRYPT_UNKNOWN_INTERFACE Value: 0 The algorithm type is not defined. |
XCN_BCRYPT_CIPHER_INTERFACE Value: 0x1 The algorithm is used for symmetric encryption. This includes the RC2, RC4, Data Encryption Standard (DES), 3DED, and AES algorithms. |
XCN_BCRYPT_HASH_INTERFACE Value: 0x2 The algorithm is used for hashing. This includes the MD2, MD4, SHA1, SHA256, SHA384, SHA512 MAC, and Hash-Based Message Authentication Code (HMAC) hash algorithms. |
XCN_BCRYPT_ASYMMETRIC_ENCRYPTION_INTERFACE Value: 0x3 The algorithm is used for public key encryption. This includes RSA. |
XCN_BCRYPT_SIGNATURE_INTERFACE Value: 0x5 The algorithm is used for signing. This includes the RSA algorithm, Digital Signature Algorithm (DSA), and ECDSA algorithm. |
XCN_BCRYPT_SECRET_AGREEMENT_INTERFACE Value: 0x4 The algorithm is used for key exchange. This includes the Diffie-Hellman algorithm and ECDH algorithm. |
XCN_BCRYPT_RNG_INTERFACE Value: 0x6 The algorithm is used to generate a random number. |
XCN_BCRYPT_KEY_DERIVATION_INTERFACE Value: 0x7 |
Requirements
Requirement | Value |
---|---|
Minimum supported client | Windows Vista [desktop apps only] |
Minimum supported server | Windows Server 2008 [desktop apps only] |
Header | certenroll.h |