Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
Note
Algumas informações referem-se a um produto de pré-lançamento que pode ser substancialmente modificado antes de ser lançado comercialmente. A Microsoft não oferece garantias, expressas ou implícitas, em relação às informações fornecidas aqui. O recurso descrito neste tópico está disponível em versões de pré-lançamento do Windows Insider Preview.
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. Os seguintes valores são definidos:
| Value | Meaning |
|---|---|
BCRYPT_MLKEM_PUBLIC_MAGIC0x504B4C4D |
A estrutura representa uma chave pública. |
BCRYPT_MLKEM_PRIVATE_MAGIC0x524B4C4D |
A estrutura representa uma chave privada expandida. |
BCRYPT_MLKEM_PRIVATE_SEED_MAGIC0x534B4C4D |
A estrutura representa uma semente privada. |
cbParameterSet
The length, in bytes, of the buffer parameterSet directly following the struct. Esse buffer contém uma cadeia de caracteres Unicode terminada em nulo que identifica o conjunto de parâmetros da chave. The following values (per FIPS 203) are currently supported:
| parameterSet | cbParameterSet | Meaning |
|---|---|---|
BCRYPT_MLKEM_PARAMETER_SET_512L"512" |
8 | ML-KEM-512, categoria de segurança 1. |
BCRYPT_MLKEM_PARAMETER_SET_768L"768" |
8 | ML-KEM-768, categoria de segurança 3. |
BCRYPT_MLKEM_PARAMETER_SET_1024L"1024" |
10 | ML-KEM-1024, categoria de segurança 5. |
cbKey
The length, in bytes, of the buffer key directly following parameterSet. Esse tamanho é estático e depende do formato de chave e do conjunto de parâmetros em uso.
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 |
|---|---|
| Cliente mínimo suportado | Windows Insiders (build 27843): O suporte para ML-KEM começa. [Somente aplicativos da área de trabalho] |
| Servidor mínimo compatível | Windows Insiders (build 27843): O suporte para ML-KEM começa. [Somente aplicativos da área de trabalho] |
| Header | bcrypt.h |