Arithmétique modulaire

Guide

La première partie de ce document est une introduction de l'anneau ZZ/ nZZ à partir des congruences.
La deuxième partie met l'accent sur quelques résolutions de problèmes où l'utilisation des congruences est fondamentale ou simplement pratique. Ce document n'a aucune prétention à être complet ni même achevé. On espère qu'il peut être utile ainsi.

Définition et opérations algébriques

Définition

Une classe de congruence modulo n est un sous-ensemble de ZZ de la forme
a+n={a+nx,x}
avec a un entier. L'ensemble des classes de congruences modulo n est noté /n. On note aussi
a+nZZ = a mod n
Un entier b est appelé un représentant de la classe amodn si b et a sont congrus modulo n.


Exemple :

On choisit en général les représentants entre 0 et n1, ce qui est toujours possible.
Le reste de la division euclidienne de a par n est bien un représentant de a mod n qui est compris entre 0 et n1.

Mais il est quelquefois commode de prendre les représentants entre 12(n1) et 12(n1) et même de les prendre quelconques.
Exercice : Classes


Exemple pour plus tard : Il est quand même plus facile de calculer la puissance k-ième de la classe 158 mod 159 en utilisant le représentant de cette classe qu'est -1. Ainsi :

158 k=(1) k mod 159

158 4390=1 mod 159

Opérations

On définit les opérations algébriques d'addition, soustraction, multiplication par
(amodn)+(bmodn)=(a+bmodn)
(amodn)(bmodn)=(abmodn)
(amodn)×(bmodn)=(a×bmodn).

Mais nous écrirons souvent a+b mod n, par exemple

15 + 3 mod 31 = 18 mod 31 , 15 times 3 mod 31 = 14 mod 31
et même
15 + 3 equiv 18 mod 31 , 15 times 3 equiv 14 mod 31 .
On peut voir ici quelques tables d' addition ou de multiplication.
Théorème : ZZ/ nZZ est un anneau commutatif.

Exercices : Opérations , Carrés Somme et produit

Table d'addition




Voici la table d'addition dans ZZ/5ZZ :
+ 0 1 2 3 4
0 0 1 2 3 4
1 1 2 3 4 0
2 2 3 4 0 1
3 3 4 0 1 2
4 4 0 1 2 3

Table de multiplication




Voici la table de multiplication dans ZZ/5ZZ :
times 0 1 2 3 4
0 0 0 0 0 0
1 0 1 2 3 4
2 0 2 4 1 3
3 0 3 1 4 2
4 0 4 3 2 1

Les zéros ont été mis en rouge. Pouvez-vous comparer le nombre de zéros avec le nombre de facteurs premiers de 5 ?

Inverses et diviseurs de zéro

Existence d'un inverse pour la multiplication

Théorème : Soit un entier a premier à n. Alors a est inversible dans ZZ/ nZZ , c'est-à-dire qu'il existe b tel que
ab equiv 1 mod n .
En fait, il s'agit d'une équivalence :
Théorème : Soit un entier a. Alors a est inversible dans /n si et seulement si a est premier à n.
La démonstration donne aussi un moyen de calcul de cet inverse.
L'entier a est premier avec n si et seulement s'il existe u et v dans ZZ tels que

ua+vn=1

Donc,

Exemple : Prenons n=7 :
a = 0 0 times equiv 1 mod 7
a = 1 1 times equiv 1 mod 7
a = 2 2 times equiv 1 mod 7
a = 3 3 times equiv 1 mod 7
a = 4 4 times equiv 1 mod 7
a = 5 5 times equiv 1 mod 7
a = 6 6 times equiv 1 mod 7

Exercice : Inverse : 1 2 3 Division : I II III

Exemples

Exemple: Prenons n=5 :
a=0 0×1mod5
a=1 1×1mod5
a=2 2×1mod5
a=3 3×1mod5
a=4 4×1mod5

Lorsque a n'a pas d'inverse, on voit qu'il est alors diviseur de zéro, c'est-à-dire que
a×b0modn pour un entier b.

Exemple : Pour n=12
a=0 0×0mod12 a=6 6×0mod12
a=1 1×1mod12 a=7 7×1mod12
a=2 2×0mod12 a=8 8×0mod12
a=3 3×0mod12 a=9 9×0mod12
a=4 4×0mod12 a=10 10×0mod12
a=5 5×1mod12 a=11 11×1mod12

