PANORAMA SUR LA CRYPTOGRAPHIE MODERNE

Télécharger le fichier pdf d’un mémoire de fin d’études

Principaux systèmes de chiffrement

Historique

L’histoire de la cryptographie est déjà longue [5]. On rapport son utilisation en Egypte il y a 4000 ans. Toutefois, pendant des siècles, les méthodes utilisées étaient restées souvent très primitives. D’autre part, sa mise en œuvre était limitée aux besoins de l’armée et de la diplomatie.
Les méthode de chiffrement et de cryptanalyse ont connu un développement très important au cours de la seconde guerre mondiale et ont eu une profonde influence sur le cours de celle-ci.
Mais d’après [6] c’est la prolifération actuelle des systèmes de communication qui a fait sortir la cryptographie du domaine militaire. De plus, elle a diversifié la demande et provoqué le développement de nouvelles techniques cryptographiques. Elle est à l’origine d’un développement rapide depuis les dernières décennies, qui ne sembl pas s’essouffler aujourd’hui, bien au contraire.
Nombreux systèmes de chiffrement [3] [4] [6] différents ont été imaginés pour se protéger contre la curiosité et la malveillance des ennemis depuisdes siècles. On peut classer ces systèmes en trois grandes classes que nous allons représenter sur laFigure 1.01.

Systèmes classiques

Avant l’avènement des ordinateurs, l’opération de chiffrement était basée sur des caractères. L’idée était de transposer ou de remplacer les caractères d’un texte par d’autres [4] [6]. Les meilleurs systèmes répètent ces deux opérations debase plusieurs fois.

Substitution

Historiquement, c’est le premier type de chiffrement utilisé. C’est un chiffrement dans lequel chaque caractère du texte en clair est remplacé parun autre caractère dans le texte chiffré.

Transposition

Un chiffrement par transposition est un chiffrement dans lequel les caractères du texte en clair demeurent inchangés mais dont les positions respectives sont modifiées.
La substitution et la transposition peuvent être facilement cassées car elles ne cachent pas les fréquences des différents caractères du texte en aircl. D’ailleurs, les procédures de chiffrement et de déchiffrement doivent être gardées secrètes.

Systèmes modernes

Les systèmes modernes sont plus complexes [5], cependant la philosophie reste la même. La différence fondamentale est qu’ils exploitent la puissance des ordinateurs modernes en manipulant directement des bits, par opposition aux anciennes méthodes qui s’opèrent sur des caractères alphabétiques. Ce n’est donc qu’un changement de taille ou de représentation.
On distingue deux classes de chiffrement à base de clés [3] [7] [8]:

Chiffrement à clé privé

Le chiffrement à clé privé consiste à utiliser la même clé pour le chiffrement et le déchiffrement. Par analogie c’est le principe d’une serrure d’uneporte : tous les utilisateurs autorisés ont une clé identique. On distingue le système de chiffrement en continu et chiffrement par bloc.

Chiffrement à clé publique

Les problèmes de distribution des clés sont résoluspar la cryptographie à clé publique ou cryptographie asymétrique. Ce concept a été introduit par Whitfïeld Diffie et Martin Hellman [1] en 1975.
La cryptographie à clé publique est un procédé asymétrique utilisant une paire de clés asymétrique associé : une clé publique qui crypte des donnéest eune clé privée ou secrète correspondante pour le décryptage. Vous pouvez ainsi publier votre clépublique tout en conservant votre clé privée
secrète. Il est basé sur une méthode mathématiquearantissantg un encryptage facile et rapide, et un décryptage difficile. S’il fallait aussi une analogie, considérons que l’on crypte le message avec un cadenas (clé publique) que le détenteur de la clé privée peut ouvrir pour lire le cryptogramme. Il est impossible de retrouver la clé privée à partir de la clé publique.
Les principaux services offerts par la cryptographie moderne sont les suivantes [1] [3] [8]:
· Confidentialité : assure que les données concernéesne pourront être dévoilées qu’aux personnes autorisées.
· Intégrité : assure que les données ne seront pas téréesal (intentionnellement ou non) pendant leur transmission ou leur stockage.
· Authentification/Identification : Prouver l’origine d’une donnée ou l’identité d’une personne
· Signature proprement dite (undeniability ou non répudiation) : permet à une personne de prendre part à un contrat avec impossibilité de renier ensuite ses engagements.

