BCRYPT_DSA_KEY_BLOB structure

The BCRYPT_DSA_KEY_BLOB 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 {
  ULONG dwMagic;
  ULONG cbKey;
  UCHAR Count[4];
  UCHAR Seed[20];
  UCHAR q[20];
} BCRYPT_DSA_KEY_BLOB, *PBCRYPT_DSA_KEY_BLOB;

Members

dwMagic

Determines the type of key this structure represents. This can be one of the following values.

ValueMeaning
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.

Count

The number of iterations, in big-endian format, used to generate q.

Seed

The seed value, in big-endian format, used to generate q.

q

The 160-bit prime factor, in big-endian format.

Remarks

The structure applies to DSA keys that equal or exceed 512 bits in length but are less than or equal to 1024 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
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
Modulus[cbKey]        // Big-endian.
Generator[cbKey]      // Big-endian.
Public[cbKey]         // Big-endian.
PrivateExponent[20]   // Big-endian.

Requirements

Minimum supported client

Windows Vista [desktop apps only]

Minimum supported server

Windows Server 2008 [desktop apps only]

Header

Bcrypt.h

See also

BCryptExportKey
BCryptImportKey

 

 

Community Additions

ADD
Show:
© 2014 Microsoft