ALG_ID

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 Hughes 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_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 ProviderMicrosoft 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_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