# Ordre multiplicatif modulo n (ordre d'un élément)

Calcule l'ordre multiplicatif ord\_n(a) — le plus petit k ≥ 1 tel que a^k ≡ 1 (mod n) (exige gcd(a, n) = 1). L'algorithme part de φ(n) et retire les facteurs premiers en testant a^(ord/p) ; la sortie comprend la table des puissances de a, la preuve de minimalité (a^(k/p) ≢ 1 pour chaque premier p | k), le sous-groupe cyclique engendré , et signale si a est une racine primitive (ord = φ(n)) ou atteint l'ordre maximal (ord = λ(n)). Classiques : ord\_7(3) = 6 = φ(7), 3 est une racine primitive modulo 7 ; ord\_15(2) = 4 < φ(15) = 8.

> Page canonique: https://elysiatools.com/fr/tools/order-of-element-mod-n

- **Catégorie:** Math & Numbers

- **Mots-clés:** ordre multiplicatif, ordre d'un élément, racine primitive, sous-groupe cyclique, groupe multiplicatif, logarithme discret, théorie des nombres

## Présentation

Ce calculateur détermine l'ordre multiplicatif ord_n(a), c'est-à-dire le plus petit entier k ≥ 1 tel que a^k ≡ 1 (mod n), à condition que a et n soient premiers entre eux. Il génère la décomposition, calcule l'indicatrice d'Euler φ(n) et la fonction de Carmichael λ(n), affiche la table des puissances successives, fournit la preuve de minimalité et identifie les racines primitives.

## Entrées

- **Élément a** (text): The element whose order is computed; reduced mod n first (up to 10⁵¹²).
- **Module n** (text): Modulus, 2 ≤ n ≤ 10¹² (needs factorization of n and φ(n)).

## Quand l'utiliser

- Recherche d'un générateur ou d'une racine primitive pour un groupe multiplicatif (Z/nZ)*.
- Dimensionnement des paramètres de protocoles cryptographiques basés sur le logarithme discret ou RSA.
- Résolution d'exercices d'arithmétique modulaire et d'analyse de sous-groupes cycliques en théorie des nombres.

## Fonctionnement

- L'outil vérifie que pgcd(a, n) = 1 et réduit l'élément a modulo n.
- Il factorise l'indicatrice d'Euler φ(n) ou la fonction λ(n) pour tester les diviseurs premiers potentiels.
- Il calcule le plus petit exposant k satisfaisant a^k ≡ 1 (mod n) et vérifie que a^(k/p) ≢ 1 pour chaque facteur premier p de k.
- Il affiche la table des puissances, la liste des éléments du sous-groupe engendré et indique si a est une racine primitive.

## Cas d'usage

- Vérification de l'ordre d'une base dans le protocole d'échange de clés Diffie-Hellman.
- Détermination de la période de répétition des décimales d'une fraction ou d'un générateur congruentiel linéaire.
- Étude de la structure des sous-groupes cycliques dans l'enseignement des mathématiques supérieures.

## Questions fréquentes

### Quelle est la condition nécessaire pour que l'ordre multiplicatif existe ?

L'entier a et le module n doivent être premiers entre eux (pgcd(a, n) = 1) pour que a soit inversible modulo n.

### Qu'est-ce qu'une racine primitive modulo n ?

C'est un élément dont l'ordre multiplicatif est exactement égal à φ(n), engendrant ainsi la totalité des unités inversibles de (Z/nZ)*.

### Quelle est la limite pour la valeur du module n ?

Le module n peut aller jusqu'à 10¹² pour permettre une factorisation rapide de n et de φ(n).

### Quelle est la différence entre φ(n) et λ(n) ?

φ(n) est l'ordre total du groupe des unités, tandis que λ(n) (fonction de Carmichael) représente l'ordre maximal possible pour un élément modulo n.

### Comment est prouvée la minimalité de l'ordre k trouvé ?

L'outil vérifie que pour chaque facteur premier p divisant k, la quantité a^(k/p) n'est pas congrue à 1 modulo n.

## Outils associés

