Université de Versailles Saint-Quentin-En-Yvelines
Projet de Master 1 Informatique
Tests de primalité
Auteurs :
MARIN Sophie
BOURDONNAY Jean-Ronan
Encadrant :
ROJAT Antoine
Résumé du document
Les nombres premiers ont un rôle important en mathématiques et ont des propriétés très utiles dans diverses applications
particulièrement dans le domaine de la cryptographie. Nous allons évoquer différents tests en proposant une démonstration
mathématique afin de justifier leur validité, et une implémentation pour pouvoir comparer leurs temps d’exécution.
mai 2011
Sommaire
1 Introduction 1
2 Organisation 3
2.1 Les outils . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
2.2 Organisation du projet . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
2.2.1 La modélisation et implémentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
2.2.2 Génération des courbes à l’aide de GNUPlot . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
2.2.3 Remarques sur les tests et les tracés de courbes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
3 Algorithme de Wilson 9
3.1 Présentation de Wilson . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
3.2 Démonstration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
3.3 Algorithme . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
3.4 Pour conclure sur cet algorithme . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
4 Algorithme de Cribles 13
4.1 Crible d’Ératosthène . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
4.1.1 Présentation d’Eratosthène . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
4.1.2 Démonstration du théorème fondamental de l’arithmétique . . . . . . . . . . . . . . . . . . . . . . . . . . 13
4.1.3 Algorithmes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
4.1.4 Pour conclure sur cet algorithme . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
4.2 Crible de Sundaram . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
4.2.1 Démonstration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
4.2.2 Algorithmes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
4.2.3 Pour conclure sur cet algorithme . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
5 Algorithme de Fermat 20
5.1 Présentation de Fermat . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
5.2 Démonstrations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
5.3 Algorithme . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
5.4 Pour conclure sur cet algorithme . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
6 Rabin Miller 23
6.1 Présentation de Miller et Rabin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
6.2 Démonstration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
6.3 Algorithme . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
6.4 Pour conclure sur cet algorithme . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
7 AKS 28
7.1 Présentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
7.2 Résultats préliminaires et définitions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
7.2.1 Définitions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
7.2.2 Théorèmes admis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
7.2.3 Théorème démontrés . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
7.3 Démonstration de la validité de l’algorithme . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
7.3.1 Encadrement de r................................................. 29
7.3.2 Application de l’introspection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
7.3.3 Encadrement de H................................................. 30
7.3.4 Théorème fondamental d’AKS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
7.4 Algorithmes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32
7.4.1 Détection des puissances d’un nombre premier . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32
7.4.2 Construction de r................................................. 33
7.4.3 Algorithme AKS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33
7.5 Pour conclure sur cet algorithme . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34
8 Répartition des nombres premiers 35
9 Conclusion 37
9.1 Comparaison des tests . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37
9.1.1 Cribles . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37
9.1.2 Probabilistes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37
9.1.3 Déterministes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37
9.2 Programmation JAVA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38
9.3 Partie Théorique . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38
9.4 Perspectives . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38
10 Annexes 39
10.1 Complexité . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39
10.2 Démonstrations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39
Liste des théorèmes, définitions et preuves 47
Liste des images 48
Liste des tableaux 49
Liste des algorithmes 50
Liste des programmes 51
Références bibliographiques 52
Tests de primalité 1 INTRODUCTION
1 Introduction
Un nombre premier est un entier qui admet deux diviseurs entiers, distincts, positifs
Les nombres premiers ont un rôle important en mathématiques et ont des propriétés très utiles dans diverses applications parti-
culièrement dans le domaine de la cryptographie.
Il est utile de connaître le cardinal de l’ensemble des nombres premiers d’une certaine taille afin de d’avoir un grand choix de
nombres pour éviter les attaques par recherche exhaustive. On démontrera, dans la dernière partie de ce rapport, l’encadrement
suivant : ln(2) x
ln(x)π(x)ex
ln(x)avec π(x)qui représente le cardinal de l’ensemble des nombre premier allant de 2 à x.
10
20
30
40
50
60
10 20 30 40 50 60 70 80 90 100
O~
i
~
j
x7−e·x
ln(x)
x7−π(x)
x7−ln(2) ·x
ln(x)
Figure 1: Représentation graphique ln(2) ·n
ln(n)π(n)e·n
ln(n)sur l’intervalle ]1,100]
Par exemple, l’agorithme RSA, qui est à clé publique, a besoin de deux nombre premiers pet qd’une taille assez grande. La clé
publique contient le produit p×q, il faut en aucun cas qu’on puisse trouver ces nombres en factorisant n. C’est pour cela plus
pet qsont grands, plus il y a des candidats possibles pour une factorisation de n.
On remarque que π(n)
ntend vers 0 en +, ce qui nous fait dire que plus nest grand, la densité est de plus en plus faible.
MARIN Sophie
BOURDONNAY Jean-Ronan
page 1 sur 52
1 / 57 100%
La catégorie de ce document est-elle correcte?
Merci pour votre participation!

Faire une suggestion

Avez-vous trouvé des erreurs dans linterface ou les textes ? Ou savez-vous comment améliorer linterface utilisateur de StudyLib ? Nhésitez pas à envoyer vos suggestions. Cest très important pour nous !