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 |