- [Calculateur de la fonction de Carmichael λ(n)](https://elysiatools.com/fr/tools/carmichael-function): Calcule la fonction de Carmichael λ(n) — l'exposant du groupe multiplicatif (Z/nZ)*, c'est-à-dire le plus petit k tel que a^k ≡ 1 (mod n) pour tout a premier avec n. Construite depuis la factorisation (λ(2)=1, λ(4)=2, λ(2^k)=2^(k−2) pour k ≥ 3, λ(p^k)=φ(p^k) pour les puissances impaires, puis PPCM), avec φ(n) en regard, l'existence d'une racine primitive et le critère de Korselt pour repérer les nombres de Carmichael. Classiques : λ(561) = 80 (561 est le plus petit nombre de Carmichael) et λ(8) = 2 < φ(8) = 4.
- [Théorème des restes chinois (système de congruences)](https://elysiatools.com/fr/tools/chinese-remainder-theorem): Résout le système x ≡ rᵢ (mod mᵢ) (2 à 20 congruences) par le théorème des restes chinois généralisé avec fusion par paires : modules premiers entre eux → module combiné égal au produit ; non premiers entre eux mais compatibles → PPCM ; système incompatible → absence de solution signalée clairement. Chaque congruence est vérifiée contre la solution finale. Classique : x ≡ 2 (mod 3), x ≡ 3 (mod 5), x ≡ 2 (mod 7) → x = 23 (mod 105).
- [Générateur de permutations / combinaisons / sous-ensembles (avec répétitions)](https://elysiatools.com/fr/tools/combinatorial-generation): Génère permutations, combinaisons et sous-ensembles d'un multiensemble avec dédoublonnage automatique en ordre lexicographique : les permutations suivent next_permutation avec comptage exact n!/Π(mᵢ!) ; les combinaisons donnent les k-sous-multiensembles distincts, comptés comme coefficient de x^k dans Π(1+x+…+x^mᵢ) (C(n,k) si tous les éléments sont distincts) ; les sous-ensembles énumèrent chaque sous-multiensemble avec comptage Π(mᵢ+1) (2ⁿ si tous distincts), ensemble vide inclus. Jusqu'à 12 éléments, affichage plafonné à 200 entrées mais comptage toujours exact ; le mode combinaisons exige 1 ≤ k ≤ n. Classiques : permutations de \[A, A, B\] → 3!/2! = 3 (AAB, ABA, BAA) ; sous-ensembles de \[A, A, B\] → (2+1)(1+1) = 6.
- [Calculateur de l'indicatrice d'Euler φ(n)](https://elysiatools.com/fr/tools/euler-totient-function): Calcule l'indicatrice d'Euler φ(n) — le nombre d'entiers de \[1, n\] premiers avec n. Factorise n par divisions d'essai puis évalue exactement φ(n) = n · Π(1 − 1/p) (n ≤ 10¹²), avec option pour lister les 60 premiers nombres premiers avec n et le rappel du théorème d'Euler a^φ(n) ≡ 1 (mod n). Classiques : φ(36) = 12 (36 = 2² × 3²) ; si n est premier, φ(n) = n − 1, p. ex. φ(97) = 96.
- [Convertisseur Fraction Décimal](https://elysiatools.com/fr/tools/fraction-decimal-converter): Convertir entre fractions et décimales avec support pour les nombres mixtes, fractions impropres et divers formats décimaux
- [Solveur de jeux à somme nulle (point selle / programmation linéaire)](https://elysiatools.com/fr/tools/game-theory-zero-sum): Résout les jeux à somme nulle 2–6 × 2–6 (la matrice appartient au joueur ligne, le maximisateur ; le joueur colonne paie) : d'abord le test de point selle (si le maximin des minima de lignes égale le minimax des maxima de colonnes, l'équilibre en stratégies pures existe et toutes les cellules selles sont listées) ; sinon la matrice est décalée pour que chaque entrée soit ≥ 1 et un simplexe monophasique (base d'écarts, règle de Bland) résout max Σz s.t. Bz ≤ 1 : le primal donne la stratégie mixte q du colonne et les prix duaux d'ombre sont exactement la solution y du joueur ligne ; la valeur est décalée en retour et x, q, v sont vérifiés numériquement (xᵀA ≥ v, Aq ≤ v) ainsi que l'égalité minimax. Classique : pile ou face \[\[1,-1\],\[-1,1\]\] → valeur 0 avec mélanges 0.5/0.5.
- [Calculateur de transformée de Laplace inverse (fractions partielles)](https://elysiatools.com/fr/tools/inverse-laplace-calculator): Calcule la transformée de Laplace inverse de F(s) = N(s)/D(s) (fraction propre, dénominateur de degré ≤ 6) : racines du dénominateur regroupées par multiplicité et paires conjuguées, décomposition en fractions partielles par résolution d'un système linéaire sur les coefficients polynomiaux, puis inversion terme à terme avec les paires standard (A/(s−r)→Ae^(rt), A/(s−r)^j→At^(j−1)e^(rt)/(j−1)!, (Bs+C)/((s−α)²+β²)→e^(αt)\[Bcos(βt)+…sin(βt)\]). Classiques : 1/(s²+3s+2) → e^(−t)−e^(−2t) ; (3s+5)/(s²+4) → 3cos(2t)+2,5sin(2t).
- [Calculateur de transformée de Laplace (table des paires)](https://elysiatools.com/fr/tools/laplace-transform-calculator): Obtient par table la transformée de Laplace F(s) = ∫₀^∞ e^(−st)f(t)dt : 14 paires standard (1, t, tⁿ, e^(at), tⁿe^(at), sin/cos(kt) et leurs décalages exponentiels, sinh/cosh, t·sin/t·cos, δ(t)), avec substitution des paramètres, région de convergence (p. ex. s > a), note de dérivation et évaluation numérique facultative en un point s (avec contrôle de convergence). Exemple : L{e^t} = 1/(s−1), s>1, F(2) = 1.

## Exemples

- [Exemples de Traitement d'Images Web Python](https://elysiatools.com/fr/samples/web-image-processing-python): Exemples de traitement d'images Web Python utilisant PIL/Pillow incluant la lecture, l'enregistrement, le redimensionnement et la conversion de format
- [Exemples de Traitement d'Images Android Java](https://elysiatools.com/fr/samples/android-image-processing-java): Exemples de traitement d'images Android Java incluant lecture/écriture, mise à l'échelle et conversion de format
- [Exemples de Traitement d'Images Android Kotlin](https://elysiatools.com/fr/samples/android-image-processing-kotlin): Exemples de traitement d'images Android Kotlin incluant lecture/écriture, mise à l'échelle et conversion de format
- [Exemples de Traitement d'Images Web Rust](https://elysiatools.com/fr/samples/web-image-processing-rust): Exemples de traitement d'images Web Rust incluant lecture/écriture, redimensionnement et conversion de format
