CNG 加密算法提供程序

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

对称算法

名字 支持的模式 以位为单位的键大小(默认值/最小值/最大值)
高级加密标准 (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 位增量表示

非对称算法

名字 笔记 以位为单位的键大小(默认值/最小值/最大值)
数字签名算法 (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

哈希算法

名字 笔记 以位为单位的键大小(默认值/最小值/最大值)
安全哈希算法 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

密钥交换算法

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

CNG 算法标识符

CNG 加密基元函数

了解加密提供程序