次の方法で共有


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 ヒューズ 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 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_KEYEXCHANGEおよびAT_SIGNATUREに使用されるALG_IDsは次のとおりです。

  • CALG_DH_SF は、 AT_KEYEXCHANGEに使用されます。
  • CALG_DSS_SIGN は、AT_SIGNATUREに使用 されます

要求事項

要件 価値
サポートされている最小のクライアント Windows XP (デスクトップ アプリのみ)
サポートされている最小のサーバー Windows Server 2003 (デスクトップ アプリのみ)
ヘッダ Wincrypt.h

こちらも参照ください

暗号化関数

CRYPT_ALGORITHM_IDENTIFIER

CryptFindOIDInfo