Outil pour calculer l'ordre multiplicatif d'un entier modulo n, déterminer le plus petit exposant k tel que a^k soit congru à 1 modulo n et étudier les propriétés arithmétiques des puissances modulo un entier.
Ordre Multiplicatif - dCode
Catégorie(s) : Arithmétique
dCode est gratuit et ses outils sont une aide précieuse dans les jeux, les maths, les énigmes, les géocaches, et les problèmes à résoudre au quotidien !
Une suggestion ? un problème ? une idée ? Écrire à dCode !
L'ordre multiplicatif de $ a $ modulo $ n $ est le plus petit entier strictement positif $ k $ tel que $ a^k \equiv 1 \pmod{n} $.
L'ordre multiplicatif mesure la longueur du cycle parcouru par un nombre élevé à ses puissances successives modulo un autre nombre. Élever un entier $ a $ à des puissances successives modulo un entier $ n $ finit toujours par retomber sur 1, à condition que $ a $ et $ n $ soient premiers entre eux. Les puissances $ a^1, a^2, a^3, \ldots $ décrivent un cycle fermé dans l'ensemble des résidus modulo $ n $, et l'ordre est la longueur de ce cycle : c'est l'analogue arithmétique de la période d'une fonction périodique.
Exemple : Les puissances de $ 3 \mod 7 $ donnent $ 3, 2, 6, 4, 5, 1, 3, 2, \ldots $ ; l'ordre de $ 3 $ modulo $ 7 $ se note $ \operatorname{ord}_7(3) = 6 $, car $ 3^6 \equiv 1 \pmod{7} $ et aucun exposant plus petit ne convient.
Soit $ n \geq 2 $ et $ a $ un entier inversible modulo $ n $, c'est-à-dire premier avec $ n $. L'ordre multiplicatif de $ a $ modulo $ n $, noté $ \operatorname{ord}_n(a) $, est défini par $ \operatorname{ord}_n(a) = \min\{k \in \mathbb{N}^* : a^k \equiv 1 \pmod{n}\} $.
Si $ a $ et $ n $ partagent un facteur commun, alors $ a^k $ reste divisible par ce facteur pour tout $ k $, et $ a^k \bmod n $ ne vaut jamais 1 : l'ordre n'existe pas. La condition $ \pgcd(a, n) = 1 $ garantit au contraire que $ a $ possède un inverse modulo $ n $, et le petit théorème de Fermat ainsi que le théorème d'Euler assurent que $ a^{\varphi(n)} \equiv 1 \pmod{n} $ : l'ensemble des exposants valides n'est donc jamais vide, et un minimum existe toujours.
C'est une conséquence directe du théorème de Lagrange : dans un groupe fini, l'ordre d'un élément divise l'ordre du groupe.
Or le groupe $ (\mathbb{Z}/n\mathbb{Z})^* $ compte exactement $ \varphi(n) $ éléments, où $ \varphi $ est l'indicatrice d'Euler.
Ainsi $ \operatorname{ord}_n(a) $ divise $ \varphi(n) $.
L'ordre divise aussi la valeur $ \lambda(n) $ de la fonction de Carmichael, qui est le plus petit exposant universel annulant tous les éléments du groupe.
Lorsque $ \operatorname{ord}_n(a) = \varphi(n) $, l'élément $ a $ parcourt à lui seul tout le groupe des inversibles : $ a $ est une racine primitive (ou générateur) modulo $ n $, et le groupe est cyclique.
Autrement dit, les puissances de $ a $ engendrent tous les inversibles, chacun exactement une fois par tour de cycle.
L'algorithme peut se résumer à :
fonction ordre_multiplicatif(a, n)
si pgcd(a, n) ≠ 1 → renvoyer "ordre non défini"
e ← φ(n) # via la factorisation de n
factoriser e = ∏ p_i^{e_i} # factorisation de φ(n)
pour chaque facteur premier p de e →
tant que e mod p = 0 et a^(e/p) ≡ 1 (mod n) :
e ← e / p
renvoyer e
Ou en code Python : def ordre_multiplicatif(a, n):
if math.gcd(a, n) != 1:
return None
e = phi(n)
for p in facteurs_premiers(e):
while e % p == 0 and pow(a, e // p, n) == 1:
e //= p
return e
Le logarithme discret est le problème inverse de l'exponentiation : étant donnés $ g $ et $ g^x \bmod p $, retrouver $ x $.
L'ordre multiplicatif est le garde-fou de plusieurs protocoles.
Pour RSA : si l'exposant de chiffrement partagait un petit ordre avec certains messages, des cycles courts apparaîtraient et rendraient le texte chiffré prévisible ; la sécurité suppose implicitement des ordres grands et mal connus.
Pour l'échange de clés Diffie-Hellman : la sécurité repose sur un générateur de grand ordre premier, choisir un sous-groupe de petit ordre permettrait de dérober des secrets.
Pour ElGamal et DSA : mêmes exigences, l'ordre du générateur doit être un grand premier, souvent un diviseur premier $ q $ de $ p - 1 $.
Globalement, une règle d'or : tout élément de petit ordre est une faille cryptographique.
dCode se réserve la propriété du code source pour "Ordre Multiplicatif". Tout algorithme pour "Ordre Multiplicatif", applet ou snippet ou script (convertisseur, solveur, chiffrement / déchiffrement, encodage / décodage, encryptage / décryptage, traducteur) ou toutes fonctions liées à "Ordre Multiplicatif" (calculer, convertir, résoudre, décrypter / encrypter, déchiffrer / chiffrer, décoder / encoder, traduire) codés en langage informatique (Python, Java, C#, PHP, Javascript, Matlab, etc.) ou toute base de données, ou accès API à "Ordre Multiplicatif" ou tout autre élément ne sont pas publics (sauf licence open source explicite). Idem avec le téléchargement pour un usage hors ligne sur PC, mobile, tablette, appli iPhone ou Android.
Rappel : dCode est une ressource éducative et pédagogique, accessible en ligne gratuitement et pour tous.
Le contenu de la page "Ordre Multiplicatif" ainsi que ses résultats peuvent être copiés et réutilisés librement, y compris à des fins commerciales, à condition de mentionner dCode.fr comme source (Licence de libre diffusion Creative Commons CC-BY).
L'export des résultats est gratuit et se fait simplement en cliquant sur les icônes d'export ⤓ (format .csv ou .txt) ou ⧉ copier-coller.
Pour citer dCode.fr sur un autre site Internet, utiliser le lien :
Dans un article scientifique ou un livre, la citation bibliographique recommandée est : Ordre Multiplicatif sur dCode.fr [site web en ligne], consulté le 02/11/2026,