Créer une clé RSA a partir d'un mot passe

Résolu
Profil bloqué -  
 Profil bloqué -
Bonjour, J'aimerait savoir comment créer un clé de cryptage RSA avec clé privée ainsi que clé publique tout ça baser a partir d'un mot de passe !!

Merci de votre compréhension !

Cordialement ,
projeta618



A voir également:

5 réponses

KX Messages postés 16761 Date d'inscription   Statut Modérateur Dernière intervention   3 020
 
Les clés RSA sont basés sur la génération de deux grands nombres premiers.
Il faudrait donc passer de ton mot de passe à tes nombres premiers.

Mais ça me parait être une fausse bonne idée... car il vaudrait mieux que les clés RSA soient générées aléatoirement, sinon on pourrait faire une attaque du dictionnaire pour deviner le mot de passe, générer les deux clés RSA (publique et privée) et en comparant la clé publique utiliser la clé privé pour récupérer le contenu du message !
0
Profil bloqué
 
Ok merci ,
cependant comment fait je pour générer mes nombres premiers je travail en php ^^

Je pense bien qu'avec une attaques dictionnaire ont puisse découvrir le mot de passe ensuite c'est a l'utilisateur de faire attention ou de les pousser a créer de gros mot passe ou de générer aléatoirement un mot de passe ,
ensuite il faut protéger l'interface pour empêcher les attaques par bruteforce
0
KX Messages postés 16761 Date d'inscription   Statut Modérateur Dernière intervention   3 020
 
Je pense toujours que ce n'est pas une si bonne idée que ça, mais je ne vais pas revenir dessus, je l'ai déjà dit ^^

Pour le PHP je n'y connais rien, mais j'imagine (j'espère pour toi) qu'il y a aussi des bibliothèques sur les grands nombres et que tu pourras faire la transition du code suivant.

Remarque : mon code est super simpliste, il y a un certain nombre de cas à prendre en compte pour que les nombres entiers premiers soient vraiment sécurisés...

String mdp = "azerty"; // le mot de passe de l'utilisateur

long seed = new BigInteger(mdp.getBytes()).longValue(); // conversion en entier

Random random = new Random(seed); // générateur aléatoire

int numBits = 2048; // taille des entiers à générer

// Calcul (simpliste) des nombres premiers

BigInteger p = new BigInteger(numBits, random).nextProbablePrime();
BigInteger q = new BigInteger(numBits, random).nextProbablePrime();

// Calculs des clés RSA

BigInteger n = p.multiply(q);
...
La confiance n'exclut pas le contrôle
0
Profil bloqué
 
Ok merci beaucoup je vais voir ça !!

Bonne soirée
0
Profil bloqué
 
J'ai déjà ce code il faut donc que je modifie quelque chose dans celui-ci mais quoi ...

Je ne m'y connait pas vraiment en cryptage
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Azraka Messages postés 252 Date d'inscription   Statut Membre Dernière intervention   13
 
Sinon sur google en moins de 20 secondes : http://www.g33k-zone.org/post/2010/07/01/G%C3%A9n%C3%A9rer-des-clefs-RSA-en-php

https://lmgtfy.app/?q=php+g%C3%A9n%C3%A9rer+cl%C3%A9+rsa

Ok c'est l'extension open_ssl qui fait le travail, mais pour certaines choses, et surtout en crypto et sécurité, mieux vaut ne pas réinventer la roue.
-1