nobody710
Messages postés4Date d'inscriptionlundi 1 novembre 2010StatutMembreDernière intervention 6 novembre 2010
-
1 nov. 2010 à 13:23
nobody710
Messages postés4Date d'inscriptionlundi 1 novembre 2010StatutMembreDernière intervention 6 novembre 2010
-
6 nov. 2010 à 18:32
bonjour, je suis nouveau et j'ai un niveau debutant en c++.
Je me lance dans un programme de chiffrement/dechiffrement de message crypté en RSA mais j'ai plusieurs problèmes.
pour commencer jutilise des clés tres tres simple pour tester le programme.
voici mon code:
#include
using namespace std;
int main()
{
unsigned long long int p, q, d, n =0;
unsigned long long int e =0;
short i,l = 0;
p=3;
q=5;
n=p*q;
e=7;
d=7;
char message[20]="abcdef";
// je crypte en RSA avec la clé publique créé precedement
unsigned long long int decoupe[20] = {0};
unsigned long long int mesgCrypte[20] = {0};
unsigned long long int puissanceDecoupe = 0;
for(i=0;i<7;i++) // point A
{
decoupe[i] = message[i];
puissanceDecoupe = decoupe[i];
for (l=0; l < e; l++)
{
puissanceDecoupe *= decoupe[i];
}
mesgCrypte[i] = puissanceDecoupe%n;
}
// je decripte mesgCrypte (chaque case du tableau est un caractere crypté)
char msgclaire[]={0};
unsigned long long int premsgclaire=0;
for(i=0;i<7;i++) // point B
{
puissanceDecoupe = mesgCrypte[i];
premsgclaire = 0;
for(l=0;l<d;l++)
{
puissanceDecoupe *= mesgCrypte[i];
}
premsgclaire = puissanceDecoupe%n;
msgclaire[i]= premsgclaire;
}
cout <<endl<<"msgclaire: " << msgclaire;
return 0;
}
probleme: le tableau msgclaire ne contient rien si les boucles qui chiffres et dechiffres (au point A et B) sont comme elles sont, mais si je remplace ces lignes par:
for(i=0;i<1;i++)
le message est complet, cest comme si j'avais écrit quelque part :
msgclaire=message;
Si quelqu'un trouve des erreurs, merci de les faire partager (je suis debutant, soyez indulgent).