Principaux systèmes de chiffrement

L’histoire de la télécommunication a débuté par une simple question : « Comment peut on parler à Paris et se faire entendre à Rome ? ». Plus tard, cette question vient s’ajouter : « Comment peut-on parler à Paris et se faire entendre à Rome, à Londres, à Madrid et à n’importe quelles villes d’Europe ? ». Après des années de recherche, les ingénieurs découvrent différentes techniques pour résoudre ce problème. De nos jours, les interactions humaines se font de plus en plus à travers les réseaux de télécommunications et non face à face. L’Internet explose avec sa diversité de services, l’usage des courriers électroniques s’étend toujours plus. L’évolution rapide en matière de télécommunication engendre toujours un volume de donnée important et sensible à échanger. Dans toutes applications, la confidentialité et la sécurité sont des éléments loin d’être négligeables. Ainsi, la question précédente est-elle devenue actuellement : « Comment peut-on parler à Paris et se faire entendre à Rome mais que la communication ne puisse être écoutée à Londres, à Madrid ou à n’importe quelles autres villes d’Europe ? ».

GENERALITE SUR LA CRYPTOGRAPHIE

Historique

Depuis l’antiquité, l’homme avait intentionnellement cherché un moyen pour sécuriser un message. On avait déjà trouvé des traces de cryptographie (atbash) dans l’Ancien testament ainsi que dans l’Egypte antique. Quelques années avant notre ère jusqu’au vingtième siècle, de nombreux systèmes cryptographiques ont été inventés en particulier la fameuse machine Enigma. L’invention de l’ordinateur et le développement des réseaux informatiques ont apporté une explosion de recherche académique en cryptographie. Pourtant, la cryptographie par ordinateur était réservée aux militaires depuis la Seconde Guerre mondiale. De nos jours, la cryptographie à la pointe de l’art est pratiquement en dehors de la protection des murs des agences militaires. Le profane peut maintenant employer des techniques cryptographiques qui protègent contre des adversaires puissants.

Terminologie

Un message est appelé texte en clair. Le processus de transformation d’un message de manière à le rendre incompréhensible est appelé chiffrement (ou encryption). Le résultat de ce processus de chiffrement est appelé texte chiffré (ou encore cryptogramme). Le processus de reconstitution du texte en clair à partir du texte chiffré est appelé déchiffrement (ou décryptage). L’art ou la science de garder le secret de messages est appelé cryptographie pratiquée par des cryptographes. Les cryptanalystes pratiquent la cryptanalyse qui est l’art de décrypter des messages chiffrés. La branche des mathématiques qui traite de la cryptographie et de la cryptanalyse s’appelle la cryptologie et ses pratiquants sont appelés cryptologues. Un algorithme cryptographique est une fonction mathématique utilisée pour le chiffrement et le déchiffrement. Si la sécurité d’un algorithme est basée sur le fait que celui-ci est tenu secret, on parlera alors d’algorithme restreint. Un cryptosystème est composé d’un algorithme, tous les textes en clairs, textes chiffrés, et les clés possibles.

Principaux systèmes de chiffrement 

Nombreux systèmes de chiffrement différents ont été imaginés pour se protéger contre la curiosité et la malveillance des ennemis depuis des siècles.

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. Les meilleurs systèmes répètent ces deux opérations de base 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é par un 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 clair. 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, 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 : le chiffrement à clé publique et le chiffrement à clé secrète. Ce dernier type, qui est largement développé dans cet ouvrage, regroupe ceux opérant par bloc ou en continu.

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, 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ème résout ainsi les problèmes de distribution de clé.

Principe général du chiffrement 

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é. Le texte chiffré est noté C, qui a la même taille que M, parfois plus grand.

La fonction de chiffrement, notée E, transforme M en C.
E( M ) = C (1.01)

La fonction inverse, notée D, de déchiffrement transforme C en M :
D( C) = M (1.02)

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ée K. 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.

Algorithme cryptographique 

