Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
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:
- Algorithmushandhabung: BCryptOpenAlgorithmProvider, BCryptCloseAlgorithmProvider
- Schlüsselverwaltung: BCryptGenerateKeyPair, BCryptImportKeyPair, BCryptExportKey, BCryptDestroyKey, BCryptFinalizeKeyPair
- Signaturgenerierung/Überprüfung: BCryptSignHash, BCryptVerifySignature
- Aktualisieren/Abfragen von Eigenschaften: BCryptGetProperty, BCryptSetProperty
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 |