Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
Note
Alcune informazioni riguardano un prodotto in versione preliminare che può essere modificato in modo sostanziale prima che venga rilasciato commercialmente. Microsoft non fornisce alcuna garanzia, espressa o implicita, in relazione alle informazioni fornite qui. Le funzionalità composite descritte in questo argomento sono disponibili nelle versioni non definitive del Windows Insider Preview.
Questa struttura viene usata per importare ed esportare chiavi per algoritmi di firma digitale post-quantistica (PQDSA). La struttura BCRYPT_PQDSA_KEY_BLOB viene usata come intestazione per una chiave pubblica post-quantum digital signature (PQDSA) (chiave di incapsulamento con codifica byte) o BLOB di chiavi private in memoria.
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
Il campo dwMagic è un valore a 4 byte che indica il formato della chiave utilizzata. Sono definiti i valori seguenti:
| Value | Meaning |
|---|---|
BCRYPT_MLDSA_PUBLIC_MAGIC0x4B505344 |
La struttura rappresenta una chiave pubblica. |
BCRYPT_MLDSA_PRIVATE_MAGIC0x4B535344 |
La struttura rappresenta una chiave privata espansa. |
BCRYPT_MLDSA_PRIVATE_SEED_MAGIC0x53535344 |
La struttura rappresenta un valore di inizializzazione privato. |
BCRYPT_COMPOSITE_MLDSA_PUBLIC_MAGIC0x4B504D43 |
La struttura rappresenta una chiave pubblica. |
BCRYPT_COMPOSITE_MLDSA_PRIVATE_MAGIC0x4B534D43 |
La struttura rappresenta una chiave privata. |
cbParameterSet
Lunghezza, in byte, del buffer parameterSet direttamente dopo lo struct. Questo buffer contiene una stringa Unicode con terminazione Null che identifica il set di parametri della chiave. Sono attualmente supportati i valori seguenti:
| parameterSet | Meaning |
|---|---|
BCRYPT_MLDSA_PARAMETER_SET_44L"44" |
ML-DSA-44, categoria di sicurezza 2. |
BCRYPT_MLDSA_PARAMETER_SET_65L"65" |
ML-DSA-65, categoria di sicurezza 3. |
BCRYPT_MLDSA_PARAMETER_SET_87L"87" |
ML-DSA-87, categoria di sicurezza 5. |
BCRYPT_COMPOSITE_MLDSA_PARAMETER_SET_44_ECDSA_P256_SHA256L"44-ECDSA-P256-SHA256" |
ML-DSA-44 composito ed ECDSA P256 |
BCRYPT_COMPOSITE_MLDSA_PARAMETER_SET_65_ECDSA_P256_SHA512L"65-ECDSA-P256-SHA512" |
ML-DSA-65 composito ed ECDSA P256 |
BCRYPT_COMPOSITE_MLDSA_PARAMETER_SET_65_ECDSA_P384_SHA512L"65-ECDSA-P384-SHA512" |
ML-DSA-65 composito ed ECDSA P384 |
BCRYPT_COMPOSITE_MLDSA_PARAMETER_SET_87_ECDSA_P384_SHA512L"87-ECDSA-P384-SHA512" |
ML-DSA-87 composito ed ECDSA P384 |
cbKey
Lunghezza, in byte, della chiave del buffer direttamente dopo il parametroSet. Questa dimensione è statica e dipende dal formato della chiave e dal set di parametri in uso.
Remarks
I consumer degli algoritmi di firma digitale post-quantum useranno lo stesso subset dell'API BCrypt degli algoritmi di firma digitale esistenti (non post-quantistici) supportati da CNG per eseguire le operazioni supportate dagli algoritmi. Si tratta di:
- Manipolazione dell'algoritmo: BCryptOpenAlgorithmProvider, BCryptCloseAlgorithmProvider
- Gestione delle chiavi: BCryptGenerateKeyPair, BCryptImportKeyPair, BCryptExportKey, BCryptDestroyKey, BCryptFinalizeKeyPair
- Generazione/verifica della firma: BCryptSignHash, BCryptVerifySignature
- Aggiornamento/query delle proprietà: BCryptGetProperty, BCryptSetProperty
Requirements
| Requirement | Value |
|---|---|
| Client minimo supportato | Windows 11 24H2: Viene avviato il supporto per ML-DSA. [solo app desktop] |
| Server minimo supportato | Windows Server 2025: Inizia il supporto per ML-DSA. [solo app desktop] |
| Header | bcrypt.h |