Partager via


Diffie-Hellman objets blob clés

objets blob sont utilisés avec le fournisseur deDiffie-Hellmanpour exporter des clés et importer des clés dans, le fournisseur de services de chiffrement (CSP).

Objets blob de clé publique

Diffie-Hellman objets blob de clé publique, tapez PUBLICKEYBLOB, sont utilisés pour échanger la valeur P mod (G^X) dans un échange de clés Diffie-Hellman. Ces clés sont exportées et importées sous la forme d’une séquence d’octets au format suivant.

PUBLICKEYSTRUC  publickeystruc; 
DHPUBKEY dhpubkey;
BYTE y[dhpubkey.bitlen/8]; // Where y = (G^X) mod P

Le tableau suivant décrit chaque composant dublob de clé.

Champ Description
dhpubkey StructureDHPUBKEY. Le membre magique doit être défini sur 0x31484400. Cette valeur hexadécimale est l’encodage ASCII de « DH1 ».
publickeystruc Structure PUBLICKEYSTRUC.
y Séquence de BYTE. La valeur Y, (G^X) mod P, se trouve directement après la structureDHPUBKEY, et doit toujours être la longueur, en octets, du bitlen DHPUBKEY champ (longueur de bit de P) divisé par huit. Si la longueur des données résultant du calcul du mod P (G^X) est d’un ou plusieurs octets plus courts que P divisés par huit, les données doivent être remplies avec les octets nécessaires (valeur zéro) pour rendre les données de longueur souhaitée (format little-endian).

 

Objets blob de clé privée

Diffie-Hellman objets blob de clé privée, tapez privateKEYBLOB, sont utilisés pour stocker les informations publiques/privées d’une clé Diffie-Hellman. Ces clés sont exportées et importées sous la forme d’une séquence d’octets au format suivant.

PUBLICKEYSTRUC  publickeystruc; 
DHPUBKEY        dhpubkey;
BYTE            prime[dhpubkey.bitlen/8];
BYTE            generator[dhpubkey.bitlen/8];
BYTE            secret[dhpubkey.bitlen/8];

Le tableau suivant décrit chaque composant de l’objet BLOB de clé.

Champ Description
dhpubkey StructureDHPUBKEY. Le membre magique doit être défini sur 0x32484400. Cette valeur hexadécimale est l’encodage ASCII de « DH2 ».
générateur Séquence de BYTE. Le générateur, G.
publickeystruc Structure PUBLICKEYSTRUC.
premier Séquence de BYTE. Le modulus premier, P. Ces données doivent toujours avoir le bit le plus significatif de l’octet le plus significatif défini sur un.
secret Séquence de BYTE. Exposant secret, X.

 

Note

Le générateur et le secret doivent toujours avoir la même longueur, en octets. S’il s’agit d’un octet ou plus court que l’autre, il doit être rempli avec le nombre nécessaire d’octets de valeur zéro pour les rendre identiques. Le générateur et le secret sont au format little-endian.