BCRYPT_DSA_PARAMETER_HEADER_V2 構造体 (bcrypt.h)

BCRYPT_DSA_PARAMETER_HEADER_V2構造体は、DSA キーを生成するための情報を含むデジタル署名アルゴリズム (DSA) パラメーター BLOB のヘッダーとして使用されます。 この構造体は、BCryptSetProperty 関数の BCRYPT_DSA_PARAMETERS プロパティと共に使用されます。

構文

typedef struct _BCRYPT_DSA_PARAMETER_HEADER_V2 {
  ULONG               cbLength;
  ULONG               dwMagic;
  ULONG               cbKeyLength;
  HASHALGORITHM_ENUM  hashAlgorithm;
  DSAFIPSVERSION_ENUM standardVersion;
  ULONG               cbSeedLength;
  ULONG               cbGroupSize;
  UCHAR               Count[4];
} BCRYPT_DSA_PARAMETER_HEADER_V2;

メンバー

cbLength

この構造体の合計サイズ (バイト単位)、およびメモリ内のこの構造体の直後にあるバッファー。

dwMagic

キーのマジック値。

このメンバーは、次の値である必要があります。

BCRYPT_DSA_PARAMETERS_MAGIC_V2 (0x324d5044)

cbKeyLength

この構造体が適用されるキーのサイズ (バイト単位)。

hashAlgorithm

使用するハッシュ アルゴリズムを指定するHASHALGORITHM_ENUM列挙値。

standardVersion

適用する連邦情報処理標準 (FIPS) を指定する DSAFIPSVERSION_ENUM 列挙値。

cbSeedLength

素数 q の生成に使用されるシードの長さ (バイト単位)。

cbGroupSize

素数 q のサイズ。 現在、キーの長さが 1024 ビットを超えると、 q は 32 バイトの長さになります。

Count[4]

シードから素数 q を生成するために実行される反復回数。 詳細については、「NIST standard FIPS186-3」を参照してください。

注釈

BCryptSetProperty 呼び出しでこの構造体を使用する場合、BCryptGenerateKeyPair 呼び出しで作成された DSA キーのパラメーターを設定するには、(cbKeyLength*8) が前に設定した dwLength と等しい必要があります。

構造体は、長さが 1024 ビットを超え、3072 ビット以下の DSA キーに適用されます。

この構造体は、より大きなバッファーのヘッダーとして使用されます。 DSA パラメーター BLOB は、連続したメモリ内に次の形式を持ちます。 Seed、q、Modulus、Generator はビッグ エンディアン形式です。


BCRYPT_DSA_PARAMETER_HEADER_V2
Seed[cbSeedLength]      // Big-endian.
q[cbGroupSize]          // Big-endian.
Modulus[cbKeyLength]    // Big-endian.
Generator[cbKeyLength]  // Big-endian.

要件

要件
サポートされている最小のクライアント Windows 8 [デスクトップ アプリのみ]
サポートされている最小のサーバー Windows Server 2012 [デスクトップ アプリのみ]
Header bcrypt.h

こちらもご覧ください

BCryptGenerateKeyPair

BCryptSetProperty

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