Поделиться через


структура BCRYPT_DSA_KEY_BLOB_V2 (bcrypt.h)

Структура BCRYPT_DSA_KEY_BLOB_V2 используется в качестве заголовка для алгоритма цифровой подписи (DSA) открытого ключа или закрытого ключаBLOB в памяти.

Синтаксис

typedef struct _BCRYPT_DSA_KEY_BLOB_V2 {
  ULONG               dwMagic;
  ULONG               cbKey;
  HASHALGORITHM_ENUM  hashAlgorithm;
  DSAFIPSVERSION_ENUM standardVersion;
  ULONG               cbSeedLength;
  ULONG               cbGroupSize;
  UCHAR               Count[4];
} BCRYPT_DSA_KEY_BLOB_V2, *PBCRYPT_DSA_KEY_BLOB_V2;

Члены

dwMagic

Определяет тип ключа, представляющего эту структуру. Это может быть одно из следующих значений.

Ценность Значение
BCRYPT_DSA_PUBLIC_MAGIC_V2
0x32425044
Структура представляет открытый ключ DSA.
BCRYPT_DSA_PRIVATE_MAGIC_V2
0x32565044
Структура представляет закрытый ключ DSA.

cbKey

Длина ключа в байтах.

hashAlgorithm

Значение перечисления HASHALGORITHM_ENUM, указывающее используемый алгоритм хэширования.

standardVersion

Значение перечисления DSAFIPSVERSION_ENUM, указывающее федеральный стандарт обработки информации (FIPS).

cbSeedLength

Длина начального значения, используемого для создания основного числа q в байтах.

cbGroupSize

Размер основного числа q в байтах. В настоящее время, когда ключ превышает 1024 бита длиной, q составляет 32 байта.

Count[4]

Количество итераций, выполняемых для создания простого числа q из начального значения. Дополнительные сведения см. в статье NIST standard FIPS186-3.

Замечания

Структура применяется к ключам DSA, превышающим длину 1024 бита, но меньше или равно 3072 битам.

Эта структура используется в качестве заголовка для большего буфера. В общедоступного ключа (BCRYPT_DSA_PUBLIC_BLOB) dsA имеется следующий формат в непрерывной памяти. Начальное значение, q, Modulus, генератор и общедоступные номера находятся в формате big-endian.


BCRYPT_DSA_KEY_BLOB_V2
Seed[cbSeedLength]  // Big-endian.
q[cbGroupSize]      // Big-endian.
Modulus[cbKey]      // Big-endian.
Generator[cbKey]    // Big-endian.
Public[cbKey]       // Big-endian.

В BLOB-объекта закрытого ключа (BCRYPT_DSA_PRIVATE_BLOB) есть следующий формат в непрерывной памяти. Начальные значения, q, Modulus, Генератор, Public и Private Exponent находятся в формате big-endian.


BCRYPT_DSA_KEY_BLOB_V2
Seed[cbSeedLength]              // Big-endian.
q[cbGroupSize]                  // Big-endian.
Modulus[cbKey]                  // Big-endian.
Generator[cbKey]                // Big-endian.
Public[cbKey]                   // Big-endian.
PrivateExponent[cbGroupSize]    // Big-endian.

Требования

Требование Ценность
минимальные поддерживаемые клиентские Windows 8 [только классические приложения]
минимальный поддерживаемый сервер Windows Server 2012 [только классические приложения]
заголовка bcrypt.h

См. также

BCryptExportKey

BCryptImportKeyPair