Introduction à la cryptographie

ArticleCategory:

System Administration

AuthorImage:

Pierre Loidreau

TranslationInfo:[Author and translation history]

original in fr Pierre Loidreau  

AboutTheAuthor

Pierre est Enseignant-Chercheur à l'ENSTA (Ecole Nationale Supérieure de Techniques Avancées). Son domaine de recherche concerne les "cryptosystèmes" fondés sur la théorie des codes correcteurs d'erreurs. Il pratique Linux tous les jours... et le tennis fréquemment.

Abstract:

Cet article a été publié dans un numéro spécial sur la sécurité de Linux Magazine France. L'éditeur, les auteurs, les traducteurs ont aimablement accepté que tous les articles de ce numéro hors-série soient publiés dans LinuxFocus. En conséquence, LinuxFocus vous "offrira" ces articles au fur et à mesure de leur traduction en Anglais. Merci à toutes les personnes qui se sont investies dans ce travail. Ce résumé sera reproduit pour chaque article ayant la même origine.

ArticleIllustration:

mail

ArticleBody:[The article body]

Pourquoi la cryptographie - 2500 ans d'histoire avérée.

L'origine de la cryptographie remonte sans doute aux origines de l'homme, dès que ceux-ci apprirent à communiquer. Alors, ils durent trouver des moyens d'assurer la confidentialité d'une partie de leurs communications. Dans l'Égypte ancienne, l'écriture joua parfois ce rôle. Cependant la première attestation de l'utilisation délibérée de moyens techniques permettant de chiffrer les messages vint de la Grèce, vers le VIème siècle avant J.C, et se nomme ``scytale''. Le scytale était un bâton. L'expéditeur enroulait une bandelette autour et écrivait longitudinalement sur le bâton. Puis il déroulait la bandelette et l'expédiait au destinataire. Sans la connaissance du diamètre du bâton qui jouait le rôle de clé, il était impossible de déchiffrer le message. Plus tard, les armées romaines utilisèrent pour communiquer le chiffrement de César consistant en un décalage de l'alphabet de trois lettres.

Puis, pendant près de 19 siècles, on assista au développement plus ou moins ingénieux de techniques de chiffrement expérimentales dont la sécurité reposait essentiellement dans la confiance que leur accordaient les utilisateurs. Au 19ème siècle, Kerchoffs posa les principes de la cryptographie moderne. L'un des principaux pose que la sécurité d'un système de chiffrement ne résidait que dans la clé et non dans le procédé de chiffrement.

Désormais, concevoir des systèmes cryptographiques devait répondre à ces critères. Cependant, il manquait encore à ces systèmes une assise mathématique donnant des outils qui permette de mesurer, de quantifier leur résistance à d'éventuelles attaques, et pourquoi pas de trouver le ``saint Graal'' de la cryptographie : le système inconditionnellement sûr. En 1948 et 1949, deux articles de Claude Shannon, ``A mathematical theory of communication'' et surtout ``The communication theory of secrecy systems'' donnèrent des assises scientifiques à la cryptographie en balayant espoirs et préjugés. Shannon prouva que le chiffrement de Vernam introduit quelques dizaines d'années plus tôt -- encore appelé one-time pad -- était le seul système inconditionnellement sûr. Cependant ce système est impraticable. C'est pourquoi, de nos jours pour évaluer la sécurité d'un système on s'intéresse plutôt à la sécurité calculatoire. On dit qu'un système de chiffrement à clé secrète est sûr si aucune attaque connue ne fait beaucoup mieux en complexité que la recherche exhaustive sur l'espace des clés.

L'AES (Advanced Encryption Standard)

Très récemment, en octobre 2000, un nouveau standard de chiffrement à clé secrète fut élu parmi 15 candidats par la NIST (National Institute of Standards and Technology) afin de remplacer le viellissant DES dont la taille des clés devenait trop petite. L'algorithme choisit pour devenir l'AES est le Rijndael, du nom condensé de ses concepteurs, Rijmen et Daemen.

Celui-ci est un système de chiffrement dit ``par blocs'' car les messages sont chiffrés par blocs entiers, qui ici sont de 128 bits. Il existe plusieurs versions du système utilisant des clés de 128, 192 ou 256 bits. Pour information, le DES chiffre des blocs de 64 bits avec une clé de 56 bits seulement. Le triple DES utilisé communément jusqu'alors chiffre des blocs de 64 bits avec une clé de 112 bits.

AES

Table 1: Itérations de l'AES

Le principe de fonctionnement de l'AES est décrit dans la figure 1. En premier lieu, on ajoute bit à bit le message avec la clé secrète K0. Puis, comme pour tous les algorithmes de chiffrement par blocs, on itère une fonction F, paramétrée par des sous-clés qui sont obtenues de la clé maître par un algorithme de cadencement de clés.

Dans le cas d'AES, on itère 10 fois la fonction F.