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 |