Microsoft AES 加密提供程序
Microsoft 增强型 RSA 和 AES 加密提供程序支持与 Microsoft 基本加密提供程序相同的功能,称为基本提供程序。 AES 提供程序通过更长的密钥和其他算法支持更强的安全性。 它可以与所有版本的 CryptoAPI 一起使用。
Windowsxp: Microsoft AES 加密提供程序名为 Microsoft 增强型 RSA 和 AES 加密提供程序, (原型) 。
为了保持与早期提供程序版本的向后兼容性,提供程序名称(如 Wincrypt.h 头文件中定义)将保留版本 1.0 指定,即使此提供程序的较新版本已交付。 若要确定正在使用的提供程序的版本,请调用 CryptGetProvParam, 并将 dwParam 参数设置为 PP_VERSION。 如果返回0x0200,则使用版本 2.0。
值 | |
---|---|
提供程序类型 | PROV_RSA_AES |
提供程序名称 | MS_ENH_RSA_AES_PROV |
下表突出显示了基础提供程序、强提供程序和 AES 提供程序之间的差异。 显示的 密钥长度 是默认密钥长度。
算法 | 基提供程序密钥长度 | 强提供程序密钥长度 | AES 提供程序密钥长度 |
---|---|---|---|
RSA 公钥签名算法 | 512 位 | 1,024 位 | 1,024 位 |
RSA 公钥交换算法 | 512 位 | 1,024 位 | 1,024 位 |
RC2 块加密算法 | 40 位 | 128 位 | 可以设置 128 位盐长度。 |
RC4 流加密算法 | 40 位 | 128 位 | 可以设置 128 位盐长度。 |
DES | 56 位 | 56 位 | 56 位 |
三重 DES (2 键) | 不支持 | 112 位 | 112 位 |
三重 DES (3 键) | 不支持 | 168 位 | 168 位 |
有关支持算法的完整列表,请参阅 AES 提供程序算法。
强提供程序、增强提供程序和 AES 提供程序与基本提供程序向后兼容,但提供程序只能生成默认密钥长度的 RC2 或 RC4 密钥。 基本提供程序的默认长度为 40 位。 AES 提供程序的默认长度为 128 位。 因此,AES 提供程序无法创建具有基本提供程序兼容密钥长度的密钥。 但是,AES 提供程序可以导入最多 128 位的 RC2 和 RC4 密钥。 因此,AES 提供程序可以导入和使用使用基提供程序生成的 40 位密钥。