$\def\ZZ{{\mathbb Z}}$
# 1.
def tabmul(n):
print(' * |', end=' ')
for y in range(1,n):
print ("%2d "% (y % n),end=' ')
print()
print('-'*(4*n-1))
for x in range(1,n):
print('%2d |'%x, end= ' ')
for y in range(1,n):
print ("%2d "% ((x*y) % n),end=' ')
print()
tabmul(9)
* | 1 2 3 4 5 6 7 8 ----------------------------------- 1 | 1 2 3 4 5 6 7 8 2 | 2 4 6 8 1 3 5 7 3 | 3 6 0 3 6 0 3 6 4 | 4 8 3 7 2 6 1 5 5 | 5 1 6 2 7 3 8 4 6 | 6 3 0 6 3 0 6 3 7 | 7 5 3 1 8 6 4 2 8 | 8 7 6 5 4 3 2 1
La formule du cours donne $$\varphi(9)=9\left(1-\frac13\right)=9\times\frac23=6$$ ou encore $$\varphi(9)=\mu(9)1+\mu(3)3+\mu(1)9=0-3+9=6.$$
Pour $4$, on a $4^2=7$, $4^3=7\times 4=28=1$ donc 4 est d'ordre 3.
Pour $8$, $8^2=64=63+1=1$, il est d'ordre 2.
2,3 et 6 sont bien des diviseurs de 6, comme prédit par le théorème de Lagrange.
$1=1\times 1= 2\times 5=4\times 7=8\times 8$.
2 est d'ordre 6, donc le groupe $G_9$ est cyclique.
Calculer le pgcd $d$ de $a=561$ et $b=476$ par l'algorithme d'Euclide étendu, et trouver $u$ et $v$ tels que $d=au+bv$.
Le tableau des divisions itérées style CM2 donne
| 1 | 5 | 1 | 1 | 2
----------------------------------------------------------------
561 | 476 | 85 | 51 | 34 | 17
-----------------------------------------------------------------
85 | 51 | 34 | 17 | 0 |
Le dernier reste non nul est 17, qui est donc le pgcd.
On remonte le calcul : $17=51-34$, $34=85-51$, $85=561-476=a-b$, $51=476-5\times 85=b-5(a-b)=-5a+6b$, $34=(a-b)-(-5a+6b)=6a-7b$, $17=51-34=-5a+6b-(6a-7b)=-11a+13b$.
On va utiliser le système RSA avec $p=11$, $q=13$.
$n=11\times 13=143$. $11=\overline{1011}$, $13=\overline{1101}$, $143 =\overline{10001111}$.
On a bien $127<143$.
$\varphi(n)=(p-1)(q-1)=120$.
3 n'est pas inversible modulo 120, donc on ne peut pas.
L'exposant privé $d$ est l'inverse de $e$ modulo 120. On a $17\times 7=119\equiv -1\mod 120$ donc l'inverse est $-7=113$.
Si on prenait $e=11$, comme $11\times 11=121\equiv 1\mod 120$, l'exposant privé serait aussi égal à 11.
On a $5\times 7=35\equiv 0 \mod 5$ et 7 par définition, et $35\equiv 2\mod 3$, donc si on multiplie 35 par l'inverse de 2 modulo 3, qui est 2, on trouve 70 qui vaut bien 1 modulo 3 et 0 modulo 5 et 7.
Ensuite, $3\times 7=21\equiv 1\mod 5$ donc il n'y a rien d'autre à faire.
De même, $3\times 5=15\equiv 1\mod 7$, donc là non plus.
Une solution est donc $2\times 70+3\times 21+2\times 15 = 233$. La plus petite solution positive s'obtient en réduisant ce nombre modulo $3\times 5\times 7=105$, ce qui donne $x=23$.
$42\equiv -1\mod 43$ donc $42^{666}\mod 43=1$.
D'après Fermat, $2^{(2^{107})-2}\equiv 1\mod p$, donc $2^{(2^{107})}\equiv 2^2=4\mod p$, et $2^{2^{108}}=\left(2^{(2^{107})}\right)^2\equiv 4^2=16\mod p$.
Il faut montrer que $2^{70}+3^{70}\equiv 0\ [13]$, donc calculer $2^{70}$ et $3^{70}$ modulo 13. Comme 13 est premier, tout entier non divisible par 13 vérifie $a^{12}\equiv 1\ [13]$.
On a $70\equiv 10 \mod 12$ donc $2^{70}+3^{70}\equiv 2^{10}+3^{10} \mod 13$. On a $2^5=32\equiv 6$ donc $2^{10}\equiv 36 \equiv 10\mod 13$ et $3^3=27\equiv 1 \mod 13$ donc $3^{10}\equiv 3$. Maintenant, $10+3=13$ ...