Cas où n est premier

Théorème. Si n=p est un nombre premier, tout nombre non nul dans /p a un inverse.

Démonstration Comme p est premier, il est premier avec tout nombre qu'il ne divise pas, c'est-à-dire avec tout nombre dont la classe de congruence modulo p n'est pas nul. On applique alors le théorème.
Théorème : Soit un entier a. Alors a est inversible dans /n si et seulement si a est premier à n.

Exercices : Puissance Calcul de puissances : I II

Diviseurs de 0

Lorsque a n'a pas d'inverse, on voit qu'il est alors diviseur de zéro, c'est-à-dire que

a times b equiv 0 mod n pour un entier b.


Proposition : Dans ZZ/ nZZ, a est un diviseur de zéro si et seulement si a n'est pas premier avec n.

Démonstration.
  • Si a est diviseur de zéro, il n'est pas inversible donc d'après le théorème,
    Théorème : Soit un entier a. Alors a est inversible dans /n si et seulement si a est premier à n.
    il n'est pas premier avec n.
  • Si a n'est pas premier avec n, soit d le pgcd de a et de n. Soit b le quotient de n par d; on a

    a=da , n=db et ab=dab=na.

    Donc ab=0 mod n. La classe de b modulo n est non nulle, car b est un diviseur strict de n.
Exemple : Pour n=10
a = 0 0 times equiv 0 mod 10 a = 5 5 times equiv 0 mod 10
a = 1 1 times equiv 1 mod 10 a = 6 6 times equiv 1 mod 10
a = 2 2 times equiv 0 mod 10 a = 7 7 times equiv 0 mod 10
a = 3 3 times equiv 1 mod 10 a = 8 8 times equiv 1 mod 10
a = 4 4 times equiv 0 mod 10 a = 9 9 times equiv 0 mod 10

Exercice : Diviseurs de zéro 1 2 3

Résolution de quelques problèmes

Résolution de l'équation linéaire a x = b mod n

La question est de trouver tous les entiers x vérifiant l'équation

ax equiv b mod n


On peut adopter plusieurs points de vue selon qu'on est à l'aise ou non dans l'anneau ZZ/ nZZ.
Première étape :
L'équation ax equiv b mod n a une solution si et seulement si le pgcd d de a et de n divise b.

Dans ce cas, on divise l'équation par d (y compris n) et on est ramené au cas où a et n sont premiers entre eux.

Deuxième étape :


L'avantage sur la première méthode : on n'a pas besoin de demander l'existence de k tel que ... Il est caché dans le a mod n : on se souvient que a mod n signifie en fait a+n.
Exercices rapides : Equation linéaire modulaire

Exercice : Equation linéaire

Petit théorème de Fermat

Théorème Soit p un nombre premier impair. Alors pour tout entier n,
n p equiv n mod p.

On en déduit le théorème de Fermat :
Théorème : Soit p un nombre premier impair. Alors pour tout entier n premier à p,
n p1 equiv 1 mod p.

Théorème Soit p un nombre premier impair. Soit n un entier premier à p. Alors,

Par le petit théorème de Fermat, l'ensemble des entiers r strictement positifs vérifiant n r equiv 1 mod p est non vide car il contient p1. Il admet donc un plus petit élément. Notons-le r 0. Faisons la division euclidienne de p1 par r 0 : p1=qr 0+s avec s entier positif <r 0. On a
n p1 equiv (n r 0) qn s mod p
d'où
1 equiv n s mod p
Donc, par minimalité de r 0, s est soit plus grand que r 0, soit nul. Donc s est nul, et r 0 divise p1.

Résolution d'équations du type a^b=c mod n

Il faut quand même préciser qui est l'inconnue ! Cela peut être a ou b.
On prend n=p un nombre premier.
Exercice : Equation multiplicative

Exercice : Equation multiplicative II

Equation diophantienne linéaire à 3 inconnues

Soient a, b, c et d quatre entiers. On désire résoudre l'équation
ax+by+cz=d

en entiers. Les étapes de résolution peuvent être les suivantes :

Une équation diophantienne non linéaire sans solution

