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. Das in diesem Thema beschriebene Feature ist in Vorabversionen der Windows Insider Previewverfügbar.
The BCRYPT_MLKEM_KEY_BLOB structure is used as a header for an ML-KEM public key (byte-encoded encapsulation key) or private keyBLOB in memory.
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;
Fields
dwMagic
The dwMagic field is a 4-byte value that indicates the format of the key being used. 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. |
cbParameterSet
The length, in bytes, of the buffer parameterSet directly following the struct. Dieser Puffer enthält eine mit Null beendete Unicode-Zeichenfolge, die den Parametersatz des Schlüssels identifiziert. The following values (per FIPS 203) are currently supported:
| parameterSet | cbParameterSet | Meaning |
|---|---|---|
BCRYPT_MLKEM_PARAMETER_SET_512L"512" |
8 | ML-KEM-512, Sicherheitskategorie 1. |
BCRYPT_MLKEM_PARAMETER_SET_768L"768" |
8 | ML-KEM-768, Sicherheitskategorie 3. |
BCRYPT_MLKEM_PARAMETER_SET_1024L"1024" |
10 | ML-KEM-1024, Sicherheitskategorie 5. |
cbKey
The length, in bytes, of the buffer key directly following parameterSet. Diese Größe ist statisch und hängt vom verwendeten Schlüsselformat und vom verwendeten Parameter ab.
Remarks
BCRYPT_MLKEM_PRIVATE_SEED_BLOB supports import and export of ML-KEM seeds. The blob has dwMagic value BCRYPT_MLKEM_PRIVATE_SEED_MAGIC and the key field contains the KEM seed (defined as the 64-byte concatenation of d || z per FIPS 203), so cbKey is currently always 64.
BCRYPT_MLKEM_PRIVATE_BLOB (also aliased as BCRYPT_MLKEM_DECAPSULATION_BLOB) supports import and export of standard byte-encoded ML-KEM decapsulation keys per FIPS 203. The blob has dwMagic value BCRYPT_MLKEM_PRIVATE_MAGIC and the key field contains the byte-encoded key.
BCRYPT_MLKEM_PUBLIC_BLOB (also aliased as BCRYPT_MLKEM_ENCAPSULATION_BLOB) supports import and export of standard byte-encoded ML-KEM encapsulation keys per FIPS 203. The blob has dwMagic value BCRYPT_MLKEM_PUBLIC_MAGIC and the key field contains the byte-encoded key.
The byte sizes of the byte-encoded keys can be found in FIPS 203 Section 8 Table 3. Many callers can instead dynamically query the required blob sizes using BCryptExportKey with NULLpbOutput.
Requirements
| Requirement | Value |
|---|---|
| Mindestens unterstützter Client | Windows-Insider (Build 27843): Die Unterstützung für ML-KEM beginnt. [Nur Desktop-Apps] |
| Mindestanforderungen für unterstützte Server | Windows-Insider (Build 27843): Die Unterstützung für ML-KEM beginnt. [Nur Desktop-Apps] |
| Header | bcrypt.h |