Comment Générer des clés rsa en utilisant des données d'entrée dans openssl?
J'ai sélectionné 2 nombres premiers p et q. Calculé publique paire: (n,e) et de la clé privée: d.
Ex.
p =17, q = 11
n = 187,
e= 7 & d = 23
Après sufring sur internet, j'ai trouvé cette commande pour générer le public,le privé paire de clés :
openssl genrsa -out mykey.pem 1024
Mais je veux générer la clé privée correspondant à d = 23 et la clé publique correspondant à e = 7. Comment puis-je donner à ces numéros d'entrée.
- Je ne pense vraiment pas qu'openssl supporte 8 bits clés
- Si il ne supporte pas les 8 bits de la clé que je peux générer plus grand nombre, mais la question est de savoir comment utiliser ces numéros?
- Vous pouvez faire un peu de codage à l'aide d'openssl/bn.h
- La Question n'est plus pourquoi vous souhaitez utiliser des données d'entrée de générateur vos clés rsa ???
- Autant que je sache, il peut être fait dans le code seulement.
Vous devez vous connecter pour publier un commentaire.
Une façon de le faire est de générer un binaire codé DER clé à l'aide de l'installation de OpenSSL
asn1parse
de la commande-genconf
option.Vous aurez besoin de construire un fichier d'entrée pour
asn1parse -genconf
pour produire une clé RSA dans le format standard (par RFC 3447). La syntaxe pourasn1parse -genconf
est donnée ici: http://www.openssl.org/docs/crypto/ASN1_generate_nconf.html et en effet, elle a déjà un exemple pour la construction d'une clé RSA.Vous avez besoin pour calculer quelques valeurs (en particulier,
d mod (p-1)
,d mod (q-1)
etq^-1 mod p
. Pour les valeurs dep
,q
,d
vous a donné, ce sont:d mod(p-1) = 23 mod 16 = 7
d mod(q-1) = 23 mod 10 = 3
q^-1 mod p = 14
Mis tous ensemble dans un fichier texte dans le format approprié:
Pour construire les binaires DER fichier:
Vous pouvez ensuite exécuter ce par le biais de l'installation de OpenSSL
rsa
commande pour confirmer:Qui devrait de sortie:
Vous pouvez l'utiliser pour chiffrer les données avec OpenSSL est
rsautl
de commande (mais avec cette touche, vous êtes limité à chiffrer un seul octet de données et de fournir cet octet est également à moins de 187).openssl asn1parse -genconf textfile -out newkey.der
oùtextfile
est le fichier d'entrée est décrit ci-dessus.si vous êtes à la recherche d'une méthode qui ne nécessite pas d'autres calculs de vous, que je suppose que tels n'existent pas.
ont un coup d'oeil à rsa_builtin_keygen dans rsa_gen.c de openssl source, il génère les nombres premiers pour lui-même.
Je vous suggère d'avoir un coup d'oeil à la fonction
generateKey
ici (vous aurez également besoin du fichier cryptomath pour que cela fonctionne)