BCRYPT_DSA_KEY_BLOB_V2 structure
The BCRYPT_DSA_KEY_BLOB_V2 structure is used as a header for a Digital Signature Algorithm (DSA) public key or private key BLOB in memory.
Syntax
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;
Members
- dwMagic
-
Determines the type of key this structure represents. This can be one of the following values.
Value Meaning - BCRYPT_DSA_PUBLIC_MAGIC
- 0x42505344
The structure represents a DSA public key.
- BCRYPT_DSA_PRIVATE_MAGIC
- 0x56505344
The structure represents a DSA private key.
- cbKey
-
The length, in bytes, of the key.
- hashAlgorithm
-
A HASHALGORITHM_ENUM enumeration value that specifies the hashing algorithm to use.
- standardVersion
-
A DSAFIPSVERSION_ENUM enumeration value that specifies the Federal Information Processing Standard(FIPS) to apply.
- cbSeedLength
-
Length of the seed used to generate the prime number q.
- cbGroupSize
-
Size of the prime number q . Currently, if the key is less than 128 bits, q is 20 bytes long. If the key exceeds 256 bits, q is 32 bytes long.
- Count
-
The number of iterations performed to generate the prime number q from the seed. For more information, see NIST standard FIPS186-3.
Remarks
The structure applies to DSA keys that exceed 1024 bits in length but are less than or equal to 3072 bits.
This structure is used as a header for a larger buffer. A DSA public key BLOB (BCRYPT_DSA_PUBLIC_BLOB) has the following format in contiguous memory. The Modulus, Generator, and Public numbers are in big-endian format.
BCRYPT_DSA_KEY_BLOB_V2 Modulus[cbKey] // Big-endian. Generator[cbKey] // Big-endian. Public[cbKey] // Big-endian.
A DSA private key BLOB (BCRYPT_DSA_PRIVATE_BLOB) has the following format in contiguous memory. The Modulus, Generator, Public, and PrivateExponent numbers are in big-endian format.
BCRYPT_DSA_KEY_BLOB_V2 Modulus[cbKey] // Big-endian. Generator[cbKey] // Big-endian. Public[cbKey] // Big-endian. PrivateExponent[20] // Big-endian.
Requirements
|
Minimum supported client |
Windows 8 [desktop apps only] |
|---|---|
|
Minimum supported server |
Windows Server 2012 [desktop apps only] |
|
Header |
|
See also