1. Nombres premiers
Exercice 1 — ⭐
- Les nombres , et sont-ils premiers ? Justifie.
- Quels nombres premiers suffit-il de tester pour savoir si un entier inférieur à est premier ?
- Modifie la fonction
cribledu cours pour qu’elle renvoie le nombre de nombres premiers inférieurs ou égaux à . Combien y en a-t-il jusqu’à ?
Voir le corrigé
- : non. : ; ni , , , , , ne le divisent : premier. : non.
- Les nombres premiers inférieurs à : , , , , , , , , , , .
return len([n for n in range(N + 1) if est_premier[n]]); on obtient nombres premiers jusqu’à .
2. Une infinité de nombres premiers
Exercice 2 — ⭐⭐
- Calcule et . Ces nombres sont-ils premiers ?
- Soit . Montre que n’a aucun diviseur premier inférieur ou égal à . En déduire une autre démonstration du fait qu’il existe des nombres premiers aussi grands qu’on veut.
- Montre que les entiers consécutifs , , …, ne sont pas premiers. Que peut-on en déduire sur les « trous » entre nombres premiers ?
Voir le corrigé
- et : tous deux premiers (on vérifie qu’aucun premier ne divise ).
- Si est premier, divise ; s’il divisait , il diviserait . Donc tout diviseur premier de (il en existe, car ) est strictement supérieur à . Pour tout , il existe donc un nombre premier .
- Pour , divise donc divise , et : ces entiers ne sont pas premiers. On peut ainsi construire des suites aussi longues qu’on veut d’entiers consécutifs non premiers : les écarts entre nombres premiers consécutifs peuvent être arbitrairement grands.
3. Décomposition en produit de facteurs premiers
Exercice 3 — ⭐⭐
- Décompose et en produits de facteurs premiers.
- En déduire leur PGCD et le nombre de diviseurs positifs de .
- Quel est le plus petit entier naturel par lequel il faut multiplier pour obtenir un carré parfait ?
Voir le corrigé
- ; .
- . Nombre de diviseurs de : .
- Dans un carré, tous les exposants sont pairs : il faut multiplier par ().
Exercice 4 — ⭐⭐⭐
- Montre, à l’aide du lemme d’Euclide, que si un nombre premier divise , alors divise .
- En déduire que est irrationnel : on suppose avec et premiers entre eux, et on montre que divise puis .
- Détermine les entiers naturels ayant exactement diviseurs positifs.
Voir le corrigé
- : par le lemme d’Euclide, ou , donc .
- donne : donc (question 1). Écrivons : , , donc . divise et , qui sont premiers entre eux : contradiction. est irrationnel.
- Si , le nombre de diviseurs est . est premier, donc et : avec premier (, , , …).
4. Petit théorème de Fermat
Exercice 5 — ⭐⭐
- En utilisant le petit théorème de Fermat, détermine le reste de dans la division par , puis par .
- Montre que pour tout entier , est divisible par .
- Démontre que pour tout entier , est divisible par (on appliquera Fermat avec , puis on montrera la divisibilité par et ).
Voir le corrigé
- Modulo : ; ; . Modulo : ; ; .
- est premier : , donc .
- Fermat avec : . contient le produit de trois entiers consécutifs , divisible par et par . , , sont premiers entre eux deux à deux : .
Exercice 6 — ⭐⭐⭐
Test de Fermat.
- Calcule modulo avec Python (
pow(2, 90, 91)). Que peut-on en conclure sur ? - Vérifie que . Ce résultat prouve-t-il que est premier ?
- Écris une fonction
temoin_fermat(n)qui renvoie le plus petit entier tel que , ouNones’il n’y en a pas parmi les premiers avec .
Voir le corrigé
pow(2, 90, 91)vaut : si était premier, on aurait . Donc n’est pas premier ().pow(3, 90, 91)vaut bien , mais cela ne prouve rien : le test de Fermat peut seulement démontrer qu’un nombre n’est pas premier.-
from math import gcd def temoin_fermat(n): for a in range(2, n): if gcd(a, n) == 1 and pow(a, n - 1, n) != 1: return a return None print(temoin_fermat(91), temoin_fermat(561)) # 2 None
Exercice 7 — ⭐⭐⭐⭐
Un RSA miniature. On choisit , , et (clé publique). Un message est un entier de à ; son chiffré est le reste de modulo .
- Chiffre le message .
- On pose . Trouve tel que (clé privée).
- On admet que . Déchiffre obtenu à la question 1 avec Python.
- Pourquoi la sécurité repose-t-elle sur la difficulté à décomposer en facteurs premiers ?
Voir le corrigé
- : .
- : .
pow(13, 27, 55)renvoie : on retrouve le message.- Connaître et permet de calculer , puis . Pour de très grands (plusieurs centaines de chiffres), on ne sait pas retrouver et en un temps raisonnable : reste secret même si et sont publics.