以下标识符用于识别各种 CNG 函数和结构(例如 CRYPT_INTERFACE_REG 结构)中的标准加密算法。 第三方提供程序可能具有它们支持的其他算法。
常量/值 | 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: 开始对此算法的支持。 |
BCRYPT_AES_GMAC_ALGORITHM L“AES-GMAC” |
高级加密标准 (AES) Galois 消息身份验证代码 (GMAC) 对称加密算法。 标准:SP800-38D Windows Vista: 从 Windows Vista SP1 开始,支持此算法。 |
BCRYPT_CAPI_KDF_ALGORITHM L“CAPI_KDF” |
加密 API (CAPI) 密钥派生函数算法。 由 BCryptKeyDerivation 和 NCryptKeyDerivation 函数使用。 |
BCRYPT_CHACHA20_POLY1305_ALGORITHM L“CHACHA20_POLY1305” |
ChaCha20-Poly1305 AEAD 算法。 标准:RFC 8439 Windows 10: 开始支持此算法。 |
BCRYPT_CSHAKE128_ALGORITHM L“CSHAKE128” |
SHA3 派生的具有 128 位强度的可自定义 XOF。 标准:SP800-185。 Windows 11 版本 24H2: 开始支持此算法。 |
BCRYPT_CSHAKE256_ALGORITHM L“CSHAKE256” |
SHA3 派生的具有 256 位强度的可自定义 XOF。 标准:SP800-185。 Windows 11 版本 24H2: 开始支持此算法。 |
BCRYPT_DES_ALGORITHM L“DES” |
数据加密标准对称加密算法。 标准:FIPS 46-3、FIPS 81 |
BCRYPT_DESX_ALGORITHM L“DESX” |
扩展数据加密标准对称加密算法。 标准:无 |
BCRYPT_DH_ALGORITHM L“DH” |
Diffie-Hellman 密钥交换算法。 标准:PKCS #3 |
BCRYPT_DSA_ALGORITHM L“DSA” |
数字签名算法。 标准:FIPS 186-2 Windows 8: 从 Windows 8 开始,此算法支持 FIPS 186-3。 小于或等于 1024 位的键遵循 FIPS 186-2,密钥大于 1024 到 FIPS 186-3。 |
BCRYPT_ECDH_ALGORITHM L“ECDH” |
泛型黄金椭圆曲线 Diffie-Hellman 密钥交换算法(有关详细信息,请参阅 “备注 ”部分)。 标准:SP800-56A。 |
BCRYPT_ECDSA_ALGORITHM L“ECDSA” |
通用质椭圆曲线数字签名算法(有关详细信息,请参阅 “备注 ”部分)。 标准:ANSI X9.62。 |
BCRYPT_ECDH_P256_ALGORITHM L“ECDH_P256” |
256 位质椭圆曲线 Diffie-Hellman 密钥交换算法。 标准:SP800-56A |
BCRYPT_ECDH_P384_ALGORITHM L“ECDH_P384” |
384 位质椭圆曲线 Diffie-Hellman 密钥交换算法。 标准:SP800-56A |
BCRYPT_ECDH_P521_ALGORITHM L“ECDH_P521” |
521 位质椭圆曲线 Diffie-Hellman 密钥交换算法。 标准: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“HKF” |
基于 HMAC 的提取和扩展密钥派生函数。 标准:RFC 5869 Windows 10: 开始支持此算法。 |
BCRYPT_KMAC128_ALGORITHM L“KMAC128” |
基于CSHAKE128构建的 SHA3 派生 Keccak 消息身份验证代码 (KMAC)。 标准:SP800-185。 Windows 11 版本 24H2: 开始支持此算法。 |
BCRYPT_KMAC256_ALGORITHM L“KMAC256” |
基于CSHAKE256构建的 SHA3 派生 Keccak 消息身份验证代码 (KMAC)。 标准:SP800-185。 Windows 11 版本 24H2: 开始支持此算法。 |
BCRYPT_LMS_ALGORITHM L“LMS” |
Leighton-Micali Hash-Based 签名算法。 标准:RFC 8554。 注意: 此标识符是预发行产品的一部分,在商业发布之前可能会对其进行大幅修改。 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。 注意: 此标识符是预发行产品的一部分,在商业发布之前可能会对其进行大幅修改。 Microsoft对此处提供的信息不作任何明示或暗示的保证。 该标识符在 Windows 预览体验成员预览版的预发行版本中可用。 |
BCRYPT_MLKEM_ALGORITHM L“ML-KEM” |
模块Lattice-Based 密钥封装机制(ML-KEM)算法。 标准: FIPS 203。 注意: 此标识符是预发行产品的一部分,在商业发布之前可能会对其进行大幅修改。 Microsoft对此处提供的信息不作任何明示或暗示的保证。 该标识符在 Windows 预览体验成员预览版的预发行版本中可用。 |
BCRYPT_RC2_ALGORITHM L“RC2” |
RC2 对称加密算法。 标准:RFC 2268 |
BCRYPT_RC4_ALGORITHM L“RC4” |
RC4 对称加密算法。 标准:各种 |
BCRYPT_RNG_ALGORITHM L“RNG” |
随机数生成器算法。 标准:FIPS 186-2、FIPS 140-2、NIST SP 800-90 注意: 从 SP1 和 Windows Server 2008 开始,随机数生成器基于 NIST SP 800-90 标准中指定的 AES 计数器模式。 Windows Vista: 随机数生成器基于 FIPS 186-2 标准中指定的基于哈希的随机数生成器。 Windows 8: 从 Windows 8 开始,RNG 算法支持 FIPS 186-3。 小于或等于 1024 位的键遵循 FIPS 186-2,密钥大于 1024 到 FIPS 186-3。 |
BCRYPT_RNG_DUAL_EC_ALGORITHM L“DUALECRNG” |
双椭圆曲线随机数生成器算法。 标准:SP800-90。 Windows 8: 从 Windows 8 开始,EC RNG 算法支持 FIPS 186-3。 小于或等于 1024 位的键遵循 FIPS 186-2,密钥大于 1024 到 FIPS 186-3。 Windows 10: 从 Windows 10 开始,已删除双椭圆曲线随机数生成器算法。 此算法的现有用途将继续工作;但是,随机数生成器基于 NIST SP 800-90 标准中指定的 AES 计数器模式。 新代码应使用 BCRYPT_RNG_ALGORITHM,建议更改现有代码以使用 BCRYPT_RNG_ALGORITHM。 |
BCRYPT_RNG_FIPS186_DSA_ALGORITHM L“FIPS186DSARNG” |
适用于 DSA(数字签名算法)的随机数生成器算法。 标准:FIPS 186-2。 Windows 8: FIPS 186-3 支持开始。 |
BCRYPT_RSA_ALGORITHM L“RSA” |
RSA 公钥算法。 标准:PKCS #1 v1.5 和 v2.0。 |
BCRYPT_RSA_SIGN_ALGORITHM L“RSA_SIGN” |
RSA 签名算法。 目前不支持此算法。 可以使用 BCRYPT_RSA_ALGORITHM 算法来执行 RSA 签名作。 标准: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。 注意: 此标识符是预发行产品的一部分,在商业发布之前可能会对其进行大幅修改。 Microsoft对此处提供的信息不作任何明示或暗示的保证。 该标识符在 Windows 预览体验成员预览版的预发行版本中可用。 |
BCRYPT_SHAKE256_ALGORITHM L“SHAKE256” |
具有 256 位强度的 SHA3 XOF。 标准:FIPS 202。 注意: 此标识符是预发行产品的一部分,在商业发布之前可能会对其进行大幅修改。 Microsoft对此处提供的信息不作任何明示或暗示的保证。 该标识符在 Windows 预览体验成员预览版的预发行版本中可用。 |
BCRYPT_SLHDSA_ALGORITHM L“SLH-DSA” |
基于无状态哈希的数字签名算法(SLH-DSA)。 标准:FIPS 205。 注意: 此标识符是预发行产品的一部分,在商业发布之前可能会对其进行大幅修改。 Microsoft对此处提供的信息不作任何明示或暗示的保证。 该标识符在 Windows 预览体验成员预览版的预发行版本中可用。 |
BCRYPT_SP800108_CTR_HMAC_ALGORITHM L“SP800_108_CTR_HMAC” |
计数器模式、基于哈希的消息身份验证代码(HMAC)密钥派生函数算法。 由 BCryptKeyDerivation 和 NCryptKeyDerivation 函数使用。 |
BCRYPT_SP80056A_CONCAT_ALGORITHM L“SP800_56A_CONCAT” |
SP800-56A 密钥派生函数算法。 由 BCryptKeyDerivation 和 NCryptKeyDerivation 函数使用。 |
BCRYPT_PBKDF2_ALGORITHM L“PBKDF2” |
基于密码的密钥派生函数 2 (PBKDF2) 算法。 由 BCryptKeyDerivation 和 NCryptKeyDerivation 函数使用。 |
BCRYPT_XMSS_ALGORITHM L“XMSS” |
eXtended Merkle 签名方案 (XMSS) 基于状态哈希的签名算法。 XMSS 标准版:RFC 8391。 注意: 此标识符是预发行产品的一部分,在商业发布之前可能会对其进行大幅修改。 Microsoft对此处提供的信息不作任何明示或暗示的保证。 该标识符在 Windows 预览体验成员预览版的预发行版本中可用。 |
BCRYPT_XTS_AES_ALGORITHM L“XTS-AES” |
XTS 模式下的高级加密标准 (AES) 对称加密算法。 标准:SP-800-38E、IEEE Std 1619-2007。 Windows 10: 开始支持此算法。 |
注解
若要使用BCRYPT_ECDSA_ALGORITHM或BCRYPT_ECDH_ALGORITHM,请使用 BCRYPT_ECDSA_ALGORITHM 或 BCRYPT_ECDH_ALGORITHM 作为 pszAlgId 调用 BCryptOpenAlgorithmProvider。 然后使用 BCryptSetProperty 将 BCRYPT_ECC_CURVE_NAME 属性设置为 CNG 命名曲线中列出的命名算法。
若要直接提供用户定义的椭圆曲线参数,请使用 BCryptSetProperty 设置 BCRYPT_ECC_PARAMETERS 属性。 有关详细信息,请下载 Windows 10 加密提供程序开发人员工具包(CPDK )。
要求
要求 | 价值 |
---|---|
支持的最低客户端 |
Windows Vista [仅限桌面应用] |
支持的最低服务器 |
Windows Server 2008 [仅限桌面应用] |
标题 |
|