Modulo

Réponses à toutes vos questions de la 2nde à la Terminale toutes séries
batch
Messages: 3
Enregistré le: 10 Avr 2017, 20:43

modulo

par batch » 10 Avr 2017, 20:50

bonjours a tous, je suis lycéen mais je n'ai pas encore vu ce qu'était le "modulo"
et j'en ai besoin aujourd'hui pour un truc tout bête ( je créé une clef de chiffrement asymétrique )
j'aurais besoins de connaitre la méthode pour :

yx mod z =1
car pour l'instant je ne dois trouver que x pour :
3x mod 4 =1
ce qui ne nécessite pas beaucoup de maîtrise mais je devrais le faire avec des nombres du type 56198413216...
(un peu plus galère)
merci de votre aide !



Avatar de l’utilisateur
Ben314
Le Ben
Messages: 21696
Enregistré le: 11 Nov 2009, 21:53

Re: modulo

par Ben314 » 10 Avr 2017, 21:30

Salut,
La question telle qu'elle est posée à pas franchement de sens : une phrase qui commence par "...la méthode pour" ben forcément vaudrait quand même mieux qu'il y ait un verbe derrière pour qu'on comprenne le sens, non ?

Vu l'exemple donné ensuite, j'ai l'impression que la question est :
Pour et entiers fixés, quelle est la méthode pour trouver un entier tel que ?

Si c'est bien ça, la méthode classique utilisé que ce soit à la main ou en informatique, c'est l'algorithme d'Euclide étendu qui donne la réponse en O(ln(N)) itérations.
Qui n'entend qu'un son n'entend qu'une sonnerie. Signé : Sonfucius

batch
Messages: 3
Enregistré le: 10 Avr 2017, 20:43

Re: modulo

par batch » 10 Avr 2017, 21:37

merci de cette réponse mais ce serait plutot :
Pour a et N entiers fixés, quelle est la méthode pour trouver un entier x tel que : a*x mod N = 1 ?

pascal16
Membre Légendaire
Messages: 6663
Enregistré le: 01 Mar 2017, 12:58
Localisation: Angoulème : Ville de la BD et du FFA. gare TGV

Re: modulo

par pascal16 » 11 Avr 2017, 12:09

je pense que Ben a raison, sinon, y a plus simple : avec un tableur (attention à la limite des nombres entier) ou un programme informatique (et la classe décimal de Python ou Small basic si tu es trop limité)

l'équation n'a pas forcément de solution
avec a=2 et N paire, ça marche pas

Avatar de l’utilisateur
Ben314
Le Ben
Messages: 21696
Enregistré le: 11 Nov 2009, 21:53

Re: modulo

par Ben314 » 11 Avr 2017, 12:43

Sinon, ça :
Ben314 a écrit:
et ça :
batch a écrit:a*x mod N = 1 ?
C'est exactement la même chose.
La première notation (i.e. celle que j'utilise) est celle des matheux, avec un "égal à 3 barres" qui se prononce "congru" et un "modulo N" à la fin pour préciser le type de congruence (qu'on écrit aussi fréquemment sous la forme [N] avec des crochets)
C'est celle utilisé par tout les matheux et qui est on nepeut plus pratique vu les propriété de "stabilité" de la notion de congruence (et, plus ou moins vers le L2, on apprend comment faire pour que le "congru" devienne une vrai égalité via un passage au quotient).

L'autre notation (i.e. celle que tu emploie) est plus celle dédiée à l'informatique où l'opérateur en question peut être noté de différentes façon en fonction du langage :
- Soit mod pour certain d'entre eux (mais c'est assez crétin vu qu'étymologiquement parlant, si tu cherche dans un dico., le mot "modulo", ça a rien à voir avec un opérateur, ni en Français, ni en Anglais),
- Soit % pour d'autre,
- Ou encore rem comme "Reminder"="Reste" (ce qui semble bien plus logique vu que le résultat de l'opération, c'est effectivement le reste de la division Euclidienne)

P.S. : Faire attention aussi au fait que, comme il n'y a pas d'opérateur "reste de la division" en mathématique, je ne sais pas si tout les langages de programmations placent cet opérateur au même niveau de priorité (la plupart des langages le placent au même niveau que la multiplication et la division, mais je ne sais pas si c'est le cas de tous)
Qui n'entend qu'un son n'entend qu'une sonnerie. Signé : Sonfucius

batch
Messages: 3
Enregistré le: 10 Avr 2017, 20:43

modulo

par batch » 11 Avr 2017, 14:55

merci beaucoup , meme si avec mon niveau actuel ça reste tres vague !

Avatar de l’utilisateur
Ben314
Le Ben
Messages: 21696
Enregistré le: 11 Nov 2009, 21:53

Re: modulo

par Ben314 » 11 Avr 2017, 18:40

Code: Tout sélectionner
fonction InverseModulaire(entier a ; entier N)
| entier q, U, Ud, V, Vd, temp
| U:=N; Ud:=a; V:=0; Vd:=1;
| tant que Ud>0 faire
| | q:=U div Ud; { div = quotient de la division Euclidienne }
| | temp:=Ud; Ud:=U-q*Ud; U:=temp
| | temp:=Vd; Vd:=V-q*Vd; V:=temp
| si non(U==1) alors retour -1
| tant que V<0 faire V:=V+N
| retour V
Invariant de boucle :
Sortie : une solution de s'il en existe et -1 s'il n'y a pas de solutions.
Qui n'entend qu'un son n'entend qu'une sonnerie. Signé : Sonfucius

 

Retourner vers ✎✎ Lycée

Qui est en ligne

Utilisateurs parcourant ce forum : Aucun utilisateur enregistré et 19 invités

Tu pars déja ?



Fais toi aider gratuitement sur Maths-forum !

Créé un compte en 1 minute et pose ta question dans le forum ;-)
Inscription gratuite

Identification

Pas encore inscrit ?

Ou identifiez-vous :

Inscription gratuite