ALG_ID

ALG_ID資料類型會指定演算法識別碼。 此資料類型的參數會傳遞至 CryptoAPI 中大部分的函式。

typedef unsigned int ALG_ID;

下表列出目前定義的演算法識別碼。 自訂 密碼編譯服務提供者 的作者 (CSP) 可以定義新的值。 此外,自訂 CSP 用於金鑰規格AT_KEYEXCHANGEAT_SIGNATURE所使用的ALG_ID是提供者相依的。 目前的對應會遵循資料表。

識別碼 描述
CALG_3DES 0x00006603 三重 DES 加密演算法。
CALG_3DES_112 0x00006609 有效金鑰長度等於 112 位的雙金鑰 三倍 DES 加密。
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 Hughes 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_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 Enhanced 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 Enhanced 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 Enhanced 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 TEK (FORTEZZA) 。 不支援此演算法。
CALG_TLS1_MASTER 0x00004c06 由 Schannel.dll 作業系統使用。 應用程式不應使用此 ALG_ID
CALG_TLS1PRF 0x0000800a 由 Schannel.dll 作業系統使用。 應用程式不應使用此 ALG_ID

 

針對Microsoft 基礎密碼編譯提供者、Microsoft 強式密碼編譯提供者Microsoft 增強密碼編譯提供者,用於金鑰規格AT_KEYEXCHANGEAT_SIGNATUREALG_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