Systèmes de chiffrement quantique

Les systèmes de chiffrement quantique sont des systèmes fondés sur la mécanique quantique et les propriétés particulières de la matière dans ce domaine. Ils reposent sur le principe d’incertitude d’Heisenberg [10], selon lequel la mesure d’un syst ème quantique perturbe ce système. Une oreille indiscrète sur un canal de transmission quantique engendre des perturbations inévitables qui alertent les utilisateurs légitimes. Ce systèmerésout ainsi les problèmes de distribution de clé.

Principe général du chiffrement

Le principe de chiffrement est précisé dans [3] [8]et [9]
Le texte en clair est notéM. Ce peut être une suite de bits, un fichier de texte, un enregistrement de voix numérisé, ou une image vidéo numérique, …
Le texte en clair peut être transmis ou stocké. Letexte chiffré est notéC, qui a la même taille que M, parfois plus grand.
La fonction de chiffrement, notéeE, transforme M en C.

Clé de chiffrement

Une clé est une valeur qui est utilisée avec un algorithme cryptographique pour produire un texte chiffré spécifique. La cryptographie moderne utilise souvent une clé, notéeK. Cette clé K peut prendre une valeur parmi un grand nombre de valeurs possibles. L’ensemble des valeurs possibles d’une clé est appelé espace des clés.

Chiffrement avec une clé

Dans ce type de chiffrement, les opérations de chifrement et de déchiffrement utilisent toutes les deux la cléK, aussi, les fonctions s’écrivent de la même manière suivante : Figure 1.05 : Chiffrement et déchiffrement avec une clé

Chiffrement avec deux clés

Certains algorithmes utilisent des clés différentespour le chiffrement et le déchiffrement. Dans ce cas, la clé de chiffrement, notée est différente de la clé de déchiffrement, notéek2 : Figure 1.06 : Chiffrement et déchiffrement avec deux clés

Algorithme cryptographique

Il y a deux types principaux d’algorithmes à base d e clés [1] [3] [8] : algorithme à clé secrète et algorithme à clé publique.

Algorithme à clé secrète

Les algorithmes à clé secrète sont des algorithmes où la clé de chiffrement peut être calculée à partir de la clé de déchiffrement ou vice versa. Dans la plupart des cas, la clé de chiffrement et la clé de déchiffrement sont identiques. Pour de telsalgorithmes, l’émetteur et le destinataire doivent se mettre d’accord sur une clé à utiliser avant d’échanger des messages. Cette clé doit être gardée secrète. La sécurité d’un algorithme à clé secrèterepose ainsi sur la clé
Les algorithmes à clé secrète peuvent être classésen deux catégories. Certains opèrent sur le message en clair un bit ou un octet à la fois. Ceux -ci sont appelés algorithmes de chiffrement en continu. D’autres opèrent sur le message en clair par groupes de bits de taille supérieure à un bit. Ces groupes de bits sont appelés blocs, et les algorithmes correspondants sont appelés algorithmes de chiffrement par blocs. La taille typique des blocs est de 64 bits.

Algorithme à clé publique

Les algorithmes à clé publique sont conçus de telle manière que la clé de chiffrement soit différente de la clé de déchiffrement. De plus, laclé de déchiffrement ne peut pas être calculée à partir de la clé de chiffrement. De tels algorithmes sont appelés algorithmes « à clé publique » parce que la clé de chiffrement peut être rendue publique : n’importe qui peut l’utiliser pour chiffrer un message mais seul celui qui possède la clé de déchiffrement peut déchiffrer le message chiffré résultant. Dans de tels systèmes, la clé dechiffrement est appelée clé publique et la clé de déchiffrement est appelée clé privée. La clé privéeestaussi appelée clé secrète.
Parfois, les messages seront chiffrés avec la clé rivéep et déchiffrés avec la clé publique ; une tell technique est utilisée pour les signatures numériques.

