estructura BCRYPT_DSA_PARAMETER_HEADER_V2 (bcrypt.h)
La estructura de BCRYPT_DSA_PARAMETER_HEADER_V2 se usa como encabezado para un blob de parámetros de algoritmo de firma digital (DSA) que contienen información para generar una clave DSA. Esta estructura se usa con la propiedad BCRYPT_DSA_PARAMETERS en la función BCryptSetProperty .
Sintaxis
typedef struct _BCRYPT_DSA_PARAMETER_HEADER_V2 {
ULONG cbLength;
ULONG dwMagic;
ULONG cbKeyLength;
HASHALGORITHM_ENUM hashAlgorithm;
DSAFIPSVERSION_ENUM standardVersion;
ULONG cbSeedLength;
ULONG cbGroupSize;
UCHAR Count[4];
} BCRYPT_DSA_PARAMETER_HEADER_V2;
Miembros
cbLength
Tamaño total, en bytes, de esta estructura y el búfer que sigue inmediatamente a esta estructura en memoria.
dwMagic
Valor mágico de la clave.
Este miembro debe ser el valor siguiente.
BCRYPT_DSA_PARAMETERS_MAGIC_V2 (0x324d5044)
cbKeyLength
Tamaño, en bytes, de la clave a la que se aplica esta estructura.
hashAlgorithm
Valor de enumeración HASHALGORITHM_ENUM que especifica el algoritmo hash que se va a usar.
standardVersion
Valor de enumeración DSAFIPSVERSION_ENUM que especifica el Estándar federal de procesamiento de información (FIPS) que se va a aplicar.
cbSeedLength
Longitud de la inicialización utilizada para generar el número primo q en bytes.
cbGroupSize
Tamaño del número primo q. Actualmente, cuando la clave supera los 1024 bits de longitud, q es de 32 bytes de longitud.
Count[4]
Número de iteraciones realizadas para generar el número primo q a partir de la inicialización. Para obtener más información, consulte niST standard FIPS186-3.
Comentarios
Al usar esta estructura en una llamada A BCryptSetProperty , para establecer los parámetros de una clave DSA creada en una llamada BCryptGenerateKeyPair , (cbKeyLength*8) debe ser igual al dwLength establecido anteriormente.
La estructura se aplica a las claves DSA que superan los 1024 bits de longitud, pero son menores o iguales que 3072 bits.
Esta estructura se usa como encabezado para un búfer mayor. El blob de parámetros DSA tiene el siguiente formato en memoria contigua. El inicializado, q, módulo y generador están en formato big-endian.
BCRYPT_DSA_PARAMETER_HEADER_V2
Seed[cbSeedLength] // Big-endian.
q[cbGroupSize] // Big-endian.
Modulus[cbKeyLength] // Big-endian.
Generator[cbKeyLength] // Big-endian.
Requisitos
Requisito | Value |
---|---|
Cliente mínimo compatible | Windows 8 [solo aplicaciones de escritorio] |
Servidor mínimo compatible | Windows Server 2012 [solo aplicaciones de escritorio] |
Encabezado | bcrypt.h |