struttura BCRYPT_PQDSA_KEY_BLOB

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:

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