Choix d’algorithme

La cryptographie à clé publique et à clé secrète sont deux choses différentes ; elles résolvent des problèmes de types différents. La cryptographie à clé secrète est meilleure pour chiffrer un message car elle est infiniment plus rapide. La cryptographie à clé publique peut faire des choses que la cryptographie à clé secrète ne permet pas ; elle est adoptée pour la gestion des clés. Il y a deux raisons à cela :
· Les algorithmes à clé publique sont lents. Les algorithmes à clé secrète sont généralement au moins 1000 fois plus rapide que lesalgorithmes à clé publique.
· Les cryptosystèmes à clé publique sont vulnérablesaux attaques à texte en clair choisi. Si où M est un texte en clair parmi n textes en clair possibles, alors, il suffit à un cryptanalyste de chiffrer les n messages et de comparer les textes chiffrés résultants avec C (la clé de chiffrement est publique). Il ne pourra pas trouver la clé de déchiffrement de cette manière, mais il pourra déterminerM.

Cryptosystèmes hybrides

Dans la plupart des applications pratiques, la cryptographie à clé publique est utilisée pour protéger et distribuer les clés de session, et cesclés de session sont utilisées dans des algorithmesà clé secrète pour protéger les messages transmis. Cela est parfois appelé un cryptosystème hybride.

Le rapport de stage ou le pfe est un document d’analyse, de synthèse et d’évaluation de votre apprentissage, c’est pour cela clepfe.com propose le téléchargement des modèles complet de projet de fin d’étude, rapport de stage, mémoire, pfe, thèse, pour connaître la méthodologie à avoir et savoir comment construire les parties d’un projet de fin d’étude.

Table des matières

