Avant de commencer
Introduction
La cryptographie est une science et un peu plus. Quelque part entre l'art et la guerre. "Art" parce que cette science use et abuse de technique magnifique (mathématiques). "Guerre" parce tout message est attaqué, torturé, malmené pour révéler ses secrets.
%
Pourquoi la cryptographie ?
%Plaçons-nous dans un contexte familier : internet. A l'ère du numérique la quasi-totalité des informations circulent sur le web et pour la majeure partie d'entre elle
en claire (l'adresse IP, les mails, l'historique des pages web visitées etc...) et il n'est pas nécessaire d'être un as de l'informatique pour intercepter ces données (même sans logiciel espion) ! Télécharger des films, séries ou musiques est à la porté de tous. Il est devenu difficile de "posséder" numériquement quelque chose. Beaucoup de données sont interceptables.
%L'idée très vite apparu, bien avant l'ère numérique d'ailleurs, est non pas de cacher les informations, mais de les rendre bien visible aux yeux de tous... en les brouillant !
Définition
La stéganographie est l'art qui vise à dissimuler l'existence d'un message.
Remarque
En 484 av. J.-C., Xerxès Ier, roi des Perses, décide de préparer une armée gigantesque pour envahir la Grèce. Quatre ans plus tard, lorsqu'il lance l'offensive, les Grecs sont depuis longtemps au courant de ses intentions. C'est que Démarate, ancien roi de Sparte réfugié auprès de Xerxès, a appris l'existence de ce projet et décide de transmettre l'information à Sparte :
il prit une tablette double, en gratta la cire, puis écrivit sur le bois même les projets de Xerxès ; ensuite il recouvrit de cire son message : ainsi le porteur d'une tablette vierge ne risquait pas d'ennuis.
Remarque
Histiée incite son gendre Aristagoras, gouverneur de Milet, à se révolter contre son roi, Darius, et pour ce faire,
il fit raser la tête de son esclave le plus fidèle, lui tatoua son message sur le crâne et attendit que les cheveux eussent repoussé ; quand la chevelure fut redevenue normale, il fit partir l'esclave pour Milet.
Aujourd'hui encore on peut utiliser la stéganographie pour transmettre une information en modifiant subtilement les pixels d'une image par exemple.
Néanmoins la stéganographie à ses limites et il est vite apparut nécessaire de dissimuler l'information tout en la rendant visible ! C'est la cryptographie.
Définition
La cryptographie cryptographie est la science qui vise à protéger l'information en la rendant illisible à toute personne qui n'a pas les moyens de la déchiffrer.
Le message chiffré est appelé un cryptogramme.
Définition
La cryptanalyse est une science qui consiste à tenter de déchiffrer un message ayant été chiffré.
Le processus par lequel on tente de comprendre un message chiffré est appelé une attaque.
Définition
La cryptologie englobe la cryptographie et la cryptanalyse.
Dans ce cours, la cryptologie est "une excuse pour faire des mathématiques".
A chaque chapitre on introduit une méthode de chiffrement qui nécessite pour son indentation, sa compréhension et le déploiement de techniques d'attaques, l'introduction d'outils mathématiques.
Pour être tout à fait rigoureux il faudrait d'abord définir les outils mathématiques offrant le meilleur formalisation des cryptosystème. Nous pensons que nous gagnerons en clarté en se permettant quelques liberté avec la "Rigueur".
Quelques outils
Définition
- \( \bullet\)
-
Le chiffrement ou cryptage est le processus de transformation d'un message clair de façon à le rendre incompréhensible.
- \( \bullet\)
- Le déchiffrement ou décryptage est le processus de reconstitution du message clair à partir du message chiffré.
Dans la pratique les processus de transformation et de reconstitution sont paramétrés par des fonctions elles-mêmes paramétrées par des clefs.
Définition
Un
système cryptographique ou
cryptosystème est constitué de
- un espace de clefs \( \mathcal{K}\) ,
- une fonction de chiffrement et une fonction de déchiffrement paramétrées par les éléments de \( \mathcal{K}\) .
Ces données devant satisfaire la
propriété de déchiffrement :
Pour \( k\in \mathcal{K}\) , notons \( C_k\) la fonction de chiffrement, \( D_k\) la fonction de déchiffrement (paramétrées par \( k\) ) et \( M\) un message claire
\[\forall k\in\mathcal{K},\ \forall M,\ D_{k}\Big(C_k(M)\Big)=M\]
Remarque
La propriété de déchiffrement se traduit par le fait que pour chaque "manière" de crypter il existe un moyen de décrypter pour retrouver le message original.
On prendra garde au vocabulaire. Nous parlerons majoritairement de (dé)cryptage ou (dé)chiffrement et en aucun cas de (dé)codage.
Pour faire simple, le codage est un dictionnaire d'échange : les lettres du message claire sont transformés en d'autre symbole comme ceux que l'on trouve dans les magazines pour enfants
Puisque nous voulons "
faire des opérations dans le texte" nous utiliserons notre langage préféré : le nombre. Dans tout ce cours notre codage, c'est à dire notre langage de préférence, sera
\[
\begin{array}{|*{13}{c|}}
\hline
A&B&C&D&E&F&G&H&I&J&K&L&M\\\hline
00&01&02&03&04&05&06&07&08&09&10&11&12\\\hline
\end{array}
\]
\[
\begin{array}{|*{13}{c|}}
\hline
N&O&P&Q&R&S&T&U&V&W&X&Y&Z\\\hline
13&14&15&16&17&18&19&20&21&22&23&24&25\\\hline
\end{array}
\]