BCRYPT_DSA_KEY_BLOB_V2構造体 (bcrypt.h)

BCRYPT_DSA_KEY_BLOB_V2 構造体は、デジタル署名アルゴリズム (DSA) 公開キー またはメモリ内の BLOB秘密キー のヘッダーとして使用されます。

構文

typedef struct _BCRYPT_DSA_KEY_BLOB_V2 {
  ULONG               dwMagic;
  ULONG               cbKey;
  HASHALGORITHM_ENUM  hashAlgorithm;
  DSAFIPSVERSION_ENUM standardVersion;
  ULONG               cbSeedLength;
  ULONG               cbGroupSize;
  UCHAR               Count[4];
} BCRYPT_DSA_KEY_BLOB_V2, *PBCRYPT_DSA_KEY_BLOB_V2;

メンバーズ

dwMagic

この構造体が表すキーの種類を決定します。 次のいずれかの値を指定できます。

価値 意味
BCRYPT_DSA_PUBLIC_MAGIC_V2
0x32425044
構造体は DSA 公開キーを表します。
BCRYPT_DSA_PRIVATE_MAGIC_V2
0x32565044
構造体は DSA 秘密キーを表します。

cbKey

キーの長さ (バイト単位)。

hashAlgorithm

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

standardVersion

適用する Federal Information Processing Standard (FIPS) を指定する DSAFIPSVERSION_ENUM 列挙値。

cbSeedLength

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

cbGroupSize

q 素数のサイズ (バイト単位)。 現在、キーの長さが 1024 ビットを超える場合、q 長さは 32 バイトです。

Count[4]

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

備考

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

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


BCRYPT_DSA_KEY_BLOB_V2
Seed[cbSeedLength]  // Big-endian.
q[cbGroupSize]      // Big-endian.
Modulus[cbKey]      // Big-endian.
Generator[cbKey]    // Big-endian.
Public[cbKey]       // Big-endian.

DSA 秘密キー BLOB (BCRYPT_DSA_PRIVATE_BLOB) は、連続したメモリ内に次の形式を持ちます。 Seed、q、Modulus、Generator、Public、PrivateExponent の数値はビッグ エンディアン形式です。


BCRYPT_DSA_KEY_BLOB_V2
Seed[cbSeedLength]              // Big-endian.
q[cbGroupSize]                  // Big-endian.
Modulus[cbKey]                  // Big-endian.
Generator[cbKey]                // Big-endian.
Public[cbKey]                   // Big-endian.
PrivateExponent[cbGroupSize]    // Big-endian.

必要条件

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

関連項目

BCryptExportKey

BCryptImportKeyPair