struttura BCRYPT_DSA_KEY_BLOB_V2 (bcrypt.h)

La struttura BCRYPT_DSA_KEY_BLOB_V2 viene usata come intestazione per un DSA (Digital Signature Algorithm) chiave pubblica o chiave privata BLOB 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;

Membri

dwMagic

Determina il tipo di chiave rappresentata da questa struttura. Può trattarsi di 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 hash da usare.

standardVersion

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

cbSeedLength

Lunghezza del valore di inizializzazione usato per generare il numero primo q in byte.

cbGroupSize

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

Count[4]

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

Osservazioni

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

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

Fabbisogno

Requisito Valore
client minimo supportato Windows 8 [solo app desktop]
server minimo supportato Windows Server 2012 [solo app desktop]
intestazione bcrypt.h

Vedere anche

BCryptExportKey

BCryptImportKeyPair