Sécurité Informatique

Titre de l'article : Un point sur la cryptologie
Auteur : Yannick Hamon, consultant sécurité Xmco Partners
Courriel : yannick.hamon@xmcopartners.com
Date : Janvier 2007
Version complète en PDF : Actu Sécurité Janvier 2007
Sections :
Rappel
Un peu d'Histoire
Synthèse
Petit Lexique
Confusion
Les prémices
Les évolutions de la cryptographie symétrique
Le besoin de la cryptographie asymétrique
La preuve par l'image
Réflexion
Bibliographie


>Un point sur la cryptologie

La cryptographie est de plus en plus utilisée. Elle permet de résoudre de nombreux problèmes de sécurité.

Cependant, son utilisation est parfois obscure ou mal implémentée. L'étude de son histoire permet de mieux comprendre les recommandations actuelles telles que le choix de la longueur des clés.

clef

Rappel

Petit Lexique

Le préfixe "crypto" provient du grec et signifie "caché". Le terme "cryptologie" constitue l'ensemble de la cryptographie et de la cryptanalyse.

La cryptographie est l'art de chiffrer/déchiffrer une information. En contrepartie, la cryptanalyse est l'art de casser un algorithme, c'est-à-dire de découvrir complètement ou partiellement l'information originelle sans en connaître la clé. La cryptanalyse a toujours été utilisée pour décrypter les langues mortes.

code

Confusion

Le verbe "crypter" est à bannir car il provient d'un abus de langage lié à son homologue anglais "to encrypt". Ainsi, un utilisateur peut chiffrer ou déchiffrer un message avec une clé tandis qu'un pirate peut décrypter un message sans disposer d'aucune information.

Enfin, un algorithme est dit "cassé/cracké", lorsqu'il existe une méthode permettant de déchiffrer un texte sans retrouver la clé ou de découvrir la clé utilisée sans "brute-force".

Un peu d'Histoire

Les prémices

L'histoire retient Jules César comme précurseur et utilisateur régulier de la cryptographie pour envoyer des messages confidentiels tout en se protégeant d'éventuels messagers malhonnêtes.

Or, bien avant, entre le Xe et VIIe siècle av. J.-C., les Grecs utilisaient déjà une technique de chiffrement par transposition qui permettait de modifier la disposition des lettres dans un message. Ils se servaient d'une scytale (cf. Figure 1), appelée bâton de "Plutarque", autour duquel ils enroulaient une bande de cuir pour y inscrire le message. Une fois déroulé, le message est envoyé au destinataire qui possède un bâton de diamètre identique pour être à même de le déchiffrer.

Jules César

Scytale
Figure 1 : La scytale

Ensuite, un historien grec, Polybios, inventa une technique complètement différente. L'historien inséra l'alphabet au sein d'un tableau à deux entrées, ce qui lui permit d'encoder un caractère par un nombre (cf. Figure 2).

Jules César n'employait, quant à lui, qu'un simple décalage de 3 caractères alphabétiques (cf. Figure 3).

Algorithme de Polybios
Algorithme de César
Figure 2 : Chiffrement de Polybios
Figure 3 : Chiffrement de César

Les évolutions de la cryptographie symétrique

L'histoire de la cryptologie fût également marquée par les messages de Mary Stuart, exécutée en 1587 pour avoir participer à un complot qui visait à assassiner la reine d'Angleterre Elizabeth. L'accusée utilisait un algorithme de substitution, comme des hiéroglyphes, pour toutes ses correspondances (cf. Figure 4).

Durant la même période, le diplomate français Blaise de Vigenère présentait, dans son livre "Traicté des chiffres ou secrètes manières d'escrire"[1], une technique de chiffrement par substitution poly-alphabétique qui ne sera décrypté qu'en 1854. L'algorithme utilise une clé, dont chaque lettre définit le décalage alphabétique à appliquer sur le texte en clair (cf. Figure 5).

Mary Stuart
Algorithme de César
Figure 4 : Chiffrement de Mary Stuart
Figure 5 : Chiffrement de Vigenère


Telephone Rouge

Un dérivé de cette technique a été publiée en 1917 par Gilbert Vernam. Le chiffrement de Vernam est parfaitement sûr et a été prouvé par Shannon en 1949. La principale différence réside dans l'utilisation d'une clé unique et de taille équivalente à celle de l'information à chiffrer et dont chaque élément est choisi aléatoirement. Cet algorithme de chiffrement est utilisé au plus haut niveau : il assure la confidentialité du célèbre "Téléphone Rouge" entre Washington et Moscou.

Une dernière innovation, plus récente, fût l'utilisation de la machine "Enigma" par l'armée Allemande, durant la Seconde Guerre Mondiale. Cette machine permettait de chiffrer toutes les communications radio ou télégraphiques. Le système était simple mais efficace[2]. Chaque lettre est substituée par une autre, avec des résultats qui changent à chaque fois. La machine est alimentée par une pile électrique. Elle contient un mécanisme de rotors qui modifie le circuit électrique à chaque frappe. Lorsqu'un utilisateur appuie sur une touche du clavier, un circuit électrique se ferme et une lampe s'allume en indiquant le caractère à utiliser (cf. Figure 6).

