BCRYPT_DSA_PARAMETER_HEADER_V2-Struktur (bcrypt.h)

Die BCRYPT_DSA_PARAMETER_HEADER_V2-Struktur wird als Header für ein DSA-Parameter-BLOB (Digital Signature Algorithm) verwendet, das Informationen zum Generieren eines DSA-Schlüssels enthält. Diese Struktur wird mit der BCRYPT_DSA_PARAMETERS-Eigenschaft in der Funktion BCryptSetProperty verwendet.

Syntax

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;

Member

cbLength

Die Gesamtgröße dieser Struktur in Bytes und der Puffer, der dieser Struktur unmittelbar im Arbeitsspeicher folgt.

dwMagic

Der Magische Wert für den Schlüssel.

Dieser Member muss der folgende Wert sein.

BCRYPT_DSA_PARAMETERS_MAGIC_V2 (0x324d5044)

cbKeyLength

Die Größe des Schlüssels in Bytes, auf den diese Struktur angewendet wird.

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

Wenn Sie diese Struktur in einem BCryptSetProperty-Aufruf verwenden, müssen die Parameter für einen in einem BCryptGenerateKeyPair-Aufruf erstellten DSA-Schlüssel (cbKeyLength*8) dem zuvor festgelegten dwLength entsprechen.

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. Das DSA-Parameterblob hat das folgende Format im zusammenhängenden Arbeitsspeicher. Seed, q, Modulus und Generator haben das Big-Endian-Format.


BCRYPT_DSA_PARAMETER_HEADER_V2
Seed[cbSeedLength]      // Big-endian.
q[cbGroupSize]          // Big-endian.
Modulus[cbKeyLength]    // Big-endian.
Generator[cbKeyLength]  // Big-endian.

Anforderungen

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

Weitere Informationen

BCryptGenerateKeyPair

BCryptSetProperty

Bezeichner für primitive Kryptografieeigenschaften