2009-08-29 4 views
2

J'ai un module de 128 octets (1024 bits) (dans un format de tableau d'octets) et mon exposant (également dans un format de tableau d'octets). J'ai besoin de créer un tableau de 128 octets représentant la clé publique. Selon Wikipedia, "la clé publique est constituée du module n et de l'exposant public (ou cryptage) e." Mais cela ne me dit pas comment mélanger les deux.Comment combiner n et e pour créer la clé publique dans RSA?

Quelle est la bonne opération à faire?
- n^e (cela restera 128 octets de long?)
- juste n?
- n suivi de e?
- n ajouté à e?
- autre chose?

+0

Voici un [link] (http://pajhome.org.uk/crypt/rsa/rsa.html) à une explication assez simple. Prendre plaisir. –

Répondre

2

Vous ne pourrez pas créer un tel tableau. La "clé publique" a deux parties: l'exposant et le module. Ce sont des nombres séparés qui doivent être conservés séparément, car tous les deux sont nécessaires pour effectuer le chiffrement et le déchiffrement plus tard. Bien que votre n soit 1024 bits, la clé publique est nécessairement plus longue.

3

Il existe de nombreux formats différents pour représenter les clés publiques RSA. L'un des plus répandus est PKCS # 1. Dans RFC 3447, la définition du format clé publique est donnée comme

RSAPublicKey ::= SEQUENCE { 
     modulus   INTEGER, -- n 
     publicExponent INTEGER -- e 
    } 

Pour représenter une clé dans ce format, vous devez appliquer le codage DER ASN.1 à cette structure de données.

Un autre choix est le SubjectPublicKeyInfo, de la RFC 3280:

SubjectPublicKeyInfo ::= SEQUENCE { 
    algorithm   AlgorithmIdentifier, 
    subjectPublicKey  BIT STRING 
    } 

Pour RSA, l'algorithme doit être 1.2.840.113549.1.1.1.

Il existe plusieurs autres formats, tels que ceux utilisés pour SSL.

1

"N suivi de e" est probablement le plus proche de ce que vous voulez. Mais si vous avez l'intention d'interopérer avec un autre système basé sur RSA, vous devriez consulter la documentation de ce système pour voir comment ils s'attendent à ce que les clés publiques soient formatées.

Questions connexes