BCRYPT_DH_KEY_BLOB structure (bcrypt.h)

The BCRYPT_DH_KEY_BLOB structure is used as a header for a Diffie-Hellman public key or private key BLOB in memory.

Syntax

typedef struct _BCRYPT_DH_KEY_BLOB {
  ULONG dwMagic;
  ULONG cbKey;
} BCRYPT_DH_KEY_BLOB, *PBCRYPT_DH_KEY_BLOB;

Members

dwMagic

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

Value Meaning
BCRYPT_DH_PUBLIC_MAGIC
0x42504844
The structure represents a Diffie-Hellman public key.
BCRYPT_DH_PRIVATE_MAGIC
0x56504844
The structure represents a Diffie-Hellman private key.

cbKey

The length, in bytes, of the key.

Remarks

This structure is used as a header for a larger buffer. A Diffie-Hellman public key BLOB (BCRYPT_DH_PUBLIC_BLOB) has the following format in contiguous memory. The Modulus, Generator, and Public numbers are in big-endian format.


BCRYPT_DH_KEY_BLOB
Modulus[cbKey] // Big-endian.
Generator[cbKey] // Big-endian.
Public[cbKey] // Big-endian.

A Diffie-Hellman private key BLOB (BCRYPT_DH_PRIVATE_BLOB) has the following format in contiguous memory. The Modulus, Generator, Public, and PrivateExponent numbers are in big-endian format.


BCRYPT_DH_KEY_BLOB
Modulus[cbKey] // Big-endian.
Generator[cbKey] // Big-endian.
Public[cbKey] // Big-endian.
PrivateExponent[cbKey] // Big-endian.

Requirements

Requirement Value
Minimum supported client Windows Vista [desktop apps only]
Minimum supported server Windows Server 2008 [desktop apps only]
Header bcrypt.h

See also

BCryptExportKey

BCryptImportKey