ALG_ID

ALG_ID数据类型指定算法标识符。 此数据类型的参数将传递给 CryptoAPI 中的大多数函数。

typedef unsigned int ALG_ID;

下表列出了当前定义的算法标识符。 自定义 加密服务提供商 (CSP)的作者可以定义新值。 此外,自定义 CSP 用于密钥规范AT_KEYEXCHANGEAT_SIGNATURE使用的ALG_ID依赖于提供程序。 当前映射遵循表。

标识符 价值 DESCRIPTION
CALG_3DES 0x00006603 三重 DES 加密算法。
CALG_3DES_112 0x00006609 双密钥 三重 DES 加密,有效密钥长度等于 112 位。
CALG_AES 0x00006611 高级加密标准(AES)。 Microsoft AES 加密提供程序支持此算法。
CALG_AES_128 0x0000660e 128 位 AES。 Microsoft AES 加密提供程序支持此算法。
CALG_AES_192 0x0000660f 192 位 AES。 Microsoft AES 加密提供程序支持此算法。
CALG_AES_256 0x00006610 256 位 AES。 Microsoft AES 加密提供程序支持此算法。
CALG_AGREEDKEY_ANY 0x0000aa03 Diffie-Hellman 同意密钥句柄的临时算法标识符。
CALG_CYLINK_MEK 0x0000660c 用于创建具有奇偶校验位和零键位的 40 位 DES 密钥的算法,使其密钥长度为 64 位。 Microsoft 基本加密提供程序支持此算法。
CALG_DES 0x00006601 DES 加密算法。
CALG_DESX 0x00006604 DESX 加密算法。
CALG_DH_EPHEM 0x0000aa02 Diffie-Hellman 临时密钥交换算法。
CALG_DH_SF 0x0000aa01 Diffie-Hellman 存储和转发密钥交换算法。
CALG_DSS_SIGN 0x00002200 DSA 公钥 签名算法。
CALG_ECDH 0x0000aa05 椭圆曲线 Diffie-Hellman 密钥交换算法。
注意: 仅通过加密 API 支持此算法 :下一代
Windows Server 2003 和 Windows XP: 不支持此算法。
CALG_ECDH_EPHEM 0x0000ae06 临时椭圆曲线 Diffie-Hellman 密钥交换算法。 注意: 仅通过加密 API 支持此算法 :下一代
Windows Server 2003 和 Windows XP: 不支持此算法。
CALG_ECDSA 0x00002203 椭圆曲线数字签名算法。 注意: 仅通过加密 API 支持此算法 :下一代
Windows Server 2003 和 Windows XP: 不支持此算法。
CALG_ECMQV 0x0000a001 椭圆曲线 Menezes、Qu 和 Vanstone (MQV) 密钥交换算法。 不支持此算法。
CALG_HASH_REPLACE_OWF 0x0000800b 函数哈希算法的一种方式。
CALG_HUGHES_MD5 0x0000a003 休斯 MD5 哈希算法。
CALG_HMAC 0x00008009 HMAC 键控哈希算法。 Microsoft 基本加密提供程序支持此算法。
CALG_KEA_KEYX 0x0000aa04 KEA 密钥交换算法 (FORTEZZA)。 不支持此算法。
CALG_MAC 0x00008005 MAC 键控哈希算法。 Microsoft 基本加密提供程序支持此算法。
CALG_MD2 0x00008001 MD2 哈希算法。 Microsoft 基本加密提供程序支持此算法。
CALG_MD4 0x00008002 MD4 哈希算法。
CALG_MD5 0x00008003 MD5 哈希算法。 Microsoft 基本加密提供程序支持此算法。
CALG_NO_SIGN 0x00002000 无签名算法。
CALG_OID_INFO_CNG_ONLY 0xffffffff 该算法仅在 CNG 中实现。 可以使用宏 IS_SPECIAL_OID_INFO_ALGID来确定加密算法是否仅受 CNG 函数支持。
CALG_OID_INFO_PARAMETERS 0xfffffffe 算法在编码的参数中定义。 仅使用 CNG 支持该算法。 可以使用宏IS_SPECIAL_OID_INFO_ALGID来确定加密算法是否仅受 CNG 函数支持。
CALG_OID_INFO_PQ 0xFFFFFFFD 量子后加密算法。
CALG_OID_INFO_PQ_T 0xFFFFFFFC 量子后和传统复合算法。
CALG_PCT1_MASTER 0x00004c04 由 Schannel.dll作系统使用。 应用程序不应使用此 ALG_ID
CALG_RC2 0x00006602 RC2 块加密算法。 Microsoft 基本加密提供程序支持此算法。
CALG_RC4 0x00006801 RC4 流加密算法。 Microsoft 基本加密提供程序支持此算法。
CALG_RC5 0x0000660d RC5 块加密算法。
CALG_RSA_KEYX 0x0000a400 RSA 公钥交换算法。 Microsoft 基本加密提供程序支持此算法。
CALG_RSA_SIGN 0x00002400 RSA 公钥签名算法。 Microsoft 基本加密提供程序支持此算法。
CALG_SCHANNEL_ENC_KEY 0x00004c07 由 Schannel.dll作系统使用。 应用程序不应使用此 ALG_ID
CALG_SCHANNEL_MAC_KEY 0x00004c03 由 Schannel.dll作系统使用。 应用程序不应使用此 ALG_ID
CALG_SCHANNEL_MASTER_HASH 0x00004c02 由 Schannel.dll作系统使用。 应用程序不应使用此 ALG_ID
CALG_SEAL 0x00006802 SEAL 加密算法。 不支持此算法。
CALG_SHA 0x00008004 SHA 哈希算法。 Microsoft 基本加密提供程序支持此算法。
CALG_SHA1 0x00008004 CALG_SHA相同。 Microsoft 基本加密提供程序支持此算法。
CALG_SHA_256 0x0000800c 256 位 SHA 哈希算法。 Microsoft增强的 RSA 和 AES 加密提供程序支持此算法。
带 SP3 的 Windows XP: Microsoft增强型 RSA 和 AES 加密提供程序(原型)支持此算法。
具有 SP2 的 Windows XP、SP1 和 Windows XP 的 Windows XP: 不支持此算法。
CALG_SHA_384 0x0000800d 384 位 SHA 哈希算法。 Microsoft增强的 RSA 和 AES 加密提供程序支持此算法。带 SP3 的 Windows XP: Microsoft增强型 RSA 和 AES 加密提供程序(原型)支持此算法。
具有 SP2 的 Windows XP、SP1 和 Windows XP 的 Windows XP: 不支持此算法。
CALG_SHA_512 0x0000800e 512 位 SHA 哈希算法。 Microsoft增强的 RSA 和 AES 加密提供程序支持此算法。
带 SP3 的 Windows XP: Microsoft增强型 RSA 和 AES 加密提供程序(原型)支持此算法。
具有 SP2 的 Windows XP、SP1 和 Windows XP 的 Windows XP: 不支持此算法。
CALG_SKIPJACK 0x0000660a Skipjack 块加密算法 (FORTEZZA)。 不支持此算法。
CALG_SSL2_MASTER 0x00004c05 由 Schannel.dll作系统使用。 应用程序不应使用此 ALG_ID
CALG_SSL3_MASTER 0x00004c01 由 Schannel.dll作系统使用。 应用程序不应使用此 ALG_ID
CALG_SSL3_SHAMD5 0x00008008 由 Schannel.dll作系统使用。 应用程序不应使用此 ALG_ID
CALG_TEK 0x0000660b 泰克(福兹扎)。 不支持此算法。
CALG_TLS1_MASTER 0x00004c06 由 Schannel.dll作系统使用。 应用程序不应使用此 ALG_ID
CALG_TLS1PRF 0x0000800a 由 Schannel.dll作系统使用。 应用程序不应使用此 ALG_ID

对于Microsoft基本加密提供程序Microsoft强加密提供程序Microsoft增强加密提供程序,用于密钥规范AT_KEYEXCHANGEAT_SIGNATURE的ALG_IDs如下所示:

  • CALG_RSA_KEYX 用于 AT_KEYEXCHANGE
  • CALG_RSA_SIGN 用于 AT_SIGNATURE

对于 Microsoft Base DSS 和 Diffie-Hellman 加密提供程序,用于密钥规范AT_KEYEXCHANGEAT_SIGNATURE的ALG_IDs如下所示:

  • CALG_DH_SF 用于 AT_KEYEXCHANGE
  • CALG_DSS_SIGN 用于 AT_SIGNATURE

要求

要求 价值
支持的最低客户端 Windows XP [仅限桌面应用]
支持的最低服务器 Windows Server 2003 [仅限桌面应用]
标题 Wincrypt.h

另请参阅

加密函数

CRYPT_ALGORITHM_IDENTIFIER

CryptFindOIDInfo