Il en résulte que la fonction f est inversible par la fonction g définie par
et
donc qu’elle est bijective.
D’autre part, pour inverser f, il faut connaître p et q (car on doit Bezouter k et (p-1)(q-1), ce
qui demande à factoriser N, ce qui est un travail redoutable dès que N est grand.
Pour fixer les idées, il est actuellement assez facile (avec un ordinateur standard) de fabriquer
des nombres premiers de 50 chiffres, mais il est impossible en un temps raisonnable de
décomposer en facteurs premiers un nombre de 100 chiffres (produit de deux précédents)
Pourquoi la fonction puissance modulo N perturbe-t-elle les nombres ? C’est parce que, dès
que le résultat dépasse N, on revient à 0. Ce n’est donc pas croissant, comme la fonction
puissance dans .
Exemple avec de petits nombres : prenons p = 7 et q = 11. Alors N = 77, et (p-1)(q-1) = 60.
On peut prendre k = 13.
Pour élever à la puissance 13, on décompose en somme de puissances de 2 : 13 = 8 + 4 +1.
Cherchons le code de 19 :
19 = 19 (mod 77)
192 = 361 = 4x77 + 53 = 53 (mod 77)
194 = 532 = 2809 = 36x77 + 37 = 37 (mod 77)
198 = 372 = 1369 = 17x77+60 = 60 (mod 77)
et 1913 = 198x194x19 = 60x37x19 = 42180 = 547x77 + 61 = 61 (mod 77)
Le code de 19 est donc 61.
Quelle est la réciproque de la puissance 13 ?
Il faut Euclider 60 et 13, puis Bezouter
60 = 4x13 + 8 1 = 5x(60 – 4x13) – 3x13 = 5x60 – 23x13
13 = 1x8 + 5 1 = 2x8 – 3x(13 – 8) = 5x8 – 3x13
8 = 1x5 + 3 1 = 2x(8 – 5) –5 = 2x8 – 3x5
5 = 1x3 + 2 1 = 3 – (5 – 3) = 2x3 - 5
3 = 1x2 + 1 1 = 3 – 2
L’inverse de 13 est donc –23, c’est à dire 37 (attention, il s’agit ici de congruences modulo
60). Vérifions : 13x37 = 481 = 8x60 + 1.
Il en résulte que pour revenir à 19, il faut élever 61 à la puissance 37 (maintenant, les calculs
se font modulo 77).
La vérification est laissée au lecteur.
3) Preuve du théorème chinois : considérons le système
, p et q premiers
entre eux.
On a donc
.
Bezoutons p et q : il existe u, v tels que up + vq = 1, donc a = aup + avq et b = bup + bvq.
On a donc aup + avq +
p = bup + bvq +
q ce qui équivaut à p( + (a – b)u) = q(
- (a – b)v)
Comme p et q sont premiers entre eux, on applique le théorème de Gauss : il existe un entier k
tel que + (a – b)u = kq (et
- (a – b)v = kp).
On a donc = kq -(a – b)u et x = a +
p = a + p(kq -(a – b)u) = a(1 – up) + bup + kpq, ce qui,
compte tenu du Bezout, donne x = avq + bup + kpq.
On a bien obtenu x unique modulo pq.
Il est facile de voir que la solution obtenue répond à la question.
C’est beau l’algèbre…