Calcul modulo [Résolu]

Signaler
Messages postés
67
Date d'inscription
jeudi 19 mai 2011
Statut
Membre
Dernière intervention
22 mai 2006
-
Messages postés
67
Date d'inscription
jeudi 19 mai 2011
Statut
Membre
Dernière intervention
22 mai 2006
-
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

8 réponses

Messages postés
637
Date d'inscription
mardi 22 avril 2003
Statut
Membre
Dernière intervention
9 janvier 2017

FRAC    INT   ROUND   TRUNC    INTEGER

yvessimon
Messages postés
3818
Date d'inscription
vendredi 23 juillet 2004
Statut
Modérateur
Dernière intervention
18 septembre 2020
34
Salut,

Mod est une division sur un Entier ( Integer ) mais pas avec un réel
Donc pour utiliser Mod X et R1 doivent être de type Integer

@+
Cirec
Messages postés
18
Date d'inscription
mardi 18 avril 2006
Statut
Membre
Dernière intervention
30 mai 2006

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.
Messages postés
449
Date d'inscription
lundi 19 avril 2004
Statut
Membre
Dernière intervention
8 avril 2009
2
Ouais enfin des opération modulo Pi ou 2*pi ca existe aussi.... plutot que de réécrire la puissance, on peut réécrire modulo.
Messages postés
637
Date d'inscription
mardi 22 avril 2003
Statut
Membre
Dernière intervention
9 janvier 2017

Si pi a 4 décimales alors multipli le par 10000
Si pi en a 30 fait de même ...

modulo Pi   c'est bien un nombre entier ...

yvessimon
Messages postés
67
Date d'inscription
jeudi 19 mai 2011
Statut
Membre
Dernière intervention
22 mai 2006

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...
Messages postés
67
Date d'inscription
jeudi 19 mai 2011
Statut
Membre
Dernière intervention
22 mai 2006

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
Messages postés
67
Date d'inscription
jeudi 19 mai 2011
Statut
Membre
Dernière intervention
22 mai 2006

avec la fonction TRUNC bien entendu!!!
Merci de l'aide