The following identifiers are used to identify standard encryption algorithms in various CNG functions and structures, such as the CRYPT_INTERFACE_REG structure. 第三方提供程序可能具有它们支持的其他算法。
Constant/value | Description |
---|---|
BCRYPT_3DES_ALGORITHM L"3DES" |
三重数据加密标准对称加密算法。 标准:SP800-67、SP800-38A |
BCRYPT_3DES_112_ALGORITHM L"3DES_112" |
112 位三元数据加密标准对称加密算法。 标准:SP800-67、SP800-38A |
BCRYPT_AES_ALGORITHM L"AES" |
高级加密标准 (AES) 对称加密算法。 标准:FIPS 197 |
BCRYPT_AES_CMAC_ALGORITHM L"AES-CMAC" |
高级加密标准(AES)基于密码的消息身份验证代码(CMAC)对称加密算法。 标准:SP 800-38B Windows 8: Support for this algorithm begins. |
BCRYPT_AES_GMAC_ALGORITHM L"AES-GMAC" |
高级加密标准 (AES) Galois 消息身份验证代码 (GMAC) 对称加密算法。 Standard: SP800-38D Windows Vista: This algorithm is supported beginning with Windows Vista with SP1. |
BCRYPT_CAPI_KDF_ALGORITHM L"CAPI_KDF" |
加密 API (CAPI) 密钥派生函数算法。 Used by the BCryptKeyDerivation and NCryptKeyDerivation functions. |
BCRYPT_CHACHA20_POLY1305_ALGORITHM L"CHACHA20_POLY1305" |
ChaCha20-Poly1305 AEAD 算法。 标准:RFC 8439 Windows 10: Support for this algorithm begins. |
BCRYPT_CSHAKE128_ALGORITHM L"CSHAKE128" |
SHA3 派生的具有 128 位强度的可自定义 XOF。 Standard: SP800-185. Windows 11 版本 24H2: 开始支持此算法。 |
BCRYPT_CSHAKE256_ALGORITHM L"CSHAKE256" |
SHA3 派生的具有 256 位强度的可自定义 XOF。 Standard: SP800-185. Windows 11 版本 24H2: 开始支持此算法。 |
BCRYPT_DES_ALGORITHM L"DES" |
数据加密标准对称加密算法。 标准:FIPS 46-3、FIPS 81 |
BCRYPT_DESX_ALGORITHM L"DESX" |
扩展数据加密标准对称加密算法。 Standard: None |
BCRYPT_DH_ALGORITHM L"DH" |
Diffie-Hellman 密钥交换算法。 标准:PKCS #3 |
BCRYPT_DSA_ALGORITHM L"DSA" |
数字签名算法。 标准:FIPS 186-2 Windows 8: Beginning with Windows 8, this algorithm supports FIPS 186-3. 小于或等于 1024 位的键遵循 FIPS 186-2,密钥大于 1024 到 FIPS 186-3。 |
BCRYPT_ECDH_ALGORITHM L"ECDH" |
Generic prime elliptic curve Diffie-Hellman key exchange algorithm (see the Remarks section for more information). Standard: SP800-56A. |
BCRYPT_ECDSA_ALGORITHM L"ECDSA" |
Generic prime elliptic curve digital signature algorithm (see the Remarks section for more information). 标准:ANSI X9.62。 |
BCRYPT_ECDH_P256_ALGORITHM L"ECDH_P256" |
256 位质椭圆曲线 Diffie-Hellman 密钥交换算法。 Standard: SP800-56A |
BCRYPT_ECDH_P384_ALGORITHM L"ECDH_P384" |
384 位质椭圆曲线 Diffie-Hellman 密钥交换算法。 Standard: SP800-56A |
BCRYPT_ECDH_P521_ALGORITHM L"ECDH_P521" |
521 位质椭圆曲线 Diffie-Hellman 密钥交换算法。 Standard: SP800-56A |
BCRYPT_ECDSA_P256_ALGORITHM L"ECDSA_P256" |
256 位质椭圆曲线数字签名算法(FIPS 186-2)。 标准:FIPS 186-2、X9.62 |
BCRYPT_ECDSA_P384_ALGORITHM L"ECDSA_P384" |
384 位质椭圆曲线数字签名算法(FIPS 186-2)。 标准:FIPS 186-2、X9.62 |
BCRYPT_ECDSA_P521_ALGORITHM L"ECDSA_P521" |
521 位质椭圆曲线数字签名算法(FIPS 186-2)。 标准:FIPS 186-2、X9.62 |
BCRYPT_HKDF_ALGORITHM L"HKDF" |
基于 HMAC 的提取和扩展密钥派生函数。 标准:RFC 5869 Windows 10: Support for this algorithm begins. |
BCRYPT_KMAC128_ALGORITHM L"KMAC128" |
基于CSHAKE128构建的 SHA3 派生 Keccak 消息身份验证代码 (KMAC)。 Standard: SP800-185. Windows 11 版本 24H2: 开始支持此算法。 |
BCRYPT_KMAC256_ALGORITHM L"KMAC256" |
基于CSHAKE256构建的 SHA3 派生 Keccak 消息身份验证代码 (KMAC)。 Standard: SP800-185. Windows 11 版本 24H2: 开始支持此算法。 |
BCRYPT_LMS_ALGORITHM L"LMS" |
Leighton-Micali Hash-Based 签名算法。 标准:RFC 8554。 Note: This identifier is part of a prerelease product which may be substantially modified before it's commercially released. Microsoft对此处提供的信息不作任何明示或暗示的保证。 该标识符在 Windows 预览体验成员预览版的预发行版本中可用。 |
BCRYPT_MD2_ALGORITHM L"MD2" |
MD2 哈希算法。 标准:RFC 1319 |
BCRYPT_MD4_ALGORITHM L"MD4" |
MD4 哈希算法。 标准:RFC 1320 |
BCRYPT_MD5_ALGORITHM L"MD5" |
MD5 哈希算法。 标准:RFC 1321 |
BCRYPT_MLDSA_ALGORITHM L"ML-DSA" |
模块Lattice-Based 数字签名算法(ML-DSA)。 标准:FIPS 204。 Note: This identifier is part of a prerelease product which may be substantially modified before it's commercially released. Microsoft对此处提供的信息不作任何明示或暗示的保证。 该标识符在 Windows 预览体验成员预览版的预发行版本中可用。 |
BCRYPT_MLKEM_ALGORITHM L"ML-KEM" |
模块Lattice-Based 密钥封装机制(ML-KEM)算法。 Standard: FIPS 203. Note: This identifier is part of a prerelease product which may be substantially modified before it's commercially released. Microsoft对此处提供的信息不作任何明示或暗示的保证。 该标识符在 Windows 预览体验成员预览版的预发行版本中可用。 |
BCRYPT_RC2_ALGORITHM L"RC2" |
RC2 对称加密算法。 标准:RFC 2268 |
BCRYPT_RC4_ALGORITHM L"RC4" |
RC4 对称加密算法。 Standard: Various |
BCRYPT_RNG_ALGORITHM L"RNG" |
随机数生成器算法。 标准:FIPS 186-2、FIPS 140-2、NIST SP 800-90 Note: Beginning with 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. Windows Vista: The random number generator is based on the hash-based random number generator specified in the FIPS 186-2 standard. Windows 8: Beginning with Windows 8, the RNG algorithm supports FIPS 186-3. 小于或等于 1024 位的键遵循 FIPS 186-2,密钥大于 1024 到 FIPS 186-3。 |
BCRYPT_RNG_DUAL_EC_ALGORITHM L"DUALECRNG" |
双椭圆曲线随机数生成器算法。 Standard: SP800-90. Windows 8: Beginning with Windows 8, the EC RNG algorithm supports FIPS 186-3. 小于或等于 1024 位的键遵循 FIPS 186-2,密钥大于 1024 到 FIPS 186-3。 Windows 10: Beginning with Windows 10, the dual elliptic curve random number generator algorithm has been removed. 此算法的现有用途将继续工作;但是,随机数生成器基于 NIST SP 800-90 标准中指定的 AES 计数器模式。 New code should use BCRYPT_RNG_ALGORITHM, and it is recommended that existing code be changed to use BCRYPT_RNG_ALGORITHM. |
BCRYPT_RNG_FIPS186_DSA_ALGORITHM L"FIPS186DSARNG" |
适用于 DSA(数字签名算法)的随机数生成器算法。 标准:FIPS 186-2。 Windows 8: Support for FIPS 186-3 begins. |
BCRYPT_RSA_ALGORITHM L"RSA" |
RSA 公钥算法。 标准:PKCS #1 v1.5 和 v2.0。 |
BCRYPT_RSA_SIGN_ALGORITHM L"RSA_SIGN" |
RSA 签名算法。 目前不支持此算法。 You can use the BCRYPT_RSA_ALGORITHM algorithm to perform RSA signing operations. 标准:PKCS #1 v1.5 和 v2.0。 |
BCRYPT_SHA1_ALGORITHM L"SHA1" |
160 位安全哈希算法。 标准:FIPS 180-2、FIPS 198。 |
BCRYPT_SHA256_ALGORITHM L"SHA256" |
256 位安全哈希算法。 标准:FIPS 180-2、FIPS 198。 |
BCRYPT_SHA384_ALGORITHM L"SHA384" |
384 位安全哈希算法。 标准:FIPS 180-2、FIPS 198。 |
BCRYPT_SHA512_ALGORITHM L"SHA512" |
512 位安全哈希算法。 标准:FIPS 180-2、FIPS 198。 |
BCRYPT_SHA3_256_ALGORITHM L"SHA3-256" |
SHA3 256 位安全哈希算法。 标准:FIPS 202。 Windows 11 版本 24H2: 开始支持此算法。 |
BCRYPT_SHA3_384_ALGORITHM L"SHA3-384" |
SHA3 384 位安全哈希算法。 标准:FIPS 202。 Windows 11 版本 24H2: 开始支持此算法。 |
BCRYPT_SHA3_512_ALGORITHM L"SHA3-512" |
SHA3 512 位安全哈希算法。 标准:FIPS 202。 Windows 11 版本 24H2: 开始支持此算法。 |
BCRYPT_SHAKE128_ALGORITHM L"SHAKE128" |
具有 128 位强度的 SHA3 XOF。 标准:FIPS 202。 Note: This identifier is part of a prerelease product which may be substantially modified before it's commercially released. Microsoft对此处提供的信息不作任何明示或暗示的保证。 该标识符在 Windows 预览体验成员预览版的预发行版本中可用。 |
BCRYPT_SHAKE256_ALGORITHM L"SHAKE256" |
具有 256 位强度的 SHA3 XOF。 标准:FIPS 202。 Note: This identifier is part of a prerelease product which may be substantially modified before it's commercially released. Microsoft对此处提供的信息不作任何明示或暗示的保证。 该标识符在 Windows 预览体验成员预览版的预发行版本中可用。 |
BCRYPT_SLHDSA_ALGORITHM L"SLH-DSA" |
基于无状态哈希的数字签名算法(SLH-DSA)。 标准:FIPS 205。 Note: This identifier is part of a prerelease product which may be substantially modified before it's commercially released. Microsoft对此处提供的信息不作任何明示或暗示的保证。 该标识符在 Windows 预览体验成员预览版的预发行版本中可用。 |
BCRYPT_SP800108_CTR_HMAC_ALGORITHM L"SP800_108_CTR_HMAC" |
计数器模式、基于哈希的消息身份验证代码(HMAC)密钥派生函数算法。 Used by the BCryptKeyDerivation and NCryptKeyDerivation functions. |
BCRYPT_SP80056A_CONCAT_ALGORITHM L"SP800_56A_CONCAT" |
SP800-56A 密钥派生函数算法。 Used by the BCryptKeyDerivation and NCryptKeyDerivation functions. |
BCRYPT_PBKDF2_ALGORITHM L"PBKDF2" |
基于密码的密钥派生函数 2 (PBKDF2) 算法。 Used by the BCryptKeyDerivation and NCryptKeyDerivation functions. |
BCRYPT_XMSS_ALGORITHM L"XMSS" |
eXtended Merkle 签名方案 (XMSS) 基于状态哈希的签名算法。 XMSS 标准版:RFC 8391。 Note: This identifier is part of a prerelease product which may be substantially modified before it's commercially released. Microsoft对此处提供的信息不作任何明示或暗示的保证。 该标识符在 Windows 预览体验成员预览版的预发行版本中可用。 |
BCRYPT_XTS_AES_ALGORITHM L"XTS-AES" |
XTS 模式下的高级加密标准 (AES) 对称加密算法。 标准:SP-800-38E、IEEE Std 1619-2007。 Windows 10: Support for this algorithm begins. |
Remarks
To use BCRYPT_ECDSA_ALGORITHM or BCRYPT_ECDH_ALGORITHM, call BCryptOpenAlgorithmProvider with either BCRYPT_ECDSA_ALGORITHM or BCRYPT_ECDH_ALGORITHM as the pszAlgId. Then use BCryptSetProperty to set the BCRYPT_ECC_CURVE_NAME property to a named algorithm listed in CNG Named Curves.
To provide user-defined elliptic curve parameters directly, use BCryptSetProperty to set the BCRYPT_ECC_PARAMETERS property. 有关详细信息,请下载 Windows 10 加密提供程序开发人员工具包(CPDK )。
Requirements
Requirement | Value |
---|---|
支持的最低客户端 |
Windows Vista [仅限桌面应用] |
支持的最低服务器 |
Windows Server 2008 [仅限桌面应用] |
Header |
|