ALG_ID數據類型會指定演算法識別碼。 此數據類型的參數會傳遞至 CryptoAPI 中的大部分函式。
typedef unsigned int ALG_ID;
下表列出目前定義的演算法識別碼。 自訂 密碼編譯服務提供者 (CSP) 的作者可以定義新的值。 此外,自定義 CSP 用於金鑰規格AT_KEYEXCHANGE和AT_SIGNATURE所使用的ALG_ID相依於提供者。 數據表後面有目前的對應。
識別碼 | 價值觀 | 說明 |
---|---|---|
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 密碼編譯提供者支援此演算法。 Windows XP 與 SP3: Microsoft增強的 RSA 和 AES 密碼編譯提供者 (原型) 支援此演算法。 Windows XP with SP2、Windows XP with SP1 和 Windows XP: 不支援此演算法。 |
CALG_SHA_384 | 0x0000800d | 384 位 SHA 哈希演算法。 Microsoft增強的 RSA 和 AES 密碼編譯提供者支援此演算法。Windows XP 與 SP3: Microsoft增強的 RSA 和 AES 密碼編譯提供者 (原型) 支援此演算法。 Windows XP with SP2、Windows XP with SP1 和 Windows XP: 不支援此演算法。 |
CALG_SHA_512 | 0x0000800e | 512 位 SHA 哈希演算法。 Microsoft增強的 RSA 和 AES 密碼編譯提供者支援此演算法。 Windows XP 與 SP3: Microsoft增強的 RSA 和 AES 密碼編譯提供者 (原型) 支援此演算法。 Windows XP with SP2、Windows XP with SP1 和 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_KEYEXCHANGE和AT_SIGNATURE的ALG_IDs如下所示:
- CALG_RSA_KEYX 用於 AT_KEYEXCHANGE。
- CALG_RSA_SIGN 用於 AT_SIGNATURE。
針對 Microsoft Base DSS 和 Diffie-Hellman 密碼編譯提供者,用於密鑰規格AT_KEYEXCHANGE和AT_SIGNATURE的ALG_IDs如下所示:
- CALG_DH_SF 用於 AT_KEYEXCHANGE。
- CALG_DSS_SIGN 用於 AT_SIGNATURE。
需求
要求 | 價值觀 |
---|---|
最低支援的用戶端 | Windows XP [僅限傳統型應用程式] |
最低支援的伺服器 | Windows Server 2003 [僅限傳統型應用程式] |
頁首 | Wincrypt.h |