Nota
O acesso a esta página requer autorização. Pode tentar iniciar sessão ou alterar os diretórios.
O acesso a esta página requer autorização. 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. As funcionalidades compostas descritas neste tópico estão disponíveis em versões pré-lançamento do Windows Insider Preview.
Essa estrutura é usada para importar e exportar chaves para algoritmos de assinatura digital pós-quântica (PQDSA). A estrutura BCRYPT_PQDSA_KEY_BLOB é usada como cabeçalho para um algoritmo de Assinatura Digital Post-Quântica (PQDSA) de chave pública (chave de encapsulamento codificada em bytes) ou BLOB de chave privada na memória.
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
O campo dwMagic é um valor de 4 bytes que indica o formato da chave utilizada. São definidos os seguintes valores:
| Value | Meaning |
|---|---|
BCRYPT_MLDSA_PUBLIC_MAGIC0x4B505344 |
A estrutura representa uma chave pública. |
BCRYPT_MLDSA_PRIVATE_MAGIC0x4B535344 |
A estrutura representa uma chave privada expandida. |
BCRYPT_MLDSA_PRIVATE_SEED_MAGIC0x53535344 |
A estrutura representa uma semente privada. |
BCRYPT_COMPOSITE_MLDSA_PUBLIC_MAGIC0x4B504D43 |
A estrutura representa uma chave pública. |
BCRYPT_COMPOSITE_MLDSA_PRIVATE_MAGIC0x4B534D43 |
A estrutura representa uma chave privada. |
cbParameterSet
O comprimento, em bytes, do buffer parameterSet diretamente após a estrutura. Esse buffer contém uma cadeia de caracteres Unicode terminada em nulo que identifica o conjunto de parâmetros da chave. Os seguintes valores são suportados atualmente:
| parameterSet | Meaning |
|---|---|
BCRYPT_MLDSA_PARAMETER_SET_44L"44" |
ML-DSA-44, categoria de segurança 2. |
BCRYPT_MLDSA_PARAMETER_SET_65L"65" |
ML-DSA-65, categoria de segurança 3. |
BCRYPT_MLDSA_PARAMETER_SET_87L"87" |
ML-DSA-87, categoria de segurança 5. |
BCRYPT_COMPOSITE_MLDSA_PARAMETER_SET_44_ECDSA_P256_SHA256L"44-ECDSA-P256-SHA256" |
ML-DSA-44 e ECDSA P256 compostos |
BCRYPT_COMPOSITE_MLDSA_PARAMETER_SET_65_ECDSA_P256_SHA512L"65-ECDSA-P256-SHA512" |
ML-DSA-65 composto e ECDSA P256 |
BCRYPT_COMPOSITE_MLDSA_PARAMETER_SET_65_ECDSA_P384_SHA512L"65-ECDSA-P384-SHA512" |
ML-DSA-65 composto e ECDSA P384 |
BCRYPT_COMPOSITE_MLDSA_PARAMETER_SET_87_ECDSA_P384_SHA512L"87-ECDSA-P384-SHA512" |
ML-DSA-87 e ECDSA P384 compostos |
cbKey
O comprimento, em bytes, da chave de buffer imediatamente após o parámetro Set. Esse tamanho é estático e depende do formato da chave e do conjunto de parâmetros em uso.
Remarks
Os consumidores de algoritmos de Assinatura Digital Pós-Quântica usarão o mesmo subconjunto da API BCrypt que os Algoritmos de Assinatura Digital existentes (não Pós-Quantum) suportados pelo CNG para executar as operações suportadas pelos algoritmos. São eles:
- Manipulação de alças de algoritmo: BCryptOpenAlgorithmProvider, BCryptCloseAlgorithmProvider
- Gestão de chaves: BCryptGenerateKeyPair, BCryptImportKeyPair, BCryptExportKey, BCryptDestroyKey, BCryptFinalizeKeyPair
- Geração/verificação de assinatura: BCryptSignHash, BCryptVerifySignature
- Atualização/Consultas de proprietários: BCryptGetProperty, BCryptSetProperty
Requirements
| Requirement | Value |
|---|---|
| Cliente mínimo suportado | Windows 11 24H2: Início do suporte para ML-DSA. [Apenas aplicações de ambiente de trabalho] |
| Servidor mínimo suportado | Windows Server 2025: Início do suporte para ML-DSA. [Apenas aplicações de ambiente de trabalho] |
| Header | bcrypt.h |