INTRODUCTION
CHAPITRE 1 THEORIE DES NOMBRES ET CRYPTOGRAPHIE
1.1 Elément de théorie des nombres
1.1.1 Entropie
1.1.2 Quantité d’information.
1.1.3 Système cryptographique et théorie de l’information
1.2 Elément mathématique pour la cryptographie
1.2.1 Les nombres premiers.
1.2.2 Congruence dans
1.2.3 Ensemble quotient |
1.2.3.1 Divisibilités dans
1.2.3.2 Plus petit commun multiple () et plus grand commun diviseur ( ).
1.2.4 Algorithme d’Euclide.
1.2.5 Algorithme d’Euclide étendu.
1.2.6 Exponentiation modulo n.
1.2.7 Théorème de Fermat et d’Euler.
1.2.8 Système de congruence : Théorème des restes chinois.
1.2.9 Décomposition d’un entier en facteurs premiers.
1.2.10 Résidu quadratique
1.2.11 Symbole de Legendre.
1.2.12 Logarithme discret
1.3 Principaux systèmes de chiffrement
1.3.1 Historique
1.3.2 Systèmes classiques
1.3.2.1 Substitution
1.3.2.2 Transposition
1.3.3 Systèmes modernes
1.3.3.1 Chiffrement à clé privé
1.3.3.2 Chiffrement à clé publique
1.3.4 Systèmes de chiffrement quantique
1.4 Principe général du chiffrement
1.5 Clé de chiffrement
1.5.1 Chiffrement avec une clé
1.5.2 Chiffrement avec deux clés
1.6 Algorithme cryptographique
1.6.1 Algorithme à clé secrète
1.6.2 Algorithme à clé publique
1.6.3 Choix d’algorithme
1.6.4 Cryptosystèmes hybrides
1.7 Générateurs aléatoires et pseudo-aléatoires
1.8 Fonctions de hachage
1.8.1 Fonctions de hachage à sens unique
1.8.1.1 MD5 (Message Digest 5)
1.8.1.2 SHA (Secure Hash Algorithm)
1.8.1.3 RIPE-MD
1.8.2 Intégrité et authent i f icat ion de l’origine des données
1.8.3 Signature numérique
1.8.3.1 DSS
1.8.3.2 RSA
1.8.4 Scellement
1.8.4.1 Keyed-Hash
1.8.4.2 HMAC
1.9 Protocoles cryptographiques
1.9.1 Protocoles à apport nul de connaissance
1.9.2 La notion de tiers de confiance
1.9.3 Echange de clé
1.9.3.1 Diffie-Hellman
1.9.3.2 Echange de clé et authentification mutuelle
1.9.3.3 Propriétés des protocoles d’échange de clé
1.9.3.4 Hiérarchie des clés
1.10 Conclusion
CHAPITRE 2 PANORAMA SUR LA CRYPTOGRAPHIE MODERNE
2.1 Les systèmes de chiffrement classique
2.1.1 Les techniques traditionnels
2.1.2 L’éveil cryptographique
2.1.3 L’arme cryptographique
2.1.4 Inconvénients
2.2 Le système de chiffrement moderne
2.2.1 Chiffrement à clé secrète
2.2.1.1 Communications à l’aide d’un cryptosystème à clé secrète
2.2.1.2 Système de chiffrement en continu
2.2.1.3 Système de chiffrement par bloc
2.2.1.4 Le DES et son successeur.
2.2.1.5 Le triple DES
2.2.1.6 L’IDEA
2.2.1.7 L’AES ou Rijndael.
2.2.1.8 Blowfish
2.2.2 Chiffrement à clé publique
2.2.2.1 RSA
2.2.2.2 Cryptosystème d’El Gamal
2.2.2.3 PGP
2.2.2.4 Le cryptosystème de RABIN
2.2.2.5 Cryptosystème basé sur les codes correcteurs
2.2.2.6 Cryptosystème utilisant les courbes elliptiques
2.2.2.7 La cryptographie quantique
2.3 Conclusion
CHAPITRE 3 PERFORMANCE DES CRYPTOSYSTEMES BASES SUR LES COURBES ELLIPTIQUES
3.1 Corps finis
3.2 Utilisation des courbes elliptiques en cryptographie
3.2.1 Définition d’une courbe elliptique
3.2.2 Loi de Groupe
3.2.3 Calcul du nombre de points d’une courbe elliptique sur un corps fini
3.2.4 Problème du logarithme discret
3.2.5 La multiplication scalaire
3.2.6 Problème du logarithme discret sur les courbes elliptiques
3.2.7 Protocole d’échange de clés de Diffiffiffiffie-Hellman
3.2.8 Chiffrement des messages
3.2.8.1 Cryptosystème de Menezes/Vanstone
3.2.8.2 Algorithme de Massey-Omura
3.2.8.3 Algorithme de El Gamal
3.2.9 Signature digitale
3.2.10 Taille des clés
3.3 Théorie de la complexité
3.4 Performances de ECC
3.4.1 Comparaison des niveaux de sécurité
3.4.2 Comparaison des temps de calcul
3.4.3 Normes existantes et en projet
3.4.4 Exemple d’implémentation sur un Blackberry
3.5 Conclusion
CHAPITRE 4 SIMULATION
4.1 Introduction
4.2 Algorithmes utilisés
4.2.1 Calcul de la cardinalité
4.2.1.1 Procédure à suivre
4.2.1.2 Algorithme
4.2.1.3 Résultats
4.2.2 Calcul du temps de chiffrement
4.2.2.1 Procédure à suivre
4.2.2.2 Hypothèses
4.2.2.3 Algorithmes
4.2.2.4 Résultat
4.3 Conclusion
CONCLUSION GENERALE
ANNEXE 1 ATTAQUES SUR LES CRYPTOSYSTEMES
ANNEXE 2 THEORIE DE LA COMPLEXITE
ANNEXE 3 CODES SOURCES
BIBLIOGRAPHIE
PAGE DE RENSEIGNEMENT
RESUME
ABSTRACT

Télécharger le rapport complet

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *