Le chiffrement pour tous ! Épisode 2 : comment ça marche ?

La suite de la série ! Le précédent a détaillé les raisons pour lesquelles il devient important pour chacun d’apprendre à faire respecter le caractère privé de ses communications électroniques à travers le chiffrement. Celui-ci va expliquer quelques concepts basiques de la cryptographie, le minimum syndical.

Chiffrement et signature

Commençons par le commencement. Prenons un message en clair. On peut le chiffrer pour obtenir un message chiffré (sans déconner), illisible et n’ayant aucun sens. Pour celà, il existe de nombreuses techniques, rapidement détaillées dans la suite. Mais globalement, pour les techniques que j’évoquerai, on chiffre grâce à une clef, mot utilisé pour faire une analogie avec une serrure. Une clef, pour faire simple, c’est un très grand nombre (puisqu’en crypto, tout est nombre), que l’on va « combiner » au message d’une certaine façon. Cette « certaine façon », c’est l’algorithme de chiffrement utilisé, et il en existe des tas. Pour vous donner une idée de la grandeur d’une clef, ma clef privée fait 4096 bits. C’est-à-dire que sa « valeur » numérique peut atteindre 2^4096, même si d’un point de vue crypto on se fiche de ça. L’intérêt d’avoir de grandes clefs est que si quelqu’un ignore la clef et qu’il tente de toutes les essayer, il en a pour quelques millénaires et des brouettes. Pour citer quelques noms d’algorithmes de chiffrement : AES, RSA… Je n’en parlerai pas dans l’article, c’est bien au-delà du sujet.

Cryptographie

Aaaaah, des maths ! Pas ça !

Chiffrer n’est pas tout. On peut aussi signer un message. Signer un message consiste à prendre des éléments caractéristiques du message (par exemple, son nombre de caractères), et à chiffrer ce résumé propre au message avec sa clef. Ainsi, la personne qui reçoit un fichier signé vérifie la signature et peut constater :
1) que le message n’a pas été modifié, en comparant les éléments caractéristiques du message reçu avec celles annoncées par la signature. Si elles sont différentes, le message a été modifié ;
2) que le message a bien été envoyé par la bonne personne. En effet, c’est la clef privée de cette personne qui a été utilisée pour créer la signature, et elle seule peut le faire (donc on ne peut pas modifier le message et modifier la signature pour cacher ses modifs).

Ha, que viens-je de dire ? Clef privée ? Ah, quel talent pour l’enchaînement ! Parlons maintenant du dernier point de cet article : la différence entre chiffrement symétrique et asymétrique. Et oui, c’est le dernier point : je vous ai dit que je resterai dans la simplicité !

Chiffrement symétrique

Ce chiffrement repose sur une seule clef, secrète bien sûre, partagée par les deux personnes qui communiquent. Un peu comme une maison : deux personnes ont la même clef. Ainsi, A peut fermer la porte (chiffrer le message), et B l’ouvrir (déchiffrer, vous l’aurez compris).
Le gros avantage de ce type de chiffrement, c’est que c’est performant, c’est-à-dire que les opérations mathématiques sont rapides à faire. On peut par exemple utiliser ce type de cryptographie dans un routeur Internet qui doit chiffrer ou déchiffrer des informations qui passent.
Le gros inconvénient, c’est que si jamais une personne malintentionnée se procure la clef, elle peut tout faire : chiffrer et déchiffrer des messages. Communiquer la clef secrète est donc une opération délicate. De plus, la signature dont je parlais plus haut n’existe évidemment pas dans ce type de crypto : si tu as la clef pour vérifier la signature, tu as  la clef pour en créer une nouvelle… Ça ne sert donc à rien.

Chiffrement asymétrique

Ce type-là repose sur l’utilisation de deux clefs par personne.
La clef privée, je la garde pour moi. Elle me sert à déchiffrer ce que je reçois. PERSONNE ne doit la connaître.
La clef publique, je la donne à tout le monde. Ma clef publique est ainsi disponible sur ce blog (et oui, ici). N’importe qui peut l’avoir. Elle sert à chiffrer des messages qui me seront destinés. Une fois un message chiffré avec la clef publique, seule la clef privée peut déchiffrer le message. Ainsi, même si un vilain hacker dont TF1 nous parle se procure ma clef publique, ben ça lui fait une belle jambe. Moi, je reçois des messages chiffrés avec ma clef publique, et je les déchiffre avec ma clef privée.
Autre utilité de la clef privée : la signature. Je simplifie (et je crois même que maintenant c’est plus tout à fait vrai, mais restons dans la simplicité), mais en gros si je prends des informations caractéristiques du message que je vais envoyer, et que je les chiffre avec ma clef privée, j’obtiens une signature. N’importe qui peut déchiffrer cette signature avec ma clef publique pour vérifier que le message n’a pas été modifié, mais personne d’autre que moi n’ayant ma clef privée, personne ne peut falsifier ma signature.
L’avantage du chiffrement asymétrique est qu’il n’y a pas de problème pour la communication des clefs : chacun balance sa clef publique partout, et garde sa clef privée pour soi.
L’inconvénient, c’est que c’est plus lent. C’est pourquoi beaucoup de systèmes se servent de chiffrement asymétrique juste pour communiquer une clef secrète de façon sûre, et passer sur du chiffrement symétrique avec cette clef ensuite.

Voilà, c’est tout pour les bases du chiffrement ! Maintenant vous avez au moins un vocabulaire de base pour comprendre le prochain article : comment chiffrer des documents dans la vie de tous les jours. Vous voyez, c’est facile le chiffrement 🙂

La crypto c'est facile

La crypto c'est facile !

Publicités
Cet article, publié dans Crypto, Libertés, est tagué , , , , , . Ajoutez ce permalien à vos favoris.

Laisser un commentaire

Entrez vos coordonnées ci-dessous ou cliquez sur une icône pour vous connecter:

Logo WordPress.com

Vous commentez à l'aide de votre compte WordPress.com. Déconnexion / Changer )

Image Twitter

Vous commentez à l'aide de votre compte Twitter. Déconnexion / Changer )

Photo Facebook

Vous commentez à l'aide de votre compte Facebook. Déconnexion / Changer )

Photo Google+

Vous commentez à l'aide de votre compte Google+. Déconnexion / Changer )

Connexion à %s