estructura de BCRYPT_PQDSA_KEY_BLOB

Note

Cierta información se relaciona con un producto de versión preliminar que puede modificarse sustancialmente antes de su publicación comercial. Microsoft no ofrece ninguna garantía, expresa o implícita, con respecto a la información proporcionada aquí. Las características compuestas descritas en este tema están disponibles en versiones preliminares de Windows Insider Preview.

Esta estructura se usa para importar y exportar claves para algoritmos post-Quantum Digital Signature (PQDSA). La estructura BCRYPT_PQDSA_KEY_BLOB se usa como encabezado para un algoritmo de firma digital post-quantum (PQDSA) clave pública (clave de encapsulación codificada por bytes) o BLOB de clave privada en 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

El campo dwMagic es un valor de 4 bytes que indica el formato de la clave que se está usando. Se definen los siguientes valores:

Value Meaning
BCRYPT_MLDSA_PUBLIC_MAGIC0x4B505344 La estructura representa una clave pública.
BCRYPT_MLDSA_PRIVATE_MAGIC0x4B535344 La estructura representa una clave privada expandida.
BCRYPT_MLDSA_PRIVATE_SEED_MAGIC0x53535344 La estructura representa una inicialización privada.
BCRYPT_COMPOSITE_MLDSA_PUBLIC_MAGIC0x4B504D43 La estructura representa una clave pública.
BCRYPT_COMPOSITE_MLDSA_PRIVATE_MAGIC0x4B534D43 La estructura representa una clave privada.

cbParameterSet

Longitud, en bytes, del búfer parameterSet directamente después de la estructura. Este búfer contiene una cadena Unicode terminada en null que identifica el conjunto de parámetros de la clave. Actualmente se admiten los siguientes valores:

parameterSet Meaning
BCRYPT_MLDSA_PARAMETER_SET_44L"44" ML-DSA-44, categoría de seguridad 2.
BCRYPT_MLDSA_PARAMETER_SET_65L"65" ML-DSA-65, categoría de seguridad 3.
BCRYPT_MLDSA_PARAMETER_SET_87L"87" ML-DSA-87, categoría de seguridad 5.
BCRYPT_COMPOSITE_MLDSA_PARAMETER_SET_44_ECDSA_P256_SHA256L"44-ECDSA-P256-SHA256" ML-DSA-44 compuesto y ECDSA P256
BCRYPT_COMPOSITE_MLDSA_PARAMETER_SET_65_ECDSA_P256_SHA512L"65-ECDSA-P256-SHA512" ML-DSA-65 compuesto y ECDSA P256
BCRYPT_COMPOSITE_MLDSA_PARAMETER_SET_65_ECDSA_P384_SHA512L"65-ECDSA-P384-SHA512" ML-DSA-65 compuesto y ECDSA P384
BCRYPT_COMPOSITE_MLDSA_PARAMETER_SET_87_ECDSA_P384_SHA512L"87-ECDSA-P384-SHA512" ML-DSA-87 compuesto y ECDSA P384

cbKey

Longitud, en bytes, de la clave de búfer directamente después de parameterSet. Este tamaño es estático y depende del formato de clave y del parámetro establecido en uso.

Remarks

Los consumidores de algoritmos de firma digital post-quantum usarán el mismo subconjunto de la API BCrypt que los algoritmos de firma digital existentes (no post-cuánticos) admitidos por CNG para realizar las operaciones que admiten los algoritmos. Estos son:

Requirements

Requirement Value
Cliente mínimo compatible Windows 11 24H2: comienza la compatibilidad con ML-DSA. [solo aplicaciones de escritorio]
Servidor mínimo admitido Windows Server 2025: Comienza la compatibilidad con ML-DSA. [solo aplicaciones de escritorio]
Header bcrypt.h