Laboratoire 6 - Page web de Nicolas Bouffard

publicité
MATH 1241: Éléments de mathématiques discrètes
Nicolas Bouffard
Automne 2016
Laboratoire 6
À remettre au plus tard le 3 novembre 2016
Matière: Les nombres modulos, dernier chiffre d’un expression, critère de divisibilité, les
théorèmes d’Euler, Fermat et Wilson, l’équation ax = b en modulo et la cryptographie RSA
Question 1. (5 points chaque) Trouver le dernier chiffre de chacune des expressions suivantes :
a. 768212
b. 16 × (89353 + 212)
c. 75847 + 71963
d. 152129 × 4365259
Question 2. (5 points chaque) Trouver les 2 derniers chiffres de chacune des expressions suivantes :
a. 9787 + 343
b. 784(327129 )
c. 69152 + 80392
Question 3. (5 points chaque) Démontrer les critères de divisibilité suivant :
a. Un nombre naturel n est divisible par 4 si et seulement si les unités plus 2 fois les dizaines sont divisibles
par 4.
b. Un nombre naturel n est divisible par 4 si et seulement si le nombre formé des deux derniers chiffres
est divisible par 4.
c. Un nombre naturel n est divisible par 9 si et seulement si la somme de ses chiffres est divisible par 9.
Question 4. (5 points chaque) Dans chacun des cas, dites si le nombre est divisible par le nombre donné :
a. 762613 + 1 divisible par 7 ?
b. 86652 + 3218 divisible par 11 ?
Question 5. (5 points chaque) Trouver tous les entiers qui satisfont les congruences suivantes :
a. 27x = 24 (mod 109)
b. 67x = 76 (mod 223)
Question 6. (5 points chaque) Répondez aux questions suivantes :
a. Déterminer la valeur de φ(40).
b. Vérifier que le théorème d’Euler est valide lorsque a = 19 et n = 40. Rappel : Le théorème d’Euler
nous affirme que si (a, n) = 1, alors aφ(n) = 1 (mod n).
Question 7. (10 points) Trouver le plus petit entier positif qui est congru à 94! modulo 97. Indice : 97 est
un nombre premier.
Question 8. (5+0+5 points) Vous souhaiter transmettre un message crypter via une ligne qui n’est pas très
sécuritaire. Pour ce faire, vous demander à votre correspondant de vous envoyer un clé de cryptage (RSA).
Il vous envoie la clé (91, 1147)
a. Utiliser la clé que votre correspondant vous a envoyé pour crypter le mot MATH. Notez que seule votre
réponse pour la lettre M sera corrigé, mais vous êtes tout de même encourager à crypter le mot au
complet.
b. Une personne malhonnête intercepte votre conversation et cherche la clé de décryptage. Sera-t-il en
mesure de la trouver ? Pourquoi ? Aucun point n’est attribué à cette question, mais vous devriez tout
de même réfléchir à la réponse.
c. Quelle est la clé de décryptage ?
1
Solutions
Réponse 1 Rappellons nous que trouver le dernier chiffre d’un expression revient à trouver son résidu
modulo 10.
a. Remarquons premièrement que 768312 = 8312 (mod 10). On a donc :
81
=
8 (mod 10)
82
=
4 (mod 10)
8
4
=
6 (mod 10)
8
8
=
6 (mod 10)
16
=
6 (mod 10)
8
832
864
= 6 (mod 10)
= 6 (mod 10)
8128
=
6 (mod 10)
8256
=
6 (mod 10)
Maintenant, comme 312 = 256 + 32 + 16 + 8, on obtient donc :
768312 = 8312 = 8256 · 832 · 816 · 88 = 6 · 6 · 6 · 6 = 6 (mod 10)
Le dernier chiffre est donc un 6.
b. Remarquons premièrement que 16×(89353 +212) = 6×(353 +2) (mod 10). Nous allons donc commencer
par calculer 353 (mod 10). On a donc :
31
=
3 (mod 10)
2
=
9 (mod 10)
4
3
=
1 (mod 10)
38
=
1 (mod 10)
16
=
1 (mod 10)
32
=
1 (mod 10)
3
3
3
Maintenant, comme 53 = 32 + 16 + 4 + 1, on obtient donc :
353 = 332 · 316 · 34 · 31 = 1 · 1 · 1 · 3 = 3 (mod 10)
En finalement, on obtient :
16 × (89353 + 212) = 6 × (353 + 2) (mod 10) = 6 × (3 + 2) = 6 × 5 = 0 (mod 10)
Le dernier chiffre est donc un 0.
c. Remarquons premièrement que 75847 + 71963 = 847 + 963 (mod 10). Nous allons donc calculer chaque
terme séparément.
81
=
8 (mod 10)
2
=
4 (mod 10)
4
=
6 (mod 10)
8
8
=
6 (mod 10)
816
=
6 (mod 10)
32
=
6 (mod 10)
8
8
8
2
Comme 47 = 32 + 8 + 4 + 2 + 1, on a donc :
847 = 832 · 88 · 84 · 82 · 81 = 6 · 6 · 6 · 4 · 8 = 2 (mod 10)
91
=
9 (mod 10)
2
=
1 (mod 10)
4
9
=
1 (mod 10)
98
=
1 (mod 10)
16
=
1 (mod 10)
32
=
1 (mod 10)
9
9
9
Comme 63 = 32 + 16 + 8 + 4 + 2 + 1, on a donc :
963 = 932 · 916 · 98 · 94 · 92 · 91 = 9 (mod 10)
Ce qui nous donne finalement : 75847 + 71963 = 847 + 963 = 2 + 9 = 1 (mod 10)
d. Premièrement, remarquons que 152129 × 4365259 = 2129 × 5259 (mod 10). On a donc :
21
=
2 (mod 10)
22
=
4 (mod 10)
4
=
6 (mod 10)
8
2
=
6 (mod 10)
16
=
6 (mod 10)
232
=
6 (mod 10)
64
=
6 (mod 10)
128
=
6 (mod 10)
2
2
2
2
Ce qui nous donne 2129 = 2128 · 21 = 6 · 2 = 2 (mod 10). De plus, on a :
51
=
5 (mod 10)
52
=
5 (mod 10)
4
=
5 (mod 10)
8
5
=
5 (mod 10)
516
=
5 (mod 10)
5
32
=
5 (mod 10)
5
64
=
5 (mod 10)
128
=
5 (mod 10)
5256
=
5 (mod 10)
5
5
Ce qui nous donne 5259 = 5256 · 54 = 5 · 5 = 5 (mod 10). Finalement, en combinant ces deux résultats,
on obtient :
152129 × 4365259 = 2129 × 5259 = 2 × 5 = 0 (mod 10)
Le dernier chiffre est donc un 0. Remarquons qu’ici on aurait pu faire beaucoup plus simple en réalisant
que :
152129 × 4365259 = 152128 × 4365258 × 2 × 5 = 152128 × 4365258 × 10
Donc comme on obtient un nombre multiplié par 10, le dernier chiffre doit obligatoirement être un 0.
Les modulos n’étaient donc pas nécessaire pour ce problème.
3
Réponse 2 Pour trouver les deux derniers chiffres de l’expression, on doit trouver le résidu modulo 100.
a. Commençons par calculer les différentes puissances de 3 :
31
=
3 (mod 100)
3
2
=
9 (mod 100)
3
4
=
81 (mod 100)
38
=
61 (mod 100)
16
=
21 (mod 100)
32
= 41 (mod 100)
= 81 (mod 100)
3
3
364
On obtient donc que :
343 = 332 · 38 · 32 · 31 = 41 · 61 · 9 · 3 = 27 (mod 100)
Maintenant, pour calculer 9787 , remarquons que 97 = −3 (mod 100), ce qui signifie que nous pouvons
réutiliser ce que nous avons déjà calculer. On a donc :
9787 = (−3)87 = −(3)87 = −364 · 316 · 34 · 32 · 31 = −81 · 21 · 81 · 9 · 3 = −87 = 13 (mod 100)
Ce qui nous donne finalement :
9787 + 343 = 13 + 27 = 40 (mod 100)
Les deux derniers chiffres sont donc 40.
b. Premièrement, remarquons 784(327129 ) = 84(27)129 (mod 100). On a donc :
271
=
27 (mod 100)
2
=
29 (mod 100)
4
27
=
41 (mod 100)
278
=
81 (mod 100)
27
16
=
61 (mod 100)
27
32
=
21 (mod 100)
27
64
=
41 (mod 100)
27128
=
81 (mod 100)
27
Ce qui nous donne 27129 = 27128 · 271 = 81 · 27 = 87 (mod 100), et finalement 784(327129 ) = 84(87) =
08 (mod 100). Les deux derniers chiffres sont donc 08.
c. Premièrement, remarquons que 69152 + 80392 = 9152 + 392 (mod 100).
911
=
91 (mod 100)
91
2
=
81 (mod 100)
91
4
=
61 (mod 100)
918
=
21 (mod 100)
91
16
=
41 (mod 100)
91
32
=
81 (mod 100)
Ce qui nous donne : 9152 = 9132 · 9116 · 914 = 81 · 41 · 61 = 81 (mod 100). Maintenant, on refait la
4
même chose avec les puissance de 3 :
31
=
3 (mod 100)
3
2
=
9 (mod 100)
3
4
=
81 (mod 100)
3
8
=
61 (mod 100)
316
=
21 (mod 100)
3
32
=
41 (mod 100)
3
64
=
81 (mod 100)
Ce qui nous donne 392 = 364 · 316 · 38 · 34 = 81 · 21 · 61 · 81 = 41 (mod 100). Finalement, en combinant
les deux résultats que nous avons obtenu, on obtient donc :
69152 + 80392 = 9152 + 392 = 81 + 41 = 22 (mod 100)
Les deux derniers chiffres sont donc 22.
Réponse 3
a. Si n est un nombre naturel, alors on peut écrire n sous la forme :
n = (an × 10n ) + ... + (a2 × 102 ) + (a1 × 10) + a0
avec 0 ≤ ai ≤ 9 pour tout i. On a donc décomposer le nombre chiffre par chiffre. En prenant l’équation
modulo 4, on obtient donc :
n = (an × 10n ) + ... + (a2 × 102 ) + (a1 × 10) + a0 (mod 4)
= (an × 0) + ... + (a2 × 0) + (a1 × 2) + a0 (mod 4)
= 2a1 + a0 (mod 4)
Donc un nombre est divisible par 4 si et seulement si les unités plus deux fois les dizaines est divisible
par 4.
b. Si n est un nombre naturel, alors on peut écrire n sous la forme :
n = (a × 100) + b,
0 ≤ b ≤ 99
Dans ce cas, le b représente les deux derniers chiffres. En considérant l’équation modulo 4, on obtient
donc :
n
=
(a × 100) + b (mod 4)
=
(a × 0) + b (mod 4)
= b (mod 4)
Donc un nombre naturel est divisible par 4 si et seulement si le nombre fermé des deux derniers chiffres
est divisible par 4.
c. Si n est un nombre naturel, alors on peut écrire n sous la forme :
n = (an × 10n ) + ... + (a2 × 102 ) + (a1 × 10) + a0
avec 0 ≤ ai ≤ 9 pour tout i. On a donc décomposer le nombre chiffre par chiffre. En prenant l’équation
modulo 9, on obtient donc :
n=
(an × 10n ) + ... + (a2 × 102 ) + (a1 × 10) + a0 (mod 9)
= (an × 1n ) + ... + (a2 × 12 ) + (a1 × 1) + a0 (mod 9)
= an + ... + a2 + a1 + a0 (mod 9)
Donc un nombre est divisible par 9 si et seulement si la somme de ses chiffres est divisible par 9.
5
Réponse 4
a. Il s’agit de remarquez que 762613 + 1 = (−1)613 + 1 = −1 + 1 = 0 (mod 7). Le nombre est donc divisible
par 7.
b. Premièrement remarquons que 86652 + 3218 = 852 + (−1)18 (mod 11). On a donc :
81
=
8 (mod 11)
82
=
9 (mod 11)
4
=
4 (mod 11)
8
8
=
5 (mod 11)
816
=
3 (mod 11)
32
=
9 (mod 11)
8
8
Ce qui nous donne 852 = 832 · 816 · 84 = 9 · 3 · 4 = 9 (mod 11). On obtient donc :
86652 + 3218 = 852 + (−1)18 = 9 + 1 = 10 (mod 11)
Comme le reste de la division est 10, le nombre n’est pas divisible par 11.
Réponse 5
a. On commence par trouver une solution entière à l’équation 27x + 109y = (27, 109). Pour ce faire, on
commence par appliquer l’algorithme d’Euclide pour trouver (27, 109). On a donc :
109
=
4(27) + 1
27
=
27(1) + 0
On obtient donc que (27, 109) = 1. De plus, il est facile d’identifier un x et y qui satisfait l’équation.
27(−4) + 109(1) = 1
Maintenant, en multipliant cette équation par 24, on obtient :
27(−96) + 109(24) = 24
Puis on simplifie le tout modulo 109, ce qui nous donne :
⇒
27(−96) = 24 (mod 109)
x = −96 = 13 (mod 109)
L’unique solution modulo 109 est donc 13, ce qui nous permet d’affirmer que l’ensemble des entiers qui
satisfont l’égalité est donné par :
{13 + 109k : k ∈ Z}
b. On commence par trouver une solution entière à l’équation 67x + 223y = (67, 223). Pour ce faire, on
commence par appliquer l’algorithme d’Euclide pour trouver le PGCD. On a donc :
223 = 3(67) + 22
67 = 3(22) + 1
22
=
22(1) + 0
Le PGCD est donc 1. Maintenant nous allons chercher les valeurs de x et y. On a donc :
1
=
67 − 3(22)
=
67 − 3[223 − 3(67)]
=
67 − 3(223) + 9(67)
=
10(67) − 3(223)
=
67(10) + 223(−3)
6
On a donc l’équation
67(10) + 223(−3) = 1
En multipliant cette équation par 76, ceci nous permet d’obtenir :
67(760) + 223(−228) = 76
Maintenant, on évalue le tout modulo 223, ce qui nous permet d’obtenir :
67(760) = 76 (mod 223)
Ce qui nous permet d’obtenir :
x = 760 = 91 (mod 223)
L’unique solution modulo 223 est donc 91. L’ensemble des entiers qui satisfont l’égalité est donc :
{91 + 223k : k ∈ Z}
Réponse 6
a. Pour calculer φ(40), il faut compter le nombre de nombre copremier avec 40 et qui sont entre 1 et 39.
Comme 40 = 23 · 5, pour ce faire, il suffit d’énumérer tout les entiers entre 1 et 39, et d’éliminer ceux
qui sont divisible par 2 ou 5.
1
11
21
31
2
12
22
32
3
13
23
33
4
14
24
34
5
15
25
35
6
16
26
36
7
17
27
37
8
18
28
38
9
19
29
39
10
20
30
Il nous reste donc 16 nombre qui n’ont pas été éliminé, ce qui nous permet d’affirmer que φ(40) = 16.
b. Maintenant, pour vérifier le théorème d’Euler lorsque a = 19 et n = 40, on doit donc calculer
19φ(40) (mod 40). On a donc :
191
=
19 (mod 40)
2
=
361 = 1 (mod 40)
194
=
1 (mod 40)
8
=
1 (mod 40)
16
=
1 (mod 40)
19
19
19
Ce qui confirme que 19φ(40) = 1 (mod 40). Le théorème d’Euler est donc satisfait dans ce cas.
Réponse 7 Il s’agit d’une application du théorème de Wilson. Comme 97 est un nombre premier, on a :
(97 − 1)! = 96! = −1 (mod 97)
Maintenant, si on pose x = 94!, on obtient :
96! = 94!(95)(96) = 95(96)x = 9120x = 2x = −1 = 96 (mod 97)
Comme (2, 97) = 1, on peut simplifier cette dernière équation par 2, ce qui nous donne :
x = 94! = 48 (mod 97)
Réponse 8
7
a. Comme M correspondant au nombre 13, nous devons calculer 1391 (mod 1147). Pour ce faire, on a :
131
=
13 (mod 1147)
2
=
169 (mod 1147)
4
13
=
1033 (mod 1147)
138
=
379 (mod 1147)
16
=
266 (mod 1147)
32
=
789 (mod 1147)
64
=
847 (mod 1147)
13
13
13
13
Ce qui nous permet d’obtenir 1391 = 1364 ·1316 ·138 ·132 ·131 = 847·266·379·169·13 = 912 (mod 1147).
Donc la valeur crypter de la lettre M est 912. Si vous avez essayer de crypter les autres lettres, vous
devriez avoir obtenu respectivement 1, 609, 473.
b. La cryptographie RSA repose sur la difficulté de factoriser des nombres. Pour être sécuritaire, les
nombres premiers choisis doivent donc être le plus grand possible. Dans notre cas, on a n = 1147 qui
n’est pas très grand. Il sera donc possible de le factoriser sans trop de difficulté.
c. On sait que n = 1147. Pour trouver p et q, il suffit donc de factoriser 1147. On obtient donc : p = 31 et
q = 37. À partir de ces deux nombres, on peut maintenant facilement trouver φ = (31 − 1)(37 − 1) =
1080. Comme a = 91, il ne nous reste plus qu’à trouver un b tel que ab = 1 (mod φ). Pour ce faire, on
doit trouver des entiers qui satisfont l’équation suivante :
91b + 1080x = 1
En applicant l’algorithme d’Euclide, on obtient :
1080
=
11(91) + 79
91
=
1(79) + 12
79
=
6(12) + 7
12
=
1(7) + 5
7
5
=
=
1(5) + 2
2(2) + 1
Ce qui nous permet d’obtenir :
1
=
5 − 2(2)
=
5 − 2[7 − 5] = 5 − 2(7) + 2(5) = 3(5) − 2(7)
=
3[12 − 7] − 2(7) = 3(12) − 3(7) − 2(7) = 3(12) − 5(7)
=
3(12) − 5[79 − 6(12)] = 3(12) − 5(79) + 30(12) = 33(12) − 5(79)
=
33[91 − 79] − 5(79) = 33(91) − 33(79) − 5(79) = 33(91) − 38(79)
=
33(91) − 38[1080 − 11(91)] = 33(91) − 38(1080) + 418(91) = 451(91) − 38(1080)
On a donc obtenu 91(451) + 1080(−38) = 1. En réduisant le tout modulo 1080, on obtient donc :
91(451) = 1 (mod 1080)
La clé de décryptage est donc (451, 1147).
8
Téléchargement