次の方法で共有


暗号化プリミティブ プロパティ識別子

この記事では、BCryptGetProperty 関数と BCryptSetProperty 関数で使用される暗号化プリミティブ プロパティ識別子について説明します。 これらの値が暗号化アルゴリズムのプロパティを識別するのにどのように役立つかについて説明します。

BCRYPT_ALGORITHM_NAME

L"AlgorithmName"

アルゴリズムの名前を含む null で終わる Unicode 文字列。

BCRYPT_AUTH_TAG_LENGTH

L"AuthTagLength"

アルゴリズムでサポートされている認証タグの長さ。 このプロパティは 、BCRYPT_AUTH_TAG_LENGTHS_STRUCT 構造体です。 このプロパティはアルゴリズムにのみ適用されます。

BCRYPT_BLOCK_LENGTH

L"BlockLength"

アルゴリズムの暗号ブロックのサイズ (バイト単位)。 このプロパティは、ブロック暗号アルゴリズムにのみ適用されます。 このデータ型は DWORD です

BCRYPT_BLOCK_SIZE_LIST

L"BlockSizeList"

暗号化アルゴリズムでサポートされているブロック長の一覧。 このデータ型は DWORD の配列です。 配列内の要素の数は、取得したバイト数を 1 つの DWORD のサイズで割ることによって決定できます。

BCRYPT_CHAINING_MODE

L"ChainingMode"

暗号化アルゴリズムのチェーン モードを表す null で終わる Unicode 文字列へのポインター。 このプロパティは、アルゴリズム ハンドルまたはキー ハンドルで、次のいずれかの値に設定できます。

識別子 価値 説明
BCRYPT_CHAIN_MODE_CBC L"ChainingModeCBC" アルゴリズムのチェーン モードを 暗号ブロック チェーンに設定します。
BCRYPT_CHAIN_MODE_CCM L"ChainingModeCCM" アルゴリズムのチェーン モードを CBC-MAC モード (CCM) でカウンターするように設定します。
128、192、256 ビットのキー長をサポートします。

手記: この値は、Windows Vista SP1 以降でサポートされています。
BCRYPT_CHAIN_MODE_CFB L"ChainingModeCFB" アルゴリズムのチェーン モードを 暗号フィードバックに設定します。
BCRYPT_CHAIN_MODE_ECB L"ChainingModeECB" アルゴリズムのチェーン モードを 電子コードブックに設定します。
BCRYPT_CHAIN_MODE_GCM L"ChainingModeGCM" アルゴリズムのチェーン モードを Galois/counter モード (GCM) に設定します。
128、192、256 ビットのキー長をサポートします。

手記: この値は、Windows Vista SP1 以降でサポートされています。
BCRYPT_CHAIN_MODE_NA L"ChainingModeN/A" このアルゴリズムでは、チェーンはサポートされていません。

BCRYPT_DH_PARAMETERS

L"DHParameters"

Diffie-Hellman キーで使用するパラメーターを指定します。 このデータ型は、 BCRYPT_DH_PARAMETER_HEADER 構造体へのポインターです。 このプロパティは、キーに対してのみ設定でき、キーが完了する前に設定する必要があります。

BCRYPT_DSA_PARAMETERS

L"DSAParameters"

DSA キーで使用するパラメーターを指定します。 このプロパティは、 BCRYPT_DSA_PARAMETER_HEADER または BCRYPT_DSA_PARAMETER_HEADER_V2 構造体です。 このプロパティは、キーに対してのみ設定でき、キーが完了する前に設定する必要があります。

Windows 8: Windows 8 以降では、このプロパティは BCRYPT_DSA_PARAMETER_HEADER_V2 構造にすることができます。 キー サイズが 1024 ビットを超え、3072 ビット以下の場合は、この構造体を使用します。 キー サイズが 512 以上で、1024 ビット以下の場合は、 BCRYPT_DSA_PARAMETER_HEADER 構造体を使用します。

BCRYPT_EFFECTIVE_KEY_LENGTH

L"EffectiveKeyLength"

RC2 キーの有効な長さのビット単位のサイズ。 このデータ型は DWORD です

BCRYPT_HASH_BLOCK_LENGTH

L"HashBlockLength"

ハッシュのブロックのサイズ (バイト単位)。 このプロパティは、ハッシュ アルゴリズムにのみ適用されます。 このデータ型は DWORD です

BCRYPT_HASH_LENGTH

L"HashDigestLength"

ハッシュ プロバイダーのハッシュ値のサイズ (バイト単位)。 このデータ型は DWORD です

BCRYPT_HASH_OID_LIST

L"HashOIDList"

DER でエンコードされたハッシュ オブジェクト識別子 (OID) の一覧。 このプロパティは 、BCRYPT_OID_LIST 構造体です。 このプロパティは読み取り専用です。

BCRYPT_INITIALIZATION_VECTOR

L"IV"

キーの 初期化ベクトル (IV) を格納します。 このプロパティはキーにのみ適用されます。

BCRYPT_KEM_SHARED_SECRET_LENGTH

L"BCRYPT_KEM_SHARED_SECRET_LENGTH"

キー カプセル化メカニズム (KEM) キーの共有シークレットのサイズ (バイト単位)。 このデータ型は DWORD です

BCRYPT_KEM_CIPHERTEXT_LENGTH

L"BCRYPT_KEM_CIPHERTEXT_LENGTH"

