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 位密钥。