структура 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

См. также раздел

BCryptGenerateKeyPair

BCryptSetProperty

Идентификаторы свойств примитива шифрования