Télécharger le fichier pdf d’un mémoire de fin d’études
Algorithme asymétrique RSA
Histoire
Le brevet de cet algorithme appartient à la société américaine RSA Data Security, qui fait maintenant partie de Security Dynamics et aux Public Key Parteners, (PKP à Sunnyvale, Californie, Etats-Unis) qui possèdent les droits en général sur les algorithmes à clé publique. Le RSA est un algorithme à clé publique qui sert aussi bien à la cryptographie de documents, qu’à l’authentification. Grâce au fait qu’il était à clé publique, et au fait qu’il était très sûr, l’algorithme RSA est devenu un standard de cryptage dans le monde.
Fonctionnement
Cet algorithme est fondé sur l’utilisation d’une paire de clés composée d’une clé publique et d’une clé privée pour chiffrer des données confidentielles. La clé publique correspond à une clé qui est accessible par n’importe quelle personne souhaitant chiffrer des informations, la clé privée est quant à elle réservée à la personne ayant créé la paire de clés. Lorsque deux personnes, ou plus, souhaitent échanger des données confidentielles, une personne, nommée par convention A prend en charge la création de la paire de clés, envoie sa clé publique aux autres personnes B, C… qui peuvent alors chiffrer les données confidentielles à l’aide de celle-ci puis envoyer les données chiffrées à la personne ayant créé la paire de clés, A. Cette dernière peut alors déchiffrer les données confidentielles à l’aide de sa clé privée.
Le RSA repose sur le calcul de l’exponentiation modulaire.
Cryptage
Pour crypter un document auparavant transformé en un nombre m inférieur à n, il faut effectuer l’opération c= me mod n. c est ici le nombre n une fois crypté. La première opération peut être très longue à effectuer à la main, l’utilisation d’un ordinateur et d’un programme spécial est nécessaire à l’opération.
Décryptage
Pour décrypter un document c, il nous faut effectuer l’opération m=cd mod n. m sera le nombre décrypté qui ne restera plus qu’à retransformer en texte ou en une autre chose.
Signatures digitales avec le R.S.A.
Pour bien prouver qu’un document a été composé par son auteur, il suffira de crypter par exemple son nom, prénom et fonction ou n’importe quoi d’autre, avec la clé privée (en théorie connue de lui seul). Ainsi, quiconque qui voudra vérifier l’auteur de ce document, n’aura qu’à utiliser la clé publique pour le décryptage. Et si le décryptage fonctionne, cela veut bien dire que la signature a été « forgée » avec la clé privée.
La signature se fait de manière similaire, en inversant e et d, c’est-à-dire en chiffrant avec une clé privée et en déchiffrant avec la clef publique correspondante : s = m d * mod n et m = s e * mod n.
Sécurité
En fait, la sécurité de cet algorithme repose sur deux conjectures : casser le RSA nécessite la factorisation du nombre n et la factorisation est un problème difficile. Il n’existe pas d’algorithme ayant une complexité polynomiale en temps qui donne les facteurs premiers d’un nombre quelconque. Il est possible que l’une des deux conjectures soit fausse, voire que les deux le soient. Si c’est le cas, alors le RSA n’est pas sûr. Cela fait néanmoins maintenant plus de 20 ans que le RSA est cryptanalysé et celui-ci n’a pas encore été cassé, on peut donc raisonnablement le considérer comme un algorithme sûr. Cependant si une personne venait à trouver un moyen « rapide » de factoriser ce nombre n, tous les algorithmes de chiffrement fondés sur ce principe seraient remis en cause et rendus non sûrs, remettant en cause par la même occasion toutes les données chiffrées auparavant à l’aide de ces algorithmes.
En 2005, le plus grand nombre factorisé par les méthodes générales, était long de 663 bits. Les clés RSA sont habituellement de longueur comprise entre 1024 et 2048 bits. On présume donc que le RSA est sûr si la taille de la clé est suffisamment grande. On peut trouver la factorisation d’une clé de taille inférieure à 256 bits en quelques heures sur un ordinateur individuel, en utilisant des logiciels déjà librement disponibles. Pour une taille allant jusqu’à 512 bits, et depuis 1999, il faut faire travailler conjointement plusieurs centaines d’ordinateurs. Par sûreté, il est couramment recommandé que la taille des clés RSA soit au moins de 2048 bits.
En fait, on n’utilise jamais les algorithmes asymétriques pour chiffrer toutes les données, car ils sont trop longs à calculer : on chiffre les données avec un simple algorithme symétrique, et c’est cette clé qu’on chiffre avec un algorithme asymétrique comme le RSA.
Algorithme asymétrique Diffie-Hellman
Présentation
Inventé en 1976 par Whitfield Diffie et Martin Hellman, c’est le plus ancien cryptosystème à clé publique, et il est encore largement en usage. Il peut être utilisé pour établir des clés symétriques entre deux ou plusieurs protagonistes sans qu’ils aient à échanger auparavant de secret partagé par un canal sûr. De ce fait, il est toujours utilisé en conjonction avec un algorithme symétrique. Sa sécurité repose sur la difficulté de calculer des logarithmes discrets par rapport à la facilité de calculer les exponentielles. La clé publique correspond aux valeurs X et Y échangées par les deux protagonistes. La clé privée correspond aux valeurs x et y conservées par les deux protagonistes.
Propriétés
L’algorithme a deux aspects bien distincts :
• Générer un secret partagé sans information préalable sur l’interlocuteur.
• Aucune authentification réalisée. c. Sécurité :
L’attaque possible de cet algorithme repose sur l’espionnage des nombres échangés entre les protagonistes A et B, soient n, g, X et Y. Cette attaque est particulièrement évidente puisque l’échange de ces valeurs peut se faire en clair.
Mais, pour retrouver x et y indispensables pour recomposer la clé secrète, il faut effectuer le calcul d’un logarithme discret modulo n, ce qui est très coûteux actuellement. C’est sur ce principe que repose la sécurité de l’algorithme de Diffie-Hellman. Diffie-Hellman peut-être vulnérable à «l’attaque de l’homme au milieu» c’est-à-dire un attaquant se place entre les deux protagonistes et substitue systématiquement toutes les valeurs échangées par de nouvelles valeurs qu’il a lui-même générées. Les protagonistes croiraient ainsi avoir échangé une clé secrète alors qu’ils l’auraient en fait échangée avec l’attaquant. Ce dernier est alors en mesure de déchiffrer les communications qu’ils utiliseraient. La parade est de signer toutes les transactions à l’aide de clés asymétriques certifiées par une autorité reconnue par les protagonistes.
|
Table des matières
Introduction générale
Chapitre I : Notion générale sur la cryptographie
1.1. Historique
1.2. Cryptage et décryptage
1.3. La cryptographie à clé symétrique
1.4. La cryptographie à clé asymétrique
1.5. La Cryptographie Hybride
1.6. Clés
1.7. Implémentation de la cryptographie dans le modèle OSI
1.8. La cryptanalyse
1.9. Attaques des fonctions de chiffrement
Chapitre II : Hachage de données : PGP
2.1. Algorithmes symétrique IDEA
2.2. Algorithme asymétrique RSA
2.3. Algorithme asymétrique Diffie-Hellman
2.4. Algorithmes de signature
2.5. Fonctionnement de PGP
2.6. Les fonctionnalités de PGP…
Chapitre III : Configuration et Installation du logiciel
3.1. Configuration requise du logiciel
3.2. Installation du logiciel
3.3. Création des paires de clés
Chapitre IV : Manipulation et Utilisation du logiciel PGP
4.1. Utilisation de PGPtools
4.2. Utilisation de PGP keys
4.3. Importer et distribuer une clé publique
4.4. Utilisation de PGPtray
4.5. Utilisation de PGP à partir de l’Explorateur Windows
4.6. Ajout d’une ID photographique à une clé
4.7. Cryptage et signature d’un mail
4.8. Décryptage et vérification des messages électroniques
4.9. Crypter un fichier de son disque dur
4.10. Utilisation de PGP pour le décryptage des fichiers
4.11. Pour le décryptage et la vérification à l’aide de PGPtools
Conclusion
Annexe I : Rôle et Utilité de chaque couche du modèle OSI
Annexe II : Eléments mathématiques pour la cryptographie
Annexe III : Procédure de cryptage et de décryptage avec le RSA
Télécharger le rapport complet