Enigma
Enigma
Figure 6 : Chiffrement par Enigma

Jusqu'au début des années 1970, la cryptographie était principalement utilisée à des fins malicieuses ou militaires. Par la suite, un nouveau besoin est apparu, notamment dans le domaine industriel pour protéger les flux interbancaires. Jusqu'à cette période, les méthodes de chiffrements ne réalisaient que le remplacement d'un caractère par un autre sans altérer l'ordre des informations. Ainsi, de nombreuses méthodologies de cryptanalyse se sont reposées sur l'occurrence d'une valeur en fonction de chaque langue (exemple, fréquence de la lettre "e" en français).

Les nouvelles générations d'algorithmes implémentent plusieurs systèmes de chiffrement. Par exemple, l'algorithme DES découpe l'information en plusieurs blocs puis utilise des permutations et des substitutions. L'information source est ainsi totalement obscurcie. La seule faiblesse de cet algorithme est l'utilisation d'une clé de petite taille (56 bits). DES a donc été remplacé par AES, algorithme qui n'est toujours pas cassé à ce jour, qui utilise des méthodes similaires mais avec des tailles de clés plus longues et des recommandations strictes. AES est aujourd'hui la référence pour les chiffrements symétriques.

Le besoin de la cryptographie asymétrique

De nos jours, l'utilisation massive d'Internet nécessite l'introduction de cryptographie asymétrique. Cette méthodologie permet d'assurer des fonctionnalités de confidentialité, d'intégrité, d'authentification et de non-répudiation. Les algorithmes comme RSA sont basés sur une paire de clés (publique/privée) et nécessitent des ressources importantes. Ils sont principalement utilisés pour l'échange de clés symétriques et pour l'authentification des parties.

Asymétrie

Synthèse

La preuve par l'image

Initialisation
Figure 7 : Image Initiale

La plupart des algorithmes présentés chiffrent l'information sans modifier la disposition des données. Ainsi seule une taille de clé très longue permet d'obtenir un chiffrement solide. Afin d'illustrer plus précisément ces mécanismes, nous allons chiffrer une image (cf. Figure 7) avec quelques méthodes que nous avons décrites dans ce sujet (expérimentation réalisée par Robert ERRA [3]).



En analysant la Figure 8, nous pouvons remarquer que le chiffrement de César ne masque en rien l'information, en effet, l'image est toujours visible, seules les couleurs ont été modifiées.

Les figures 9 et 10 démontrent la nécessité d'utiliser des clés extrêmement longues lors de l'utilisation d'un simple algorithme de permutation ou de substitution. Il est même intéressant de voir que l'utilisation de Vigenère avec une clé de 9400 bits ne camouflent pas toutes les informations, en effet, la silhouette du chat est toujours visible.

Chiffrement par César
Figure 8 : Chiffrement par César


Chiffrement par permutation
Chiffrement par Vigenère
Figure 9 : Chiffrement par permutation (longueur de clé : 5, 10, 47, 94, 940, 9400)
Figure 10 : Chiffrement de Vigenère (longueur de clé : 5, 10, 47, 94, 940, 9400)


Chiffrement par DES
Figure 11 : Chiffrement par DES

Toutefois, la combinaison d'opérations de permutations et de substitutions effectuées par un algorithme comme DES permet d'obtenir de bien meilleurs résultats. En effet, même avec une clé de 56 bits, l'image est totalement obscurcie (cf. Figure 11).



Réflexion

Les principales faiblesses de la cryptographie sont la mauvaise implémentation des algorithmes ainsi que le choix d'une taille de clé trop petite. L'exemple le plus médiatique est le protocole WEP qui permettait de sécuriser les échanges des réseaux sans-fil Wifi. Le WEP a été remplacé par le WPA qui respecte les recommandations d'utilisation de l'algorithme RC4 (clé minimale de 128 bits, vecteurs d'initialisation de 48 bits...).

La cryptographie est, aujourd'hui, un outil indispensable qui connaît cependant ses limites. En effet, les algorithmes que nous utilisons reposent sur des problèmes mathématiques (difficulté de factorisation de nombres très grands, Théorème de Fermat). Pour information, en 2005, le plus grand nombre factorisé était de 663 bits or l'utilisation de RSA recommande des clés de 1024 ou 2048 bits.

A ce jour, seule l'apparition d'un ordinateur quantique permettrait de résoudre ces problèmes et rendrait alors obsolète toutes nos architectures de sécurité. D'ailleurs, l'algorithme quantique existe déjà...[4]

Bibliographie

[1] Livre de Vigenère http://gallica.bnf.fr/notice?N=FRBNF31575919
[2] Simulation du fonctionnement de Enigma (Applet Java)
http://www.bibmath.net/crypto/debvingt/enigmasimul.php3
[3] Démonstration réalisé par Robert ERRA sous l'environnement "Mathematica"
http://www.esiea.fr/Mastere-Specialise-Bac-6,16
[4] Algorithme de Shor http://fr.wikipedia.org/wiki/Algorithme_de_Shor



Actualite Securite

Version complète en PDF

> Autres articles

+ Tous les articles



> Le cabinet Xmco Partners

+ La société

+ Contacts