ALG_IDデータ型は、アルゴリズム識別子を指定します。 このデータ型のパラメーターは、CryptoAPI のほとんどの関数に渡されます。
typedef unsigned int ALG_ID;
次の表に、現在定義されているアルゴリズム識別子を示します。 カスタム 暗号化サービス プロバイダー (CSP) の作成者は、新しい値を定義できます。 また、AT_KEYEXCHANGEおよびAT_SIGNATUREの主要な仕様にカスタム CSP によって使用されるALG_IDは、プロバイダーによって異なります。 現在のマッピングは次の表に従います。
| 識別子 | 価値 | 説明 |
|---|---|---|
| CALG_3DES | 0x00006603 | トリプル DES 暗号化アルゴリズム。 |
| CALG_3DES_112 | 0x00006609 | 有効なキー長が 112 ビットの 2 キー トリプル DES 暗号化。 |
| CALG_AES | 0x00006611 | Advanced Encryption Standard (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 Base Cryptographic Provider でサポートされています。 |
| 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 キー交換アルゴリズム。 手記: このアルゴリズムは、 Cryptography API: Next Generation によってのみサポートされます。 Windows Server 2003 および Windows XP: このアルゴリズムはサポートされていません。 |
| CALG_ECDH_EPHEM | 0x0000ae06 | キー交換アルゴリズム Diffie-Hellman エフェメラル楕円曲線。
手記: このアルゴリズムは、 Cryptography API: Next Generation によってのみサポートされます。 Windows Server 2003 および Windows XP: このアルゴリズムはサポートされていません。 |
| CALG_ECDSA | 0x00002203 | 楕円曲線デジタル署名アルゴリズム。
手記: このアルゴリズムは、 Cryptography API: Next Generation によってのみサポートされます。 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 Base Cryptographic Provider でサポートされています。 |
| CALG_KEA_KEYX | 0x0000aa04 | KEA キー交換アルゴリズム (FORTEZZA)。 このアルゴリズムはサポートされていません。 |
| CALG_MAC | 0x00008005 | MAC キー付きハッシュ アルゴリズム。 このアルゴリズムは、 Microsoft Base Cryptographic Provider でサポートされています。 |
| CALG_MD2 | 0x00008001 | MD2 ハッシュ アルゴリズム。 このアルゴリズムは、 Microsoft Base Cryptographic Provider でサポートされています。 |
| CALG_MD4 | 0x00008002 | MD4 ハッシュ アルゴリズム。 |
| CALG_MD5 | 0x00008003 | MD5 ハッシュ アルゴリズム。 このアルゴリズムは、 Microsoft Base Cryptographic Provider でサポートされています。 |
| 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 Base Cryptographic Provider でサポートされています。 |
| CALG_RC4 | 0x00006801 | RC4 ストリーム暗号化アルゴリズム。 このアルゴリズムは、 Microsoft Base Cryptographic Provider でサポートされています。 |
| CALG_RC5 | 0x0000660d | RC5 ブロック暗号化アルゴリズム。 |
| CALG_RSA_KEYX | 0x0000a400 | RSA 公開キー交換アルゴリズム。 このアルゴリズムは、 Microsoft Base Cryptographic Provider でサポートされています。 |
| CALG_RSA_SIGN | 0x00002400 | RSA 公開キー署名アルゴリズム。 このアルゴリズムは、 Microsoft Base Cryptographic Provider でサポートされています。 |
| 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 Base Cryptographic Provider でサポートされています。 |
| CALG_SHA1 | 0x00008004 | CALG_SHAと同じです。 このアルゴリズムは、 Microsoft Base Cryptographic Provider でサポートされています。 |
| CALG_SHA_256 | 0x0000800c | 256 ビット SHA ハッシュ アルゴリズム。 このアルゴリズムは、Microsoft Enhanced RSA および AES 暗号化プロバイダーによってサポートされています。 Windows XP SP3: このアルゴリズムは、Microsoft Enhanced RSA および AES 暗号化プロバイダー (プロトタイプ) でサポートされています。 Windows XP SP2、Windows XP SP1 および Windows XP: このアルゴリズムはサポートされていません。 |
| CALG_SHA_384 | 0x0000800d | 384 ビット SHA ハッシュ アルゴリズム。 このアルゴリズムは、Microsoft Enhanced RSA および AES 暗号化プロバイダーによってサポートされています。Windows XP SP3: このアルゴリズムは、Microsoft Enhanced RSA および AES 暗号化プロバイダー (プロトタイプ) でサポートされています。 Windows XP SP2、Windows XP SP1 および Windows XP: このアルゴリズムはサポートされていません。 |
| CALG_SHA_512 | 0x0000800e | 512 ビット SHA ハッシュ アルゴリズム。 このアルゴリズムは、Microsoft Enhanced RSA および AES 暗号化プロバイダーによってサポートされています。 Windows XP SP3: このアルゴリズムは、Microsoft Enhanced RSA および AES 暗号化プロバイダー (プロトタイプ) でサポートされています。 Windows XP SP2、Windows XP SP1 および Windows XP: このアルゴリズムはサポートされていません。 |
| CALG_SKIPJACK | 0x0000660a | スキップジャック ブロック暗号化アルゴリズム (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 Base Cryptographic Provider、Microsoft Strong Cryptographic Provider、および Microsoft Enhanced Cryptographic Provider の場合、主要な仕様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 |