Le cryptage a une longue histoire qui remonte à l'époque où les Grecs et les Romains de l'Antiquité envoyaient des messages secrets en remplaçant les lettres déchiffrables uniquement par une clé secrète. Rejoignez-nous pour une courte leçon d'histoire et apprenez-en plus sur le fonctionnement du cryptage.
Dans l'édition d'aujourd'hui de HTG Explains, nous vous donnerons un bref historique du chiffrement, son fonctionnement et quelques exemples de différents types de chiffrement. Assurez-vous de consulter également l'édition précédente, où nous avons expliqué pourquoi tant de geeks détestent Internet Explorer .
Image de xkcd , évidemment.
Les premiers jours du cryptage
Les anciens Grecs utilisaient un outil appelé un
Scytale
pour aider à crypter leurs messages plus rapidement à l'aide d'un
transposition cipher
- ils enrouleraient simplement la bande de parchemin autour du cylindre, rédigeraient le message, puis une fois déroulés, cela n’aurait pas de sens.
Cette méthode de chiffrement pourrait être assez facilement cassée, bien sûr, mais c'est l'un des premiers exemples de chiffrement réellement utilisé dans le monde réel.
Jules César a utilisé une méthode quelque peu similaire à son époque en déplaçant chaque lettre de l'alphabet vers la droite ou la gauche d'un certain nombre de positions - une technique de cryptage connue sous le nom de Chiffre de César . Par exemple, en utilisant l'exemple de chiffrement ci-dessous, vous écrirez "GEEK" comme "JHHN".
Plaine: ABCDEFGHIJKLMNOPQRSTUVWXYZ
Chiffre: DEFGHIJKLMNOPQRSTUVWXYZABC
Étant donné que seul le destinataire prévu du message connaissait le chiffrement, il serait difficile pour la personne suivante de décoder le message, qui apparaîtrait comme du charabia, mais la personne qui avait le chiffrement pourrait facilement le décoder et le lire.
D'autres chiffrements de chiffrement simples comme le carré polybe utilisé un chiffrement polyalphabétique qui listait chaque lettre avec les positions numériques correspondantes en haut et sur le côté pour dire où se trouvait la position de la lettre.
En utilisant un tableau comme celui ci-dessus, vous écririez la lettre «G» comme «23», ou «GEEK» comme «23 31 31 43».
Enigma Machine
Pendant la Seconde Guerre mondiale, les Allemands utilisé la machine Enigma pour passer des transmissions cryptées dans les deux sens, ce qui a pris des années avant que les Polonais puissent déchiffrer les messages, et donner la solution aux forces alliées, ce qui a contribué à leur victoire.
L'histoire du cryptage moderne
Regardons les choses en face: les techniques de chiffrement modernes peuvent être un sujet extrêmement ennuyeux, donc au lieu de simplement les expliquer avec des mots, nous avons créé une bande dessinée qui parle de l’histoire du chiffrement, inspirée de celle de Jeff Moser. guide de bonhomme allumette AES . Remarque: nous ne pouvons clairement pas tout transmettre sur l’historique du chiffrement dans une bande dessinée.
À l'époque, les gens ne disposent pas d'une bonne méthode de cryptage pour sécuriser leur communication électronique.
Lucifer était le nom donné à plusieurs des premiers civils blocs de chiffrement , développé par Horst Feistel et ses collègues chez IBM.
Le Data Encryption Standard (DES) est un chiffrement par bloc (une forme de chiffrement secret partagé) qui a été sélectionné par le National Bureau of Standards en tant que fonctionnaire Norme fédérale de traitement de l'information (FIPS) pour les États-Unis en 1976 et qui a ensuite été largement utilisée au niveau international.
Les préoccupations concernant la sécurité et le fonctionnement relativement lent du DES dans les logiciels ont motivé les chercheurs à proposer une variété de conceptions alternatives de chiffrement par blocs, qui ont commencé à apparaître à la fin des années 1980 et au début des années 1990: les exemples incluent RC5 , Blowfish , IDÉE , NewDES , PLUS SÛR , CAST5 et FEAL
L'algorithme de cryptage Rijndael a été adopté par le gouvernement américain en tant que cryptage à clé symétrique standard, ou Advanced Encryption Standard (AES). AES a été annoncé par le National Institute of Standards and Technology (NIST) en tant que US FIPS PUB 197 (FIPS 197) le 26 novembre 2001 après un processus de normalisation de 5 ans au cours duquel quinze modèles concurrents ont été présentés et évalués avant que Rijndael ne soit sélectionné comme le plus algorithme de cryptage approprié.
Performances de l'algorithme de chiffrement
De nombreux algorithmes de chiffrement existent et ils sont tous adaptés à des fins différentes. Les deux principales caractéristiques qui identifient et différencient un algorithme de chiffrement d'un autre sont sa capacité à sécuriser les données protégées contre les attaques et sa rapidité et son efficacité à le faire.
Pour illustrer parfaitement la différence de vitesse entre les différents types de chiffrement, vous pouvez utiliser l’utilitaire d’analyse comparative intégré à l’assistant de création de volume de TrueCrypt. Comme vous pouvez le voir, AES est de loin le type de chiffrement fort le plus rapide.
Il existe des méthodes de cryptage à la fois plus lentes et plus rapides, et elles conviennent toutes à des fins différentes. Si vous essayez simplement de décrypter de temps en temps un minuscule élément de données, vous pouvez vous permettre d’utiliser le cryptage le plus puissant possible, voire de le crypter deux fois avec différents types de cryptage. Si vous avez besoin de vitesse, vous voudrez probablement opter pour AES.
Pour en savoir plus sur l'analyse comparative des différents types de chiffrement, consultez un rapport de Université de Washington de Saint-Louis , où ils ont fait une tonne de tests sur différentes routines, et ont tout expliqué dans un article très geek.
Types de cryptage moderne
Tous les algorithmes de cryptage sophistiqués dont nous avons parlé précédemment sont principalement utilisés pour deux types de cryptage différents:
- Algorithmes clés symétriques utiliser des clés de chiffrement apparentées ou identiques pour le chiffrement et le déchiffrement.
- Algorithmes clés asymétriques utilisez des clés différentes pour le chiffrement et le déchiffrement - c'est ce qu'on appelle généralement la cryptographie à clé publique.
Chiffrement à clé symétrique
Pour expliquer ce concept, nous utiliserons la métaphore du service postal décrite dans Wikipédia pour comprendre le fonctionnement des algorithmes à clé symétrique.
Alice met son message secret dans une boîte et verrouille la boîte à l'aide d'un cadenas auquel elle a une clé. Elle envoie ensuite la boîte à Bob par courrier ordinaire. Lorsque Bob reçoit la boîte, il utilise une copie identique de la clé d’Alice (qu’il a en quelque sorte obtenue précédemment, peut-être lors d’une réunion en face à face) pour ouvrir la boîte et lire le message. Bob peut alors utiliser le même cadenas pour envoyer sa réponse secrète.
Les algorithmes à clé symétrique peuvent être divisés en chiffrements de flux et les chiffrements par blocs - les chiffrements de flux chiffrent les bits du message un par un, et les chiffrements par blocs prennent un certain nombre de bits, souvent par blocs de 64 bits à la fois, et les chiffrent comme une seule unité. Vous pouvez choisir parmi de nombreux algorithmes différents, parmi lesquels les algorithmes symétriques les plus populaires et les plus respectés sont: Deux Poisson , Serpent , AES ( Rijndael ), Blowfish , CAST5 , RC4 , TDES , et IDÉE .
Cryptage asymétrique
Dans un système de clé asymétrique, Bob et Alice ont des cadenas séparés, au lieu du cadenas unique à plusieurs clés de l'exemple symétrique. Remarque: ceci est, bien sûr, un exemple très simplifié de la façon dont cela fonctionne vraiment, ce qui est beaucoup plus compliqué, mais vous aurez une idée générale.
Tout d'abord, Alice demande à Bob de lui envoyer son cadenas ouvert par courrier ordinaire, en gardant sa clé pour lui. Quand Alice le reçoit, elle l'utilise pour verrouiller une boîte contenant son message et envoie la boîte verrouillée à Bob. Bob peut alors déverrouiller la boîte avec sa clé et lire le message d'Alice. Pour répondre, Bob doit également obtenir le cadenas ouvert d’Alice pour verrouiller la boîte avant de la lui renvoyer.
L'avantage critique dans un système de clés asymétriques est que Bob et Alice n'ont jamais besoin de s'envoyer une copie de leurs clés. Cela empêche un tiers (peut-être, dans l'exemple, un postier corrompu) de copier une clé pendant qu'elle est en transit, ce qui permet audit tiers d'espionner tous les futurs messages envoyés entre Alice et Bob. De plus, si Bob était imprudent et permettait à quelqu'un d'autre de copier le sien clé, les messages d'Alice à Bob seraient compromis, mais les messages d'Alice à d'autres personnes resteraient secrets, puisque les autres fourniraient différents cadenas à Alice.
Le cryptage asymétrique utilise différentes clés pour le cryptage et le décryptage. Le destinataire du message crée une clé privée et une clé publique. La clé publique est distribuée entre les expéditeurs de messages et ils utilisent la clé publique pour crypter le message. Le destinataire utilise sa clé privée pour tous les messages chiffrés qui ont été chiffrés à l'aide de la clé publique du destinataire.
Le chiffrement de cette façon présente un avantage majeur par rapport au chiffrement symétrique. Nous n'avons jamais besoin d'envoyer quoi que ce soit de secret (comme notre clé de cryptage ou notre mot de passe) sur un canal non sécurisé. Votre clé publique est transmise au monde entier. Elle n’est pas secrète et n’a pas besoin de l’être. Votre clé privée peut rester bien ajustée et confortable sur votre ordinateur personnel, là où vous l'avez générée. Elle ne doit jamais être envoyée par e-mail ou lue par des pirates.
Comment le cryptage sécurise la communication sur le Web
Depuis de nombreuses années, le SSL ( Couche de sockets sécurisés ) sécurise les transactions Web en utilisant le cryptage entre votre navigateur Web et un serveur Web, vous protégeant de toute personne qui pourrait espionner le réseau au milieu.
SSL lui-même est conceptuellement assez simple. Cela commence lorsque le navigateur demande une page sécurisée (généralement https: //)
Le serveur Web envoie sa clé publique avec son certificat.
Le navigateur vérifie que le certificat a été émis par une partie de confiance (généralement une autorité de certification racine de confiance), que le certificat est toujours valide et que le certificat est lié au site contacté.
Le navigateur utilise ensuite la clé publique pour crypter une clé de cryptage symétrique aléatoire et l'envoie au serveur avec l'URL cryptée requise ainsi que d'autres données http cryptées.
Le serveur Web déchiffre la clé de chiffrement symétrique à l'aide de sa clé privée et utilise la clé symétrique du navigateur pour déchiffrer son URL et ses données http.
Le serveur Web renvoie le document html demandé et les données http cryptées avec la clé symétrique du navigateur. Le navigateur décrypte les données http et le document html à l'aide de la clé symétrique et affiche les informations.
Et maintenant vous pouvez en toute sécurité acheter cet objet eBay vous n’en aviez vraiment pas besoin.
Avez-vous appris quelque chose?
Si vous êtes arrivé jusque-là, nous sommes à la fin de notre long voyage pour comprendre le cryptage et un peu de son fonctionnement - à partir des débuts du cryptage avec les Grecs et les Romains, la montée de Lucifer, et enfin comment SSL utilise un cryptage asymétrique et symétrique pour vous aider à acheter ce lapin rose moelleux sur eBay.
Nous sommes de grands fans du chiffrement chez How-To Geek, et nous avons couvert de nombreuses façons différentes de faire des choses comme:
- Premiers pas avec TrueCrypt (pour sécuriser vos données)
- Ajouter le cryptage automatique du site Web à Firefox
- BitLocker To Go crypte les lecteurs flash portables dans Windows 7
- Comment sécuriser votre PC Linux en chiffrant votre disque dur
- Ajouter des options de chiffrement / déchiffrement au menu contextuel de Windows 7 / Vista
- Premiers pas avec TrueCrypt Drive Encryption sur Mac OS X
Bien sûr, le cryptage est un sujet beaucoup trop compliqué pour vraiment tout expliquer. Avons-nous manqué quelque chose d'important? N'hésitez pas à mettre quelques connaissances sur vos collègues lecteurs dans les commentaires.