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 |