BCRYPT_DSA_KEY_BLOB_V2 struttura (bcrypt.h)

La struttura BCRYPT_DSA_KEY_BLOB_V2 viene usata come intestazione per una chiave pubblica DSA (Digital Signature Algorithm) o UN BLOB di chiavi private in memoria.

Sintassi

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;

Members

dwMagic

Determina il tipo di chiave rappresentata da questa struttura. Questo può essere uno dei valori seguenti.

Valore Significato
BCRYPT_DSA_PUBLIC_MAGIC_V2
0x32425044
La struttura rappresenta una chiave pubblica DSA.
BCRYPT_DSA_PRIVATE_MAGIC_V2
0x32565044
La struttura rappresenta una chiave privata DSA.

cbKey

Lunghezza, in byte, della chiave.

hashAlgorithm

Valore di enumerazione HASHALGORITHM_ENUM che specifica l'algoritmo di hash da usare.

standardVersion

Valore di enumerazione DSAFIPSVERSION_ENUM che specifica lo standard FIPS (Federal Information Processing Standard) da applicare.

cbSeedLength

Lunghezza del seed utilizzato per generare il numero primo q in byte.

cbGroupSize

Dimensioni del numero primo q in byte. Attualmente, quando la chiave supera i 1024 bit di lunghezza, q è lunga 32 byte.

Count[4]

Numero di iterazioni eseguite per generare il numero primo q dal seed. Per altre informazioni, vedere NIST standard FIPS186-3.

Commenti

La struttura si applica alle chiavi DSA che superano 1024 bit di lunghezza, ma sono inferiori o uguali a 3072 bit.

Questa struttura viene usata come intestazione per un buffer più grande. Un BLOB di chiave pubblica DSA (BCRYPT_DSA_PUBLIC_BLOB) ha il formato seguente in memoria contigua. Il valore Seed, q, Modulus, Generator e Public numeri sono in formato 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.

Un BLOB di chiavi private DSA (BCRYPT_DSA_PRIVATE_BLOB) ha il formato seguente in memoria contigua. I numeri seed, q, Modulus, Generator, Public e PrivateExponent sono in formato 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.

Requisiti

   
Client minimo supportato Windows 8 [solo app desktop]
Server minimo supportato Windows Server 2012 [solo app desktop]
Intestazione bcrypt.h

Vedi anche

BCryptExportKey

BCryptImportKeyPair