structure de BCRYPT_PQDSA_KEY_BLOB

Note

Certaines informations concernent un produit de préversion qui peut être sensiblement modifié avant sa publication commerciale. Microsoft n’offre aucune garantie, expresse ou implicite, en ce qui concerne les informations fournies ici. Les fonctionnalités composites décrites dans cette rubrique sont disponibles dans les versions préliminaires du Windows Insider Preview.

Cette structure est utilisée pour importer et exporter des clés pour les algorithmes de signature numérique post-quantique (PQDSA). La structure BCRYPT_PQDSA_KEY_BLOB est utilisée comme en-tête pour une clé publique PQDSA (Post-Quantum Digital Signature Algorithm) (clé d’encapsulation codée en octets) ou un objet BLOB de clé privée en mémoire.

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

Le champ dwMagic est une valeur de 4 octets qui indique le format de la clé utilisée. Les valeurs suivantes sont définies :

Value Meaning
BCRYPT_MLDSA_PUBLIC_MAGIC0x4B505344 La structure représente une clé publique.
BCRYPT_MLDSA_PRIVATE_MAGIC0x4B535344 La structure représente une clé privée développée.
BCRYPT_MLDSA_PRIVATE_SEED_MAGIC0x53535344 La structure représente une valeur initiale privée.
BCRYPT_COMPOSITE_MLDSA_PUBLIC_MAGIC0x4B504D43 La structure représente une clé publique.
BCRYPT_COMPOSITE_MLDSA_PRIVATE_MAGIC0x4B534D43 La structure représente une clé privée.

cbParameterSet

Longueur, en octets, de la mémoire tampon parameterSet directement après le struct. Cette mémoire tampon contient une chaîne Unicode terminée par null qui identifie le jeu de paramètres de la clé. Les valeurs suivantes sont actuellement prises en charge :

parameterSet Meaning
BCRYPT_MLDSA_PARAMETER_SET_44L"44" ML-DSA-44, catégorie de sécurité 2.
BCRYPT_MLDSA_PARAMETER_SET_65L"65" ML-DSA-65, catégorie de sécurité 3.
BCRYPT_MLDSA_PARAMETER_SET_87L"87" ML-DSA-87, catégorie de sécurité 5.
BCRYPT_COMPOSITE_MLDSA_PARAMETER_SET_44_ECDSA_P256_SHA256L"44-ECDSA-P256-SHA256" Composite ML-DSA-44 et ECDSA P256
BCRYPT_COMPOSITE_MLDSA_PARAMETER_SET_65_ECDSA_P256_SHA512L"65-ECDSA-P256-SHA512" Ml-DSA-65 composite et ECDSA P256
BCRYPT_COMPOSITE_MLDSA_PARAMETER_SET_65_ECDSA_P384_SHA512L"65-ECDSA-P384-SHA512" ML-DSA-65 composite et ECDSA P384
BCRYPT_COMPOSITE_MLDSA_PARAMETER_SET_87_ECDSA_P384_SHA512L"87-ECDSA-P384-SHA512" Composite ML-DSA-87 et ECDSA P384

cbKey

Longueur, en octets, de la clé de mémoire tampon directement après parameterSet. Cette taille est statique et dépend du format de clé et du jeu de paramètres en cours d’utilisation.

Remarks

Les consommateurs d’algorithmes Post-Quantum Digital Signature utilisent le même sous-ensemble de l’API BCrypt que les algorithmes de signature numérique existants (non post-quantiques) pris en charge par CNG afin d’effectuer les opérations prises en charge par les algorithmes. Ces règles sont les suivantes :

Requirements

Requirement Value
Client minimum requis Windows 11 24H2 : Prise en charge de ML-DSA commence. [Applications de bureau uniquement]
Serveur minimal pris en charge Windows Server 2025 : Prise en charge de ML-DSA commence. [Applications de bureau uniquement]
Header bcrypt.h