CYCY07
Messages postés67Date d'inscriptionjeudi 19 mai 2011StatutMembreDernière intervention22 mai 2006
-
17 mai 2006 à 23:16
CYCY07
Messages postés67Date d'inscriptionjeudi 19 mai 2011StatutMembreDernière intervention22 mai 2006
-
22 mai 2006 à 17:08
bonsoir,
je dois calculer c= m exposant e modulo r
voici comment j'ai procédé :
mes variables sont :
e1,expo,m,r1,x,c:real;
//Encryptage par le tiers de M par calcul de C
//C = M exposant e (modulo r)
////////Calcul de M exposant e
m:=strtofloat(EM.Text);
e1:=strtofloat(Ee.Text);
expo:=exp(e1*ln(m));
n:=0;
repeat
n:=n+1;
r1:=strtofloat(Er.Text);
expo:=exp(e1*ln(m));
Exposant.Text:=floattostr(expo);
x:=expo;
c:=(x mod r1);
until c=0;
EM1.Text:=floattostr(c);
end;
je comprend pas trop il me dit qu'il y a une erreur à ce niveau : c:=(x mod r1);
il me dit : opérateur non applicable à ce type d'opérande...
Est ce parce que je travaille avec des réels pour finir ma méthode de cryptage RSA??
Emploi des reels pour calculer l'exposant avant le modulo...
Je vois pas trop là je coince.
Merci pour votre aide
JnBiz
Messages postés18Date d'inscriptionmardi 18 avril 2006StatutMembreDernière intervention30 mai 2006 17 mai 2006 à 23:58
Pour modulo il faut impérativement des entiers, je te conseil donc de ne travailler qu'avec des entiers, en remplacant le exp(e1*ln(m)) par une fonction qui calcul la puissance m^e1 itérativement.
voila.
CYCY07
Messages postés67Date d'inscriptionjeudi 19 mai 2011StatutMembreDernière intervention22 mai 2006 18 mai 2006 à 20:41
OK merci pour l'info je vais tenter de modifier l'exposant alors ou de rajouter une variable afin que la valeur de l'exposant soit convertie en entier... Est ce possible?? Je ne sais pas si ça va marcher...
CYCY07
Messages postés67Date d'inscriptionjeudi 19 mai 2011StatutMembreDernière intervention22 mai 2006 22 mai 2006 à 15:35
je n'ai pas trouvé... Comment faire pour convertir un réel en entier???
puisque expo est un réel et que pour calculer le modulo il faut deux entiers....
Merci pour votre aide