On désire montrer que l'équation x 2+y 3=7 n'a pas de solutions entières.
  1. Soit p un nombre premier impair. Montrer que si l'équation x 2+1 equiv 0 mod p a une solution, alors p est congru à 1 mod 4.
    Solution
    Ici, p est impair, donc p1 est divisible par 2.

    Si -1 equiv a 2 mod p, alors

    (1) 12(p1) equiv (a 2) 12(p1) equiv a p1 equiv 1 mod p.
    La dernière congruence est le petit théorème de Fermat.
    Théorème : Soit p un nombre premier impair. Alors pour tout entier n premier à p,
    n p1 equiv 1 mod p.
    Donc 12(p1) est pair, ce qui signifie que p equiv 1 mod 4.
  2. Supposons qu'il existe des entiers x et y tels que x 2+y 3=7.
    • Montrer que y est impair.
      Solution
      Si y est pair, x 2 equiv 7 mod 8, ce qui est impossible car tout carré est pair ou congru à 1 mod 8.
    • Montrer que le produit d'entiers congrus à 1 mod 4 est congru à 1 mod 4.
      Solution
      Si les nombres a 1,...,a n sont congrus à 1 mod 4, on a
      a 1...a n equiv 1 ... 1 = 1 mod 4.
    • Factoriser 8y 3 sous la forme (2y)B. Montrer qu'il existe un nombre premier p congru à 3 mod 4 divisant B. En déduire qu'il existe un nombre premier congru à 3 mod 4 et divisant x 2+1.
      Solution
      On a 8y 3=(2y)(4+2y+y 2), donc B=4+2y+y 2. Comme y est impair,
      y 2 equiv 1 mod 8, 2y equiv 2 mod 4,
      donc B est congru à 3 mod 4. D'après la question précédente, il existe un nombre premier p divisant B et congru à 3 mod 4. Comme il divise B, il divise aussi (2y)B=8y 3=x 2+1.
  3. Conclure.
    Solution
    Soit des entiers x et y tels que x 2+y 3=7. On a trouvé un nombre premier p divisant y 38 et congru à 3 mod 4. Pour ce nombre premier,
    x 2+1=8y 3 equiv 0 mod p.
    Donc 1 est un carré modulo p, ce qui est absurde, car p est congru à 3 mod 4.

Pour aller plus loin

Factorisation par la méthode de Pollard

Définition : Soit B un entier positif. Un entier n est dit B-friable si tous ses facteurs premiers sont inférieurs à B. On appelle B une base de friabilité.

Soit Q le ppcm de toutes les puissances de nombres premiers inférieurs ou égaux à B qui sont inférieurs à n. Pour qu'une puissance p r d'un nombre premier soit inférieure à B, il faut et il suffit que r soit inférieur à [ln(n)ln(q)] et on a donc

Q= qBq ln(n)/ln(q)

où le produit est pris sur tous les nombres premiers inférieurs à B.

Soit N un entier que l'on désire factoriser. On va chercher ses facteurs premiers p tels que p1 soit B-friable. Pour un tel facteur premier, p1 divise Q et par le théorème de Fermat,

Théorème : Soit p un nombre premier impair. Alors pour tout entier n premier à p,
n p1 equiv 1 mod p.
on a

a Q equiv 1 mod p

pour tout entier a premier à p et en particulier pour tout entier a premier à N (d'ailleurs si on tombe un entier a non premier avec N, on a déjà gagné).

L'algorithme consiste donc à

Des exemples

Des exemples


Prenons l'entier N= et B=30 comme base de friabilité. On part d'un entier a=. Voici le résultat des opérations :
aqsa q s mod Npgcd(a q s1,N)

document sur les classes de congruence.
: congruence,group_theory,modular_arithmetic, interactive mathematics, interactive math, server side interactivity

The most recent version

Cette page n'est pas dans son apparence habituelle parce que WIMS n'a pas pu reconnaître votre navigateur web.
Afin de tester le navigateur que vous utilisez, veuillez taper le mot wims ici : puis appuyez sur ``Entrer''.

Veuillez noter que les pages WIMS sont générées interactivement; elles ne sont pas des fichiers HTML ordinaires. Elles doivent être utilisées interactivement EN LIGNE. Il est inutile pour vous de les ramasser par un programme robot.