2010-11-29 4 views

Répondre

0

Lors de l'examen des documents, il semble que les champs se superposent de manière intuitive, un à un. Avez-vous essayé d'implémenter le code de mappage en utilisant cette information? Je voudrais l'essayer si ce n'est pas le cas.

Voici le Microsoft blob (lié à RSAPUBKEY):

typedef struct _RSAPUBKEY { 
    DWORD magic; 
    DWORD bitlen; 
    DWORD pubexp; 
} RSAPUBKEY; 

BLOBHEADER blobheader; 
RSAPUBKEY rsapubkey; 
BYTE modulus[rsapubkey.bitlen/8]; 
BYTE prime1[rsapubkey.bitlen/16]; 
BYTE prime2[rsapubkey.bitlen/16]; 
BYTE exponent1[rsapubkey.bitlen/16]; 
BYTE exponent2[rsapubkey.bitlen/16]; 
BYTE coefficient[rsapubkey.bitlen/16]; 
BYTE privateExponent[rsapubkey.bitlen/8]; 

Voici le RSA struct:

struct 
     { 
     BIGNUM *n;    // public modulus 
     BIGNUM *e;    // public exponent 
     BIGNUM *d;    // private exponent 
     BIGNUM *p;    // secret prime factor 
     BIGNUM *q;    // secret prime factor 
     BIGNUM *dmp1;   // d mod (p-1) 
     BIGNUM *dmq1;   // d mod (q-1) 
     BIGNUM *iqmp;   // q^-1 mod p 
     // ... 
     }; 
RSA 
+0

oui, je l'ai essayé, mais n'a pas trouvé BIGNUM * e dans ce struct microsoft, i essayé de l'obtenir de RSAPubkey, mais n'a pas réussi. – Rampage

+0

N'est-ce pas pubexp dans le RSAPUBKEY? –

+0

hmm peut-être, comment puis-je vérifier que le résultat créé est la bonne clé? – Rampage

Questions connexes