Télécharger le fichier pdf d’un mémoire de fin d’études
L’objectif de la cryptographie
Les types d’attaques (actives – passifs)
Le but de la cryptographie est de fournir des moyens pour lutter contre les attaques passives, qui consistent à prendre frauduleusement connaissance de données transmises ou stockées, et contre les attaques actives, qui consistent à modifier frauduleusement leur origine ou leur contenu. Ainsi, L’objectif fondamental de la cryptographie est de permettre à deux personnes de communiquer à travers d’un canal peu sûr (téléphone, réseau informatique ou autre) sans qu’un opposant puisse comprendre ce qui est échangé. [3][4]
Figure 1.01 : Représentations d’une attaque passive dans le réseau
Les attaques actives nécessitent une intervention dans la ligne de communication. Quelques exemples de ses attaques les plus connues peuvent être citées comme suit :
– Impersonnification : modification de l’identité de l’émetteur ou récepteur
– Altération des données : modification des contenus
– Destruction des messages
– Retardement de la transmission
– Répudiation des messages : L’émetteur nie d’avoir envoyé le message
Figure 1.02 : Représentation d’une attaque active
Les postulats C.A.I.N de sécurité associés à la cryptographie
Le postulat C.A.I.N (Confidentialité Authentification Intégrité et Non répudation ou encore Confidentiality Authentifiation Integrity and No-repudation) est l’un des services que la cryptographie doit mettre en valeur [2][5].
– La Confidentialité : Il s’agit de rendre l’information inintelligible à tous les opposants tant lors de sa conservation qu’au cours de son transfert par un canal de communication. La confidentialité peut se représenter également par un stockage de donné sécurisé.
Figure 1.03 : Problème de confidentialité avec un stockage sécurisé
– L’Authentification : Le contrôle d’accès et le contrôle d’identification.
• Il s’agit d’authentifier les utilisateurs de façon à limiter l’accès aux données, serveurs et ressources aux seules personnes autorisées (un mot de passe pour un disque dur, par exemple).
• L’identification : Le contrôle d’identification consiste à s’assurer que le destinataire est bien celui qui prétend être (authentification des partenaires) et d’obtenir une garantie que l’expéditeur a bien signé l’acte (authentification de l’origine des informations). Dans un réseau, la principale question consiste à assurer la provenance de message pour que personne ne doive contrefaire l’origine de donnée.
Figure 1.04 : Problème de l’authentification dans un réseau
– L’Intégrité des données : Le contrôle d’intégrité d’une donnée consiste à vérifier que cette donnée n’a pas été altérée, frauduleusement ou accidentellement. Le contenu doit arriver à la destination de façon intact et sans modification.
Figure 1.05 : Problème de de l’intégrité dans un réseau
– Le Non répudiation : Il s’agit de garantir l’authenticité de l’acte. L’expéditeur ne peut nier le dépôt d’information, le réceptionneur ne peut nier la remise d’information, ni l’un ni l’autre ne peut nier le contenu de cette information. Une signature ou un certificat permet à une personne de signer un document sans qu’elle puisse renier.
Figure 1.06 : Non répudiation en utilisant des signatures numériques
Domaines d’application de la cryptographie
La science du secret est aussi un domaine modulable selon les objectifs à atteindre, d’ailleurs pour Bruce Schneier [6], « Il existe deux types de cryptographie dans le monde : la cryptographie qui empêche votre petite sœur de lire vos fichiers, et la cryptographie qui empêche les principaux gouvernements de lire vos fichiers ».
Les différents types de cryptographie ou les systèmes de chiffrements
Historique
L’histoire de la cryptographie existe déjà depuis longtemps. Son utilisation se rapporte en Egypte il y a 4000 ans. Toutefois, pendant des siècles, les méthodes utilisées étaient restées souvent très primitives. De plus, sa mise en œuvre était limitée aux besoins de l’armée et de la diplomatie. La seconde guerre mondiale a joué un rôle très important dans l’amélioration des méthodes de chiffrement et de cryptanalyse, ainsi qu’une profonde influence sur le cours de celle-ci. 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 semble pas s’essouffler aujourd’hui, bien au contraire. Beaucoup de systèmes de chiffrement ont été imaginés pour se protéger contre la curiosité et la malveillance des ennemis depuis des siècles. On peut classer ces systèmes en trois grandes classes représentées sur la Figure 1.07 [7][8].
Définitions d’un système cryptographique
Un système cryptographique est un quintuple (Р, Ϲ, К, Ԑ, D) satisfaisant les conditions suivantes [3][7] :
1. Р est un ensemble fini de bloc de textes clairs possibles
2. Ϲ est un ensemble fini de bloc de textes chiffrés possibles
3. К est un ensemble fini de clés possibles
4. Pour tout K ϵ К, il y a une règle de chiffrement,ϵ Ԑ et une régle de déchiffrement correspondante ϵ . Chaque : Р → Ϲ : → sont des fonctions telles que ( ( )) = pour tout texte clair ϵ P.
La principale propriété est la quatrième. Elle précise que si un texte clair x est chiffré en utilisant , et si le texte chiffré y obtenu est déchiffré en utilisant , on retrouve le texte clair x original.
Le chiffrement classique
De l’antiquité à la renaissance, l’art de la cryptographie mise en œuvre, pour cacher la substance d’un texte, une combinaison plus ou moins élaborée de substitutions et de permutations [9] [10]. Dès l’origine, la cryptographie a été utilisée à des fins diplomatiques puis militaires. Historiquement, la substitution est le premier type de chiffrement utilisé. C’est un chiffrement dans lequel chaque caractère du texte en clair est remplacé par un autre caractère dans le texte chiffré.
Les techniques traditionnelles :
• En Egypte, 2000 ans avant notre ère un scrible avait gravé des hiéroglyphes transformés sur la pierre tombale de Khumhotep II pour rendre inintelligible la description de sa vie.
• Jules César dans la Guerre des Gaules décrit un procédé de substitution bien connu aujourd’hui : Il consiste à un chiffrement par décalage d’un nombre de rangs convenu la lettre « claire » dans l’alphabet usuel. Si la clé est 3, a est remplacé par d et b par e …
• A Sparte, au IVème siècle avant notre ère, les communications entre les chefs des armées et les commandants étaient chiffrées à l’aide d’une Scytale, un bâton sur lequel on enroule une lanière en spires jointives.
Figure 1.10 : Scytale
• En Crète, un disque de Phaïstos, datant de 1700 avant notre ère, comportant un texte chiffré sur les deux faces a été retrouvé. Ce texte n’est encore à ce jour décrypté de manière sûre.
Figure 1.11 : Disque de Phaïstos
Les techniques avancées
Les techniques reposent toujours sur la substitution et les permutations mais utilisent des bases mathématiques plus robustes. La plupart de ses cryptographies est inspirée de celle de la technique traditionnelle [11] [12]
Définition du modulo et modulus
Si a, b et m des entiers, et si m > 0, on écrit a ≡ b (mod m) ou a ≡ b [m] se lit a congru b modulo m. L’entier m est appelé modulus.
Supposons que l’on divise a et b par m. On obtient des quotients et des restes, ceux-ci étant compris entre 0 et m-1. Précisément, on a : = 1 +1 = 2 +2 0≤1≤ −1 0≤2≤ −1 Ainsi, il est facile de voir a ≡ b (mod m) ou a ≡ b [m] si et seulement si 1 = 2.
On représentera par a mod m (sans parenthèse) le reste dans la division de a par m. On a donc a ≡ b (mod m) si, et seulement, si a mod b = b mod m. Si on remplace a par a mod m, on dit que l’on réduit a modulo m.
Dans plusieurs langages de programmation, a mod m est défini comme l’entier congru à a et compris entre –m+1 et m-1 et de même signe que a. Il est cependant plus commode de définir le reste comme étant toujours positifs.
|
Table des matières
INTODUCTION GENERALE
CHAPITRE 1 GENERALITE SUR LA CRYPTOGRAPHIE
1.1 Notion et Définitions
1.2 L’objectif de la cryptographie
1.2.1 Les types d’attaques (actives – passifs)
1.2.2 Les postulats C.A.I.N de sécurité associés à la cryptographie
1.2.3 Domaines d’application de la cryptographie
1.3 Les différents types de cryptographie ou les systèmes de chiffrements
1.3.1 Historique
1.3.2 Définitions d’un système cryptographique
1.3.3 Le chiffrement classique
1.4 Les chiffrements modernes
1.4.1 Algorithme à clé secrète
1.4.2 Algorithme à clé publique
1.5 Les générateurs des nombres aléatoires
1.6 Les fonctions de hachage
1.6.1 Généralités
1.6.2 Construction de fonction de Hachage
1.6.3 Exemples de fonctions de Hachage
1.7 Signature numérique
1.7.2 Exemples de signature à clé asymétrique
1.7.3 Scellement ou signature à clé symétrique
1.8 Cas pratique des signatures :
1.9 Conclusion
CHAPITRE 2 ETUDE APPROFONDIE SUR LA CRYPTOGRAPHIE MODERNE
2.1 Cryptographie symétrique
2.1.2 Les chiffrements à flot
2.1.3 Les chiffrements par blocs
2.2 Le mode de chiffrement
2.2.1 ECB
2.2.2 CBC
2.2.3 CFB
2.2.4 OFB
2.3 Chiffrement à clé publique
2.3.2 RSA
2.3.3 Cryptosystème d’El Gamal
2.3.4 Cryptosystème PGP
2.3.5 Cryptosystème RABIN
2.3.6 Cryptosysème basé sur les codes d’erreurs
2.3.7 Cryptosystème Menezes-Vanstone
2.4 Conclusion
CHAPITRE 3 ORDINATEUR QUANTIQUE ET PROBLEME CALCULATOIRE
3.1 La loi de Moore – Génération d’ordinateur futur
3.2 Les C-Bits et Q-Bits
3.3 Espace d’Hilbert
3.4 Les circuits quantiques
3.4.1 Hadamard Gate
3.4.2 Pauli Gate
3.4.3 Square root of Not Gate
3.4.4 Phase shift Gate
3.4.5 SWAP Gate
3.4.6 Square root of swap Gate
3.4.7 Controlled Gate
3.4.8 Remarques
3.5 Algorithmes quantiques
3.5.1 QFT
3.5.2 Algorithmes de recherche quantique de Grover
3.5.3 Algorithme de Schor – Factorisation quantique
3.6 Initiation à la création d’un ordinateur quantique
3.6.1 Concept de base
3.6.2 Evolution actuelle des ordinateurs quantiques
3.6.3 Loi Rose
3.7 Les problèmes calculatoires touchés par les ordinateurs quantiques
3.8 Les différents calculs combinatoires post-quantiques
3.8.1 Latticed based cryptography
3.8.2 Multivariate cryptographie
3.8.3 SIDH (Supersingular Isogeny Diffie Hellman)
3.8.4 Code based et Hash based cryptography
3.9 Conclusion
CHAPITRE 4 IMPLEMENTATION D’UN ALGORITHME POST-QUANTIQUE
4.1 Etude approfondie de Mc-Eliece Cryptosystème
4.1.1 Généralités sur les codes correcteurs d’erreurs
4.1.2 Goppa Code
4.1.3 Première version de Mc-Eliece par Goppa Code
4.1.4 QC-MDPC code
4.1.5 Cryptosystème McEliece à base de graphe
4.2 Cryptographie Salsa20-Poly1305
4.2.1 PKDF2
4.2.2 Salsa20
4.2.3 Poly1305
4.3 Etude pratique d’un cryptosystème q uantique
4.4 Conclusion
CONCLUSION GENERALE
ANNEXE
A1 Algorithme de décodage de Patterson
A2 Certaines classes de complexité algorithmique
BIBLIOGRAPHIE
FICHE DE RENSEIGNEMENTS
Télécharger le rapport complet