Freigeben über


BCRYPT_DSA_KEY_BLOB_V2 Struktur (bcrypt.h)

Die BCRYPT_DSA_KEY_BLOB_V2-Struktur wird als Kopfzeile für einen Digitalen Signaturalgorithmus (DSA) öffentlichen Schlüssel oder privaten SchlüsselBLOB- 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;

Angehörige

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

Die Länge des Ausgangswerts, der verwendet wird, um die Primzahl q in Byte zu generieren.

cbGroupSize

Größe der Primzahl q in Byte. Wenn der Schlüssel 1024 Bit länge überschreitet, beträgt q derzeit 32 Byte lang.

Count[4]

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

Bemerkungen

Die Struktur gilt für DSA-Schlüssel, die 1024 Bit länge überschreiten, aber kleiner oder gleich 3072 Bit sind.

Diese Struktur wird als Header für einen größeren Puffer verwendet. Ein DSA-ÖFFENTLICHEN SCHLÜSSEL-BLOB- (BCRYPT_DSA_PUBLIC_BLOB) weist das folgende Format im zusammenhängenden Speicher auf. Die Zahlen "Seed", "q", "Modulus", "Generator" und "Public" sind im Big-End-Format enthalten.


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 DSA-private Schlüssel-BLOB- (BCRYPT_DSA_PRIVATE_BLOB) weist das folgende Format im zusammenhängenden Speicher auf. Die Zahlen "Seed", "q", "Modulus", "Generator", "Public" und "PrivateExponent" sind im Big-End-Format enthalten.


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

Anforderung Wert
mindestens unterstützte Client- Windows 8 [nur Desktop-Apps]
mindestens unterstützte Server- Windows Server 2012 [nur Desktop-Apps]
Header- bcrypt.h

Siehe auch

BCryptExportKey-

BCryptImportKeyPair