Il y a deux types principaux d’algorithmes à base de clés : 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 tels algorithmes, 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ète repose ainsi sur la clé : si celle-ci est dévoilée, alors n’importe qui peut chiffrer ou déchiffrer des messages dans ce cryptosystème. Les algorithmes à clé secrète peuvent être classés en 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, la clé 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é de chiffrement est appelée clé publique et la clé de déchiffrement est appelée clé privée. La clé privée est aussi appelée clé secrète. Parfois, les messages seront chiffrés avec la clé privée et déchiffrés avec la clé publique ; une telle 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 les algorithmes à clé publique.
• Les cryptosystèmes à clé publique sont vulnérables aux attaques à texte en clair choisi. Si ) C = E(M 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éteminer M.

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 ces clés de session sont utilisées dans des algorithmes à clé secrète pour protéger les messages transmis.

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 chatpfe.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 GENERALITE SUR LA CRYPTOGRAPHIE
1.1 Historique
1.2 Terminologie
1.3 Principaux systèmes de chiffrement
1.3.1 Systèmes classiques
1.3.1.1 Substitution
1.3.1.2 Transposition
1.3.2 Systèmes modernes
1.3.3 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 Sécurité des cryptosystèmes
1.7.1 Cryptanalyse
1.7.2 Les différents niveaux d’attaques
1.7.2.1 Attaque à texte chiffré
1.7.2.2 Attaque à « texte clair-texte chiffré »
1.7.2.3 Attaque à texte en clair choisi
1.7.2.4 Attaque exhaustive
1.7.3 Niveau de sécurité
1.7.3.1 Solidité de l’algorithme
1.7.3.2 Gestion de clé
1.8 Chiffrement logiciel et matériel
CHAPITRE 2 CHIFFREMENT A CLE SECRETE
2.1 Communications à l’aide d’un cryptosystème à clé secrète
2.2 Système de chiffrement par bloc
2.2.1 Principe de base
2.2.1.1 La confusion et la diffusion
2.2.1.2 Réseaux de Feistel
2.2.1.3 Table de substitution ou table-S
2.2.2 Mode de chiffrement
2.2.2.1 Mode ECB
2.2.2.2 Mode CBC
2.2.2.3 Mode CFB
2.2.2.4 Mode OFB
2.2.2.5 Choix du mode
2.3 Système de chiffrement en continu
2.3.1 Principe de base
2.3.2 Le RDRL
2.3.3 Générateur de codons
2.3.4 Mode de chiffrement
2.4 Comparaison des systèmes de chiffrement
2.5 Exemples d’algorithmes de chiffrement à clé secrète
2.5.1 RC4
2.5.2 Blowfish
2.5.3 IDEA
CHAPITRE 3 EXEMPLES D’APPLICATION
3.1 Application aux réseaux sans fil WiFi
3.1.1 Mode de fonctionnement de WiFi
3.1.2 Le protocole WEP
3.2 Application au réseau GSM
3.2.1 Présentation de A5
3.2.2 Les générateurs à RDRL de A5
3.2.3 Description de A5/1
3.3 Application à la radiodiffusion
3.3.1 Le système de contrôle d’accès
3.3.2 Premier niveau de contrôle d’accès
3.3.3 Deuxième niveau de contrôle d’accès
3.3.4 Troisième niveau de sécurité
3.3.5 Le sous-système pour l’accès conditionnel
3.3.6 Lien entre le décodeur et la carte à puce
3.3.7 Centres de gestion et d’autorisation des abonnées
CHAPITRE 4 CONCEPTION ET REALISATION DE HCrypt 1.0
4.1 Objectifs
4.2 Connaissance requise
4.2.1 Algorithme cryptographique utilisé
4.2.2 Le langage Java
4.3 Conception de HCrypt 1.0
4.3.1 Idée originale
4.3.2 Principe de base
4.3.3 Organigramme
4.3.4 Réalisation
4.4 Utilisation de HCrypt 1.0
4.4.1 Fenêtre d’accueil
4.4.2 Comment crypter un fichier ?
4.4.3 Enregistrement d’un fichier
4.4.4 Fichier d’information
4.4.5 Comment décrypter un fichier ?
4.4.6 Menu Aide
4.4.7 Configuration minimale
4.4.8 Prochaine version
CONCLUSION

Lire le rapport complet

Télécharger aussi :

Laisser un commentaire

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