CNG 加密算法提供程序

与加密 API (CryptoAPI) 不同,加密 API:下一代 (CNG) 将加密提供程序与密钥存储提供程序分开。 基本加密算法操作(如哈希和签名)称为基元操作或简单基元。 CNG 包括实现以下算法的提供程序。

对称算法

名称 支持的模式 密钥大小(以位为单位 (Default/Min/Max)
高级加密标准 (AES) ECB、CBC、CFB8、CFB128、GCM、CCM、GMAC、CMAC、AES 密钥包装、XTS
Windows 8: 开始支持 CFB128 和 CMAC 模式。
Windows 10:开始支持 XTS-AES 模式。
128/192/256
数据加密标准 (DES) ECB、CBC、CFB8、CFB64
Windows 8: 开始支持 CFB64 模式。
56/56/56
数据加密标准 XORed (DESX) ECB、CBC、CFB8、CFB64
Windows 8: 开始支持 CFB64 模式。
192/192/192
三重数据加密标准 (3DES) ECB、CBC、CFB8、CFB64
Windows 8: 开始支持 CFB64 模式。
112/168
RSA 数据安全 2 (RC2) 支持 ECB、CBC、CFB8、CFB64 模式。
Windows 8: 开始支持 CFB64 模式。
16 到 128,以 8 位为增量
RSA 数据安全 4 (RC4) 8 到 512,以 8 位为增量

非对称算法

名称 注释 密钥大小(以位为单位 (Default/Min/Max)
数字签名算法 (DSA) 对于 1024 到 3072 位之间的密钥大小,实现符合 FIPS 186-3。
对于 512 到 1024 位的密钥大小,实现符合 FIPS 186-2。
512 到 3072,以 64 位为增量
Windows 8: 开始支持 3072 位密钥。
RSA 包括使用 PKCS1、最佳非对称加密填充 (OAEP) 编码或填充的 RSA 算法,或概率签名方案 (PSS) 纯文本填充 512 到 16384,以 64 位为增量
椭圆曲线数字签名算法 (ECDSA) 包括使用 FIPS 186-3 中指定的 256、384 和 521 位公钥的曲线。 注意: 若要显示所有命名的椭圆曲线,请使用 certutil displayEccCurve
256/384/521

哈希算法

名称 注释 密钥大小(以位为单位 (Default/Min/Max)
安全哈希算法 1 (SHA1) 包括 HmacSha1 160/160/160
安全哈希算法 256 (SHA256) 包括 HmacSha256 256/256/256
安全哈希算法 384 (SHA384) 包括 HmacSha384 384/384/384
安全哈希算法 512 (SHA512) 包括 HmacSha512 512/512/512
消息摘要 2 (MD2) 包括 HmacMd2 128/128/128
消息摘要 4 (MD4) 包括 HmacMd4 128/128/128
消息摘要 5 (MD5) 包括 HmacMd5 128/128/128

密钥交换算法

算法名称 注释 密钥大小(以位为单位 (Default/Min/Max)
Diffie-Hellman 密钥交换算法 512 到 4096,以 64 位为增量
ECDH) Diffie-Hellman (椭圆曲线 包括使用 SP800-56A 中指定的 256、384 和 521 位公钥的曲线。 256/384/521

CNG 算法标识符

CNG 加密基元函数

了解加密提供程序