Calculateur d'exponentiation modulaire

Calculez efficacement une grande puissance entière modulo un autre entier grâce à l'algorithme rapide par carrés et multiplications.

Calculer une puissance modulo m
Saisissez une base entière, un exposant positif ou nul et un module supérieur à un.

À propos de l'exponentiation modulaire

L'exponentiation modulaire calcule le reste obtenu lorsqu'une base entière est élevée à un exposant entier positif ou nul, puis divisée par un module positif. L'expression a^b mod m désigne l'unique reste entre 0 et m - 1 congru à a^b. Un calcul direct devient vite impraticable, car les puissances atteignent des tailles immenses, même si le reste final est petit. Ce calculateur évite de construire cet énorme entier intermédiaire. La méthode efficace est appelée exponentiation binaire, carrés successifs ou méthode par carrés et multiplications. On écrit l'exposant en binaire et on traite ses bits. La base est d'abord réduite modulo m. À chaque étape, le facteur courant est élevé au carré modulo m. Si le bit correspondant de l'exposant vaut un, ce facteur est multiplié au résultat, immédiatement réduit à nouveau modulo m. Chaque valeur intermédiaire étant réduite, les valeurs restent inférieures au carré du module. Cet algorithme nécessite un nombre d'étapes proportionnel au logarithme de l'exposant. Calculer une puissance d'exposant un milliard ne demande donc qu'environ trente étapes de mise au carré, plutôt qu'un milliard de multiplications répétées. Le décompte affiché distingue les carrés des multiplications sélectionnées correspondant aux bits de valeur un de l'exposant. Un exposant nul renvoie bien 1 mod m. L'arithmétique modulaire considère comme équivalents les nombres ayant le même reste. Par exemple, 17 et 5 sont congrus modulo 12, car ils donnent tous deux un reste de 5. Une base négative est également acceptée : elle est d'abord normalisée en un résidu non négatif. L'exposant doit être positif ou nul dans ce calculateur. Les exposants modulaires négatifs nécessitent un inverse multiplicatif modulaire, qui n'existe que si la base et le module sont premiers entre eux. Les puissances modulaires sont essentielles en théorie des nombres et en cryptographie moderne. Le chiffrement et les signatures RSA élèvent des messages à de grandes puissances modulo un nombre composé. L'échange de clés Diffie-Hellman et de nombreux systèmes à logarithme discret utilisent des puissances modulo un nombre premier. Cette opération intervient aussi dans les tests de primalité, les générateurs pseudo-aléatoires, les sommes de contrôle, les motifs cycliques et les concours de programmation. Les trois champs sont traités comme des entiers exacts de taille arbitraire, et non comme des nombres à virgule flottante. Les valeurs dépassant la limite habituelle des entiers sûrs de JavaScript conservent donc tous leurs chiffres. Le module doit être supérieur à un, sans virgule ni point décimal dans les saisies. Pour une vérification manuelle, réduisez d'abord la base, puis vérifiez de petits exposants par multiplications successives en prenant le reste à chaque étape.

Exemples d'exponentiation modulaire

Ces exemples vont d'une simple vérification arithmétique aux propriétés classiques de la théorie des nombres.

ExpressionRésultatContexte
3^4 mod 5181 divisé par 5 donne un reste de 1
7^10 mod 134Un exemple compact de type cryptographique
123^456 mod 789699L'exponentiation rapide évite de construire la puissance complète
2^16 mod 171Un exemple du petit théorème de Fermat

Comment calculer une puissance modulaire

  1. Saisissez la base entière, positive, nulle ou négative.
  2. Saisissez un exposant entier positif ou nul.
  3. Saisissez un module entier supérieur à un.
  4. Sélectionnez Calculer pour obtenir le reste exact et le nombre d'opérations de l'algorithme rapide.

Questions fréquentes sur l'exponentiation modulaire

Pourquoi ne pas calculer d'abord la puissance complète ?

La puissance complète peut comporter des millions de chiffres et gaspiller du temps et de la mémoire. Réduire après chaque multiplication donne le même reste final tout en gardant des entiers intermédiaires de taille raisonnable.

Qu'est-ce que l'algorithme par carrés et multiplications ?

Il parcourt les chiffres binaires de l'exposant et élève successivement au carré le résidu courant de la base. Seuls les facteurs correspondant aux bits de valeur un sont multipliés au résultat.

La base peut-elle être négative ?

Oui, le calculateur normalise une base négative en son résidu non négatif équivalent modulo m. Le résultat final est toujours compris entre zéro et m - 1.

Que se passe-t-il si l'exposant est nul ?

Toute base non nulle élevée à la puissance zéro vaut un, et le résultat modulaire est 1 mod m. Le calculateur applique la même convention lorsque la base et l'exposant sont tous deux nuls.

Ce calculateur gère-t-il des entiers de taille cryptographique ?

Il utilise une arithmétique entière de taille arbitraire, sans la limite de précision habituelle des nombres à virgule flottante. Les très grands exposants demandent davantage de travail, mais l'exponentiation binaire maintient un nombre d'étapes logarithmique.