20 janvier 2008
Un cryptage, c'est un codage dont on ne connait la valeur initiale que si l'on connait la clé qui lui est associée. Dès lors, on peut publier son source sans mettre en danger les données cryptées par lui, puisque sans la clé il n'est pas possible de le décrypter.
Un exemple est peut-être plus clair.
Albert(A) est très amoureux de Béatrice(B). il veut lui envoyer un
message lui déclarant sa flamme, mais il sait que Cérafin(C), le frêre
de Béatrice, a tendance à espionner sa soeur. Il va donc crypter son message avec le codage de César. Il choisi une clé qui vaut 12, l'ayant dit à Béatrice. Celle ci va décrypter le message avec le codage de César. Mais elle va utiliser -12 comme clé, pour inverser le codage et trouver le message initial :
A : "JE T'AIIIIIIIIMEUH COMME UN FOU COMME UN SOLDAT" --> César(12)
: "VQ F'MUUUUUUUUYQGT OAYYQ GZ RAG OAYYQ GZ EAXPMF" --> A envoie le
message codé à B
B : "VQ F'MUUUUUUUUYQGT OAYYQ GZ RAG OAYYQ GZ EAXPMF" --> César(-12) : "JE T'AIIIIIIIIMEUH COMME UN FOU COMME UN SOLDAT"
C : "VQ F'MUUUUUUUUYQGT OAYYQ GZ RAG OAYYQ GZ EAXPMF" --> ??? (le pauvre ne comprend rien)
Le problème avec le cryptage, c'est qu'il n'est pas infaillible. En
effet, comme l'on peut toujours revenir aux données initiales, une
personne mal intentionnée pourrait essayer de trouver la clé. Il existe
plusieurs méthodes pour y arriver, la plus connue étant l'étude
statistique (pour les méthodes de substitution).
------------------------------------------------------------------------------------
| Hashage |
|
Fonction de hashage : fonction permettant de convertir un message en une chaîne de caractères constituant une abréviation. Un exemple simple est la preuve par 9 qui permet de convertir un nombre quelconque en un chiffre de 0 à 9. Si le calcul de l'abbréviation est relativement simple, il est, par-contre beaucoup plus difficile d'altérer un message sans modifier son abréviation..
Cette abréviation, cryptée avec la clé privée de l'emetteur constitue la signature électronique.
Une fonction de hachage est une fonction qui fait subir une succession de traitements à une donnée quelconque fournie en entrée pour en produire une « empreinte » servant à identifier la donnée initiale. Ces fonctions sont très utilisées en informatique, en particulier pour accéder rapidement à des données grâce aux tables de hachage (ou hash tables en anglais). Les fonctions de hachage sont aussi extrêmement utiles en cryptographie où elles sont utilisées pour chiffrer une donnée initiale sans que l'opération inverse de décryptage soit possible, à moins d'essayer toutes les données possibles et de comparer les empreintes résultantes à l'empreinte que l'on veut décoder (attaque par force brute).
Plus simplement :

