Besoin d'aide RSA

aaabla Messages postés 3 Date d'inscription mercredi 13 mai 2009 Statut Membre Dernière intervention 18 mai 2009 - 18 mai 2009 à 15:08
aaabla Messages postés 3 Date d'inscription mercredi 13 mai 2009 Statut Membre Dernière intervention 18 mai 2009 - 18 mai 2009 à 22:58
Salut tout le monde,



Svp, celui qui a un algorithme simple d’encryptage RSA qui permit de crypter une chaine de caractères (un message) et non un nombre, en C , qu’il m’aide à l’avoir le plutôt possible. J’ai essayé de l’écrire et je suis arrivée à crypter un nombre et le décrypté.



J’espère trouver l’aide ici, c’est  pour ça j’ai demandé de l’aide sur ce forum.  



Merci d’avance.

4 réponses

krimog Messages postés 1860 Date d'inscription lundi 28 novembre 2005 Statut Membre Dernière intervention 14 février 2015 49
18 mai 2009 à 17:18
Salut.

Tout d'abord, tu es sur le forum C# ici. Pour tout ce qui concerne le C et le C++, merci de poster sur www.cppfrance.com. Ensuite, si tu as déjà un bout de code, merci de le fournir, et d'indiquer pourquoi où tu bloques au niveau de l'adaptation de ton code d'un nombre à une chaine de caractères.

Krimog : while (!(succeed = try())) ;
- NON, "LE BAR" n'est PAS un langage de programmation ! -
0
aaabla Messages postés 3 Date d'inscription mercredi 13 mai 2009 Statut Membre Dernière intervention 18 mai 2009
18 mai 2009 à 18:34
Le problème consiste à :



Pour pouvoir crypté le message je doit le convertir en un nombre, j’ai pensée à créer un tableau d’enregistrement oû je représente chaque caractère par un nombre précis  (par exemple : le A par 10, la B par 11……etc.) mais j’ai trouvé un problème a représenté l’espace, l’entrée,… donc j’ai pensé a une autre solution  qui est de représenter chaque caractère par son code ASCII, mais je n’ai pas  pu trouvé une fonction prédéfini  en C qui retourne pour chaque caractère son code ASCII et je ne sais même pas est ce qu’ elle existe ou non
0
krimog Messages postés 1860 Date d'inscription lundi 28 novembre 2005 Statut Membre Dernière intervention 14 février 2015 49
18 mai 2009 à 19:24
Si mes souvenirs sont corrects (car je ne touche plus au C depuis plusieurs années, et que tu es sur le forum C#), une chaine de caractères en C est simplement un tableau de caractères (char*) avec un '\0' pour indiquer la fin. De plus, lorsque tu cast un char en int, cela te renvoie son code ascii.

Donc j'imagine que tu peux faire un truc comme ça :

int i;
char* texte = "MonTexteAEncoder";
char* texteEncode = (char*)malloc((strlen(texte)+1)*sizeof(char));

for(i = 0 ; i < strlen[texte] +1 /* Pour inclure le '\0' */ ; i++)
{
    texteEncode[i] = encodeRSA((int)(texte[i]));
}

avec comme prototype pour encodeRSA :

char encodeRSA(int);

(et si ta fonction renvoie un int, il "suffit" de remplacer char* texteEncode par un int*)

Krimog : while (!(succeed = try())) ;
- NON, "LE BAR" n'est PAS un langage de programmation ! -
0
aaabla Messages postés 3 Date d'inscription mercredi 13 mai 2009 Statut Membre Dernière intervention 18 mai 2009
18 mai 2009 à 22:58
Merci pour la proposition, je vais  la essayée.



Merci  beaucoup.
0
Rejoignez-nous