структура BCRYPT_DSA_PARAMETER_HEADER_V2 (bcrypt.h)
Структура BCRYPT_DSA_PARAMETER_HEADER_V2 используется в качестве заголовка для большого двоичного объекта параметров алгоритма цифровой подписи (DSA), содержащих сведения для создания ключа DSA. Эта структура используется со свойством BCRYPT_DSA_PARAMETERS в функции BCryptSetProperty .
Синтаксис
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;
Члены
cbLength
Общий размер (в байтах) этой структуры и буфера, который непосредственно следует за этой структурой в памяти.
dwMagic
Магическое значение для ключа.
Этот элемент должен иметь следующее значение.
BCRYPT_DSA_PARAMETERS_MAGIC_V2 (0x324d5044)
cbKeyLength
Размер (в байтах) ключа, к которому применяется эта структура.
hashAlgorithm
Значение перечисления HASHALGORITHM_ENUM , указывающее используемый алгоритм хэширования.
standardVersion
Значение перечисления DSAFIPSVERSION_ENUM , указывающее применяемый федеральный стандарт обработки информации (FIPS).
cbSeedLength
Длина начального значения, используемого для создания простого числа q в байтах.
cbGroupSize
Размер простого числа q. В настоящее время, когда длина ключа превышает 1024 бита, длина q составляет 32 байта.
Count[4]
Количество итераций, выполненных для создания простого числа q из начального значения. Дополнительные сведения см. в статье Стандарт NIST FIPS186-3.
Комментарии
При использовании этой структуры в вызове BCryptSetProperty , чтобы задать параметры для ключа DSA, созданного в вызове BCryptGenerateKeyPair , (cbKeyLength*8) должны быть равны ранее заданному dwLength.
Структура применяется к ключам DSA, длина которых превышает 1024 бита, но меньше или равна 3072 битам.
Эта структура используется в качестве заголовка для буфера большего размера. Большой двоичный объект параметров DSA имеет следующий формат в непрерывной памяти. Значения Seed, q, Modulus и Generator имеют формат big-endian.
BCRYPT_DSA_PARAMETER_HEADER_V2
Seed[cbSeedLength] // Big-endian.
q[cbGroupSize] // Big-endian.
Modulus[cbKeyLength] // Big-endian.
Generator[cbKeyLength] // Big-endian.
Требования
Требование | Значение |
---|---|
Минимальная версия клиента | Windows 8 [только классические приложения] |
Минимальная версия сервера | Windows Server 2012 [только классические приложения] |
Верхняя часть | bcrypt.h |