BCRYPT_PQDSA_KEY_BLOB Struktur

Note

Einige Informationen beziehen sich auf ein Vorabversionsprodukt, das vor der kommerziellen Veröffentlichung erheblich geändert werden kann. Microsoft gibt keine Garantie, weder ausdrücklich noch impliziert, hinsichtlich der hier bereitgestellten Informationen. Die in diesem Thema beschriebenen zusammengesetzten Features sind in Vorabversionen der Windows Insider Preview verfügbar.

Diese Struktur wird verwendet, um Schlüssel für Post-Quantum Digital Signature Algorithmen (PQDSA) zu importieren und zu exportieren. Die BCRYPT_PQDSA_KEY_BLOB-Struktur wird als Header für einen Post-Quantum Digital Signature-Algorithmus (PQDSA) öffentlicher Schlüssel (Byte-codierter Kapselungsschlüssel) oder privateSchlüssel-BLOB im Arbeitsspeicher verwendet.

Syntax

typedef struct _BCRYPT_PQDSA_KEY_BLOB {
  ULONG dwMagic;
  ULONG cbParameterSet;                                   // Byte size of parameterSet[]
  ULONG cbKey;                                            // Byte size of key[]
  // WCHAR parameterSet[cbParameterSet / sizeof(WCHAR)];  // Including \0 terminator
  // BYTE key[cbKey];                                     // Key material
} BCRYPT_PQDSA_KEY_BLOB, *PBCRYPT_PQDSA_KEY_BLOB;

Fields

dwMagic

Das dwMagic-Feld ist ein 4-Byte-Wert, der das Format des verwendeten Schlüssels angibt. Die folgenden Werte sind definiert:

Value Meaning
BCRYPT_MLDSA_PUBLIC_MAGIC0x4B505344 Die Struktur stellt einen öffentlichen Schlüssel dar.
BCRYPT_MLDSA_PRIVATE_MAGIC0x4B535344 Die Struktur stellt einen erweiterten privaten Schlüssel dar.
BCRYPT_MLDSA_PRIVATE_SEED_MAGIC0x53535344 Die Struktur stellt einen privaten Seed dar.
BCRYPT_COMPOSITE_MLDSA_PUBLIC_MAGIC0x4B504D43 Die Struktur stellt einen öffentlichen Schlüssel dar.
BCRYPT_COMPOSITE_MLDSA_PRIVATE_MAGIC0x4B534D43 Die Struktur stellt einen privaten Schlüssel dar.

cbParameterSet

Die Länge des Puffers parameterSet in Bytes direkt nach der Struktur. Dieser Puffer enthält eine mit Null beendete Unicode-Zeichenfolge, die den Parametersatz des Schlüssels identifiziert. Die folgenden Werte werden derzeit unterstützt:

parameterSet Meaning
BCRYPT_MLDSA_PARAMETER_SET_44L"44" ML-DSA-44, Sicherheitskategorie 2.
BCRYPT_MLDSA_PARAMETER_SET_65L"65" ML-DSA-65, Sicherheitskategorie 3.
BCRYPT_MLDSA_PARAMETER_SET_87L"87" ML-DSA-87, Sicherheitskategorie 5.
BCRYPT_COMPOSITE_MLDSA_PARAMETER_SET_44_ECDSA_P256_SHA256L"44-ECDSA-P256-SHA256" Zusammengesetzt ML-DSA-44 und ECDSA P256
BCRYPT_COMPOSITE_MLDSA_PARAMETER_SET_65_ECDSA_P256_SHA512L"65-ECDSA-P256-SHA512" Zusammengesetzt ML-DSA-65 und ECDSA P256
BCRYPT_COMPOSITE_MLDSA_PARAMETER_SET_65_ECDSA_P384_SHA512L"65-ECDSA-P384-SHA512" Zusammengesetzt ML-DSA-65 und ECDSA P384
BCRYPT_COMPOSITE_MLDSA_PARAMETER_SET_87_ECDSA_P384_SHA512L"87-ECDSA-P384-SHA512" Zusammengesetzt ML-DSA-87 und ECDSA P384

cbKey

Die Länge des Pufferschlüssels in Bytes direkt nach parameterSet. Diese Größe ist statisch und hängt vom verwendeten Schlüsselformat und vom verwendeten Parameter ab.

Remarks

Die Verbraucher von Post-Quantum Digital Signature-Algorithmen verwenden dieselbe Teilmenge der BCrypt-API wie die vorhandenen (nicht post-Quantum) digitalen Signaturalgorithmen, die von CNG unterstützt werden, um die Vorgänge auszuführen, die die Algorithmen unterstützen. Diese lauten wie folgt:

Requirements

Requirement Value
Mindestens unterstützter Client Windows 11 24H2: Der Support für ML-DSA beginnt. [Nur Desktop-Apps]
Mindestanforderungen für unterstützte Server Windows Server 2025: Der Support für ML-DSA beginnt. [Nur Desktop-Apps]
Header bcrypt.h