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 Standard 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 [デスクトップ アプリのみ]
Header bcrypt.h

関連項目

BCryptExportKey

BCryptImportKeyPair