キー カプセル化メカニズム (KEM) キーの暗号テキストのサイズ (バイト単位)。 このデータ型は DWORD です

BCRYPT_KEY_LENGTH

L"KeyLength"

対称キー プロバイダーのキー値のサイズ (ビット単位)。 このデータ型は DWORD です

BCRYPT_KEY_LENGTHS

L"KeyLengths"

アルゴリズムでサポートされているキーの長さ。 このプロパティは 、BCRYPT_KEY_LENGTHS_STRUCT 構造体です。 このプロパティはアルゴリズムにのみ適用されます。

BCRYPT_KEY_OBJECT_LENGTH

L"KeyObjectLength"

このプロパティは使用されません。 この情報を取得するには 、BCRYPT_OBJECT_LENGTH プロパティを使用します。

BCRYPT_KEY_STRENGTH

L"KeyStrength"

キー内のビット数。 このデータ型は DWORD です。 このプロパティはキーにのみ適用されます。

BCRYPT_MESSAGE_BLOCK_LENGTH

L"MessageBlockLength"

これは、CFB チェーン・モードが設定されている任意のキー・ハンドルで設定できます。 既定では、8 ビット CFB の場合、このプロパティは 1 に設定されます。 これをブロック サイズ (バイト単位) に設定すると、フル ブロック CFB が使用されます。 XTS キーの場合、XTS データ ユニット (通常は 512 または 4096) のサイズをバイト単位で設定するために使用されます。

BCRYPT_MULTI_OBJECT_LENGTH

L"MultiObjectLength"

このプロパティは、オブジェクト バッファーのサイズを計算するために必要な情報を含む BCRYPT_MULTI_OBJECT_LENGTH_STRUCTを返します。 このプロパティは、 BCryptCreateMultiHash 関数をサポートするオペレーティング システムのバージョンでのみサポートされます。

BCRYPT_OBJECT_LENGTH

L"ObjectLength"

プロバイダーのサブオブジェクトのサイズ (バイト単位)。 このデータ型は DWORD です。 現在、ハッシュおよび対称暗号アルゴリズム プロバイダーは、呼び出し元によって割り当てられたバッファーを使用してサブオブジェクトを格納します。 たとえば、ハッシュ プロバイダーでは、 BCryptCreateHash 関数で取得したハッシュ オブジェクトのメモリを割り当てる必要があります。 このプロパティは、プロバイダーによって作成されたオブジェクトのメモリを割り当てることができるように、プロバイダーのオブジェクトのバッファー サイズを提供します。

BCRYPT_PADDING_SCHEMES

L"PaddingSchemes"

RSA アルゴリズム プロバイダーの埋め込みスキームを表します。 このデータ型は DWORD です。 次のいずれかの値を指定できます。

識別子 価値 説明
BCRYPT_SUPPORTED_PAD_ROUTER 0x00000001 プロバイダーは、ルーターによって追加されたパディングをサポートします。
BCRYPT_SUPPORTED_PAD_PKCS1_ENC 0x00000002 プロバイダーは、PKCS1 暗号化パディング スキームをサポートしています。
BCRYPT_SUPPORTED_PAD_PKCS1_SIG 0x00000004 プロバイダーは、PKCS1 署名パディング スキームをサポートしています。
BCRYPT_SUPPORTED_PAD_OAEP 0x00000008 プロバイダーは、OAEP 埋め込みスキームをサポートしています。
BCRYPT_SUPPORTED_PAD_PSS 0x00000010 プロバイダーは、PSS 埋め込みスキームをサポートしています。

BCRYPT_PARAMETER_SET_NAME

L"ParameterSetName"

この識別子は、BCrypt ML-DSA および ML-KEM キーで設定してから、終了する必要があります。 このプロパティは、次のいずれかの値に設定できます。

BCRYPT_PARAMETER_SET_NAMEのプロパティ値を PQ-DSA します。

識別子 価値
BCRYPT_MLDSA_PARAMETER_SET_44 L"44"
BCRYPT_MLDSA_PARAMETER_SET_65 L"65"
BCRYPT_MLDSA_PARAMETER_SET_87 L"87"

BCRYPT_PARAMETER_SET_NAMEのプロパティ値を ML-KEM します。

識別子 価値
BCRYPT_MLKEM_PARAMETER_SET_512 L"512"
BCRYPT_MLKEM_PARAMETER_SET_768 L"768"
BCRYPT_MLKEM_PARAMETER_SET_1024 L"1024"

BCRYPT_PROVIDER_HANDLE

L"ProviderHandle"

hObject パラメーターで渡されたオブジェクトを作成した CNG プロバイダーのハンドル。 このデータ型は BCRYPT_ALG_HANDLEです。 このプロパティは取得のみ可能です。設定できません。

BCRYPT_SIGNATURE_LENGTH

L"SignatureLength"

キーの署名の長さのバイト単位のサイズ。 このデータ型は DWORD です。 このプロパティはキーにのみ適用されます。 このプロパティは取得のみ可能です。設定できません。

要求事項

要件 価値
サポートされている最小のクライアント Windows Vista [デスクトップ アプリのみ]
サポートされている最小のサーバー Windows Server 2008 [デスクトップ アプリのみ]
ヘッダ Bcrypt.h

CNG アルゴリズムの擬似ハンドル

CNG アルゴリズム識別子