Bases de mathématiques
Inutile de paniquer, c'est à la portée d'un gamin de 4 ans
Mathématiques, c'est un bien grand mot ici !
Le cryptage repose sur un principe très simple. Chaque lettre que vous tapez sur votre clavier est en réalité un chiffre pour l'ordinateur.
Et oui, en informatique, à la base, il n'y a pas de lettres, tout n'est que chiffres.
Cette correspondance lettres / chiffres s'effectue par des tables internationales (ASCII, ANSI, UTF8, etc.).
Le programme de cryptage prend tout simplement les chiffres des caractères du texte de votre email, et les transforme par une opération mathématique que l'on appelle "Algorithme" à l'aide de la "clé de cryptage", elle-même définie à partir de votre mot-de-passe.
Par exemple :
Le code ASCII de la lettre "A" est 65
65 + 26 = 91
91 est le code ASCII du signe "["
Dans cet exemple :
"A" est votre caractère initial
+ est l'opération du programme de cryptage = algorithme" de cryptage
"26" est la clé de cryptage
"[" est le caractère final
Vous avez écrit "A", mais toute personne voyant le mail crypté verra le signe "["
Pour voir le caractère original, la personne devra savoir quel algorithme vous avez utilisé et quelle est votre clé
Ainsi, elle pourra prendre la fonction réciproque de l'algorithme, ici la réciproque de l'addition (+), c'est-à-dire la soustraction (-), et prendre votre clé de cryptage, afin d'effectuer l'opération inverse pour retrouver le caractère original :
"[" a pour code ASCII 91
91 - 26 = 65
65 est le code ASCII de "A"
Jusqu'ici, c'est du cryptage symétrique. On crypte et on décrypte un truc avec la même clé (donc avec le même mot-de-passe).
Fonctions réciproques
En mathématique, chaque fonction possède sa fonction réciproque
Par exemple :
La fonction réciproque de "+" (addition) est "-" (soustraction)
10 - 2 = 8
8 + 2 = 10
La fonction réciproque de "x" (multiplication) est "/" (division)
10 / 2 = 5
5 x 2 = 10
La fonction réciproque de "Ln" (logarithme népérien) est "e" (exponentielle)
e² = e x e = 7,3890561
Ln(7,3890561) = 2
La fonction réciproque de ² est la racine carré
2² = 2 x 2 = 4
racine carrée (4) = 2
Compréhensible jusqu'ici, non ?
Maintenant, il existe des fonctions réciproques qui ne donnent pas le même nombre de résultats.
Exemple :
racine carrée (?) = 2
<=> ? = 2²
<=> ? = 4
Ici il n'y a qu'une seule solution : ? = 4
Prenons la réciproque :
?² = 4
<=> ? = racine carrée (4)
<=> racine carrée (4) = 2 ou -2
car 2 x 2 = 4
et -2 x -2 = 4 aussi
Ici, la fonction a une solution, mais sa réciproque a 2 solutions : ? = 2 ou -2
Simple jusqu'ici.
Fonctions à sens unique
En mathématique, il existe des fonctions spéciales que l'on appelle "à sens unique" "à brèche secrète".
La fonction "à sens unique" est une fonction à une seule solution, pour laquelle la réciproque admet un nombre gigantesque de solutions.
De sorte que lorsque l'on utilise la fonction pour transformer un nombre, on ne peut pas retrouver le nombre de départ avec la réciproque, il y a trop de possibilités à essayer !
(Ces fonctions sont tirées des courbes ellipsoïdes mais ça on s'en fout)
La fonction "à sens unique" "à brèche secrète" est une fonction à une seule solution, pour laquelle la réciproque admet un nombre gigantesque de solutions SAUF s'il l'on connaît un indice, un coefficient.
Dans ce cas la fonction réciproque n'admet plus un nombre gigantesque de solution, mais une seule.
Tout part de là. Ce fameux coefficient secret, c'est la clé privée...
Le cryptage asymétrique : vous allez le connaître
En cryptage symétrique : Il y a 1 clé
En cryptage asymétrique : Il y a 2 clés
- Une clé publique, qui servira à crypter, et seulement à crypter
- Une clé privée, qui servira à décrypter, et seulement à décrypter ce qui a été crypté avec la clé publique
Du coup, on a besoin d'envoyer que la clé publique par internet.
Les clés, en cryptage asymétrique, marchent ainsi en couple publique/privée : on parle ainsi de "paire de clés".
Voici comment ça se passe :
- Bob veut envoyer un mail à Alice
- Il lui dit : "Alice, je veux t'envoyer un mail crypté !"
(Alice et Bob installent donc tous les 2 leur logiciel de cryptage comme vous allez le faire après)
- Alice envoie sa clé publique à Bob
- Bob utilise la clé publique d'Alice pour crypter son mail
(Bob ne peut donc plus décrypter le mail qu'il a crypté, car la clé publique ne sert qu'à crypter)
- Bob envoie son mail crypté à Alice
- Alice reçoit le mail de Bob crypté avec la clé publique qu'elle lui a envoyé, et elle décrypte le mail avec sa clé privée
Ainsi, Alice est la seule à pouvoir décrypter le mail, car elle est la seule à posséder la clé privée, qui elle, n'a pas bougé de son ordinateur.
Si le spy intercepte la clé publique de Alice, ben on s'en fout, il ne pourra rien en faire, à part crypter des messages pour Alice, ce qui ne l'intéresse pas tellement.
Seule la clé privée permettra de décrypter les messages, la clé privée NE DOIT JAMAIS être envoyée sur internet.
La clé privée reste sur votre ordinateur ET NE DOIT JAMAIS EN BOUGER.
En pratique, la clé privée est elle même cryptée dans le programme de gestion des clés, pour plus de sécurité en cas de piratage de votre ordinateur, et surtout pour ne pas laisser de trace sur votre disque dur.