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.
Die BCRYPT_MLKEM_KEY_BLOB-Struktur wird als Header für einen ML-KEM öffentlichen Schlüssel (Byte-codierter Kapselschlüssel) oder privateSchlüssel-BLOB im Arbeitsspeicher verwendet.
Syntax
typedef struct _BCRYPT_MLKEM_KEY_BLOB {
ULONG dwMagic;
ULONG cbParameterSet; // Byte size of parameterSet[]
ULONG cbKey; // Byte size of key[]
// WCHAR parameterSet[cbParameterSet / sizeof(WCHAR)]; // Including \0-terminated
// BYTE key[cbKey]; // Key material
} BCRYPT_MLKEM_KEY_BLOB, *PBCRYPT_MLKEM_KEY_BLOB;
typedef struct _BCRYPT_COMPOSITE_MLKEM_KEY_BLOB {
ULONG dwMagic;
ULONG cbParameterSet; // Byte size of parameterSet[]
ULONG cbKey; // Byte size of key[]
// WCHAR parameterSet[cbParameterSet / sizeof(WCHAR)]; // Including \0-terminated
// BYTE key[cbKey]; // Key material
} BCRYPT_COMPOSITE_MLKEM_KEY_BLOB, *PBCRYPT_COMPOSITE_MLKEM_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_MLKEM_PUBLIC_MAGIC0x504B4C4D |
Die Struktur stellt einen öffentlichen Schlüssel dar. |
BCRYPT_MLKEM_PRIVATE_MAGIC0x524B4C4D |
Die Struktur stellt einen erweiterten privaten Schlüssel dar. |
BCRYPT_MLKEM_PRIVATE_SEED_MAGIC0x534B4C4D |
Die Struktur stellt einen privaten Seed dar. |
BCRYPT_COMPOSITE_MLKEM_PUBLIC_MAGIC0x504B4D43 |
Die Struktur stellt einen öffentlichen Schlüssel dar. |
BCRYPT_COMPOSITE_MLKEM_PRIVATE_MAGIC0x524B4D43 |
Die Struktur stellt einen privaten Schlüssel dar. |
BCRYPT_COMPOSITE_MLKEM_PRIVATE_IRTF_SEED_MAGIC0x534B4D43 |
Die Struktur stellt einen privaten Seed dar. Referenz: IRTF |
cbParameterSet
Die Länge des PufferparameterSets in Byte 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_MLKEM_PARAMETER_SET_512L"512" |
ML-KEM-512, Sicherheitskategorie 1. |
BCRYPT_MLKEM_PARAMETER_SET_768L"768" |
ML-KEM-768, Sicherheitskategorie 3. |
BCRYPT_MLKEM_PARAMETER_SET_1024L"1024" |
ML-KEM-1024, Sicherheitskategorie 5. |
BCRYPT_COMPOSITE_MLKEM_PARAMETER_SET_768_P256L"768-P256" |
Zusammengesetzt ML-KEM-768 und ECDH P256 |
BCRYPT_COMPOSITE_MLKEM_PARAMETER_SET_768_X25519L"768-X25519" |
Zusammengesetzt ML-KEM-768 und Curve25519 |
BCRYPT_COMPOSITE_MLKEM_PARAMETER_SET_1024_P384L"1024-P384" |
Zusammengesetzt ML-KEM-1024 und ECDH 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
BCRYPT_MLKEM_PRIVATE_BLOB (auch als BCRYPT_MLKEM_DECAPSULATION_BLOB bezeichnet) unterstützt den Import und Export von Standardbyte-codierten ML-KEM Entkapselungsschlüsseln pro FIPS 203. Das Blob hat dwMagic-WertBCRYPT_MLKEM_PRIVATE_MAGIC, und das Schlüsselfeld enthält den bytecodierten Schlüssel.
BCRYPT_MLKEM_PUBLIC_BLOB (auch als BCRYPT_MLKEM_ENCAPSULATION_BLOB bezeichnet) unterstützt den Import und Export von Standardbyte-codierten ML-KEM Kapselschlüsseln pro FIPS 203. Das Blob hat dwMagic-WertBCRYPT_MLKEM_PUBLIC_MAGIC, und das Schlüsselfeld enthält den bytecodierten Schlüssel.
BCRYPT_MLKEM_PRIVATE_SEED_BLOB unterstützt den Import und Export von ML-KEM Samen. Das Blob hat dwMagic-WertBCRYPT_MLKEM_PRIVATE_SEED_MAGIC, und das Schlüsselfeld enthält den KEM-Seed (definiert als 64-Byte-Verkettung pro d || zFIPS 203), sodass cbKey derzeit immer 64ist.
Die Bytegrößen der bytecodierten Schlüssel finden Sie in FIPS 203 Abschnitt 8 Tabelle 3. Viele Aufrufer können stattdessen die erforderlichen Blobgrößen mithilfe von BCryptExportKey mit NULLpbOutput dynamisch abfragen.
BCRYPT_COMPOSITE_MLKEM_PRIVATE_BLOB unterstützt den Import und Export von Standardbyte-codierten Composite-ML-KEM privaten Schlüsseln pro PQ Composite ML-KEM. Das Blob hat dwMagic-WertBCRYPT_COMPOSITE_MLKEM_PRIVATE_MAGIC, und das Schlüsselfeld enthält den bytecodierten Schlüssel.
BCRYPT_COMPOSITE_MLKEM_PUBLIC_BLOB unterstützt den Import und Export von Standardbyte-codierten Composite-ML-KEM öffentlichen Schlüsseln pro PQ Composite ML-KEM. Das Blob hat dwMagic-WertBCRYPT_COMPOSITE_MLKEM_PUBLIC_MAGIC, und das Schlüsselfeld enthält den bytecodierten Schlüssel.
BCRYPT_COMPOSITE_MLKEM_PRIVATE_IRTF_SEED_BLOB unterstützt den Import und Export von Composite-ML-KEM Samen. Der Blob hat dwMagic-WertBCRYPT_COMPOSITE_MLKEM_PRIVATE_IRTF_SEED_MAGIC und das Schlüsselfeld enthält den 32-Byte IRTF Composite-ML-KEM Seed pro CFRG Concrete Hybrid KEMs, sodass cbKey derzeit immer 32ist.
Requirements
| Requirement | Value |
|---|---|
| Mindestens unterstützter Client | Windows 11 24H2: Der Support für ML-KEM beginnt. [Nur Desktop-Apps] |
| Mindestanforderungen für unterstützte Server | Windows Server 2025: Der Support für ML-KEM beginnt. [Nur Desktop-Apps] |
| Header | bcrypt.h |