BCRYPT_DSA_KEY_BLOB_V2-Struktur (bcrypt.h)

Die BCRYPT_DSA_KEY_BLOB_V2-Struktur wird als Header für einenöffentlichen Schlüssel oder ein BLOB mit privatem Schlüssel im Arbeitsspeicher verwendet.

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;

Member

dwMagic

Bestimmt den Typ des Schlüssels, den diese Struktur darstellt. Dies kann einer der folgenden Werte sein.

Wert Bedeutung
BCRYPT_DSA_PUBLIC_MAGIC_V2
0x32425044
Die -Struktur stellt einen öffentlichen DSA-Schlüssel dar.
BCRYPT_DSA_PRIVATE_MAGIC_V2
0x32565044
Die -Struktur stellt einen privaten DSA-Schlüssel dar.

cbKey

Die Länge des Schlüssels in Bytes.

hashAlgorithm

Ein HASHALGORITHM_ENUM Enumerationswert, der den zu verwendenden Hashingalgorithmus angibt.

standardVersion

Ein DSAFIPSVERSION_ENUM Enumerationswert, der den anzuwendenden Federal Information Processing Standard (FIPS) angibt.

cbSeedLength

Länge des Ausgangswerts, der zum Generieren der Primzahl q in Bytes verwendet wird.

cbGroupSize

Größe der Primzahl q in Bytes. Wenn der Schlüssel derzeit eine Länge von 1024 Bit überschreitet, ist q 32 Byte lang.

Count[4]

Die Anzahl der Iterationen, die ausgeführt werden, um die Primzahl q aus dem Startwert zu generieren. Weitere Informationen finden Sie unter NIST-Standard FIPS186-3.

Hinweise

Die -Struktur gilt für DSA-Schlüssel, die eine Länge von mehr als 1024 Bit aufweisen, aber kleiner oder gleich 3072 Bit sind.

Diese Struktur wird als Header für einen größeren Puffer verwendet. Ein DSA-BLOB mit öffentlichem Schlüssel (BCRYPT_DSA_PUBLIC_BLOB) hat das folgende Format im zusammenhängenden Arbeitsspeicher. Die Zahlen Seed, q, Modulus, Generator und Public haben das Big-Endian-Format.


BCRYPT_DSA_KEY_BLOB_V2
Seed[cbSeedLength]  // Big-endian.
q[cbGroupSize]      // Big-endian.
Modulus[cbKey]      // Big-endian.
Generator[cbKey]    // Big-endian.
Public[cbKey]       // Big-endian.

Ein BLOB mit privatem DSA-Schlüssel (BCRYPT_DSA_PRIVATE_BLOB) hat das folgende Format im zusammenhängenden Arbeitsspeicher. Die Zahlen Seed, q, Modulus, Generator, Public und PrivateExponent liegen im Big-Endian-Format vor.


BCRYPT_DSA_KEY_BLOB_V2
Seed[cbSeedLength]              // Big-endian.
q[cbGroupSize]                  // Big-endian.
Modulus[cbKey]                  // Big-endian.
Generator[cbKey]                // Big-endian.
Public[cbKey]                   // Big-endian.
PrivateExponent[cbGroupSize]    // Big-endian.

Anforderungen

   
Unterstützte Mindestversion (Client) Windows 8 [nur Desktop-Apps]
Unterstützte Mindestversion (Server) Windows Server 2012 [nur Desktop-Apps]
Kopfzeile bcrypt.h

Weitere Informationen

BCryptExportKey

BCryptImportKeyPair