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. Os recursos de composição descritos neste tópico estão disponíveis em versões de pré-lançamento do Windows Insider Preview.
Essa estrutura é usada para importar e exportar chaves para algoritmos de Assinatura Digital (PQDSA) do Post-Quantum. A estrutura de BCRYPT_PQDSA_KEY_BLOB é usada como um cabeçalho para uma chave pública PQDSA (algoritmo de Assinatura Digital Pós-Quantum) (chave de encapsulamento codificada por 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 que está sendo usada. Os seguintes valores são definidos:
| 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 seguindo diretamente o struct. Esse buffer contém uma cadeia de caracteres Unicode terminada em nulo que identifica o conjunto de parâmetros da chave. No momento, há suporte para os seguintes valores:
| 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" |
Composição ML-DSA-44 e ECDSA P256 |
BCRYPT_COMPOSITE_MLDSA_PARAMETER_SET_65_ECDSA_P256_SHA512L"65-ECDSA-P256-SHA512" |
Composição ML-DSA-65 e ECDSA P256 |
BCRYPT_COMPOSITE_MLDSA_PARAMETER_SET_65_ECDSA_P384_SHA512L"65-ECDSA-P384-SHA512" |
Composição ML-DSA-65 e ECDSA P384 |
BCRYPT_COMPOSITE_MLDSA_PARAMETER_SET_87_ECDSA_P384_SHA512L"87-ECDSA-P384-SHA512" |
Composição ML-DSA-87 e ECDSA P384 |
cbKey
O comprimento, em bytes, da chave de buffer diretamente seguindo parameterSet. Esse tamanho é estático e depende do formato de chave e do conjunto de parâmetros em uso.
Remarks
Os consumidores de algoritmos de Assinatura Digital Do Post-Quantum usarão o mesmo subconjunto da API BCrypt que os Algoritmos de Assinatura Digital (não Pós-Quantum) existentes com suporte do CNG para executar as operações que os algoritmos dão suporte. Estes são:
- Manipulação do identificador de algoritmo: BCryptOpenAlgorithmProvider, BCryptCloseAlgorithmProvider
- Gerenciamento de chaves: BCryptGenerateKeyPair, BCryptImportKeyPair, BCryptExportKey, BCryptDestroyKey, BCryptFinalizeKeyPair
- Geração/verificação de assinatura: BCryptSignHash, BCryptVerifySignature
- Propriedades de atualização/consulta: BCryptGetProperty, BCryptSetProperty
Requirements
| Requirement | Value |
|---|---|
| Cliente mínimo suportado | O suporte Windows 11 24H2: para ML-DSA começa. [Somente aplicativos da área de trabalho] |
| Servidor mínimo compatível | Windows Server 2025: o Suporte para ML-DSA começa. [Somente aplicativos da área de trabalho] |
| Header | bcrypt.h |