BCRYPT_DSA_PARAMETER_HEADER_V2 結構 (bcrypt.h)

BCRYPT_DSA_PARAMETER_HEADER_V2 結構會作為數位簽名演算法的標頭, (DSA) 參數 BLOB,其中包含產生 DSA 金鑰的資訊。 此結構會與 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

索引鍵的 magic 值。

這個成員必須是下列值。

BCRYPT_DSA_PARAMETERS_MAGIC_V2 (0x324d5044)

cbKeyLength

這個結構所套用之索引鍵的大小,以位元組為單位。

hashAlgorithm

HASHALGORITHM_ENUM列舉值,指定要使用的哈希演算法。

standardVersion

DSAFIPSVERSION_ENUM 列舉值,指定要套用的美國聯邦資訊處理標準 (FIPS) 。

cbSeedLength

用來產生質數 q 的種子長度,以位元組為單位。

cbGroupSize

質數 q 的大小。 目前,當密鑰長度超過 1024 位時, q 為 32 位元組長。

Count[4]

執行以從種子產生質數 q 的反覆項目數目。 如需詳細資訊,請參閱 NIST 標準 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 [僅限傳統型應用程式]
標頭 bcrypt.h

另請參閱

BCryptGenerateKeyPair

BCryptSetProperty

Cryptography Primitive 屬性標識符