Cryptographie : Pourquoi, comment ?

Par
Le 27 juin 2001
 0
Depuis "l'arrivée d'Internet dans tous les foyers", les échanges d'informations sont grandement facilités. Reste qu'avec ce flux d'informations permanent, on peine à trouver un espace de confidentialité. La cryptographie, vielle de plus de 3000 ans, apporte une solution à la sécurisation des informations confidentielles et personnelles. Nous allons voir d'où elle tire ses origines, comment cela fonctionne-t-il et surtout comment l'utiliser simplement au quotidien.

Historique

00ff000000048609-photo-carr-de-polybe.jpg
La cryptographie remonte à l'antiquité, le premier "document" crypté connu est une tablette d'argile découverte en Irak qui date du 16ème siècle avant JC. Un potier y avait gravé sa recette secrète en supprimant des consonnes et en modifiant l'orthographe des mots. Il faut attendre la Grèce antique (200 ans avant JC) pour voir apparaître le premier vrai système de cryptographie: le carré de Polybe. Ce système quand on le regarde aujourd'hui ressemble plus aux jeux que l'on trouve dans les cahiers de devoirs de vacances pour enfants. Le principe consiste à remplacer une lettre par sa coordonnées dans un carré de 5x5 (cf: image).

De Jules César aux débuts du siècle, de nombreux politiques et scientifiques se sont essayés à la cryptographie, sans grand succès il faut le dire. On peut noter la tentative de Jules César dans ce domaine, son idée consistait tout simplement à décaler de trois rangs dans l'alphabet les lettres d'un message et de supprimer les espaces et à le redécouper aléatoirement ("la vie est belle" devenait "odyl hh vweho oh").

0172000000048610-photo-carr-de-blaise.jpg
Blaise de Vigénère (1523 - 1596) est un des premiers à inventer un système à faire intervenir un mot de passe pour chiffrer le message. La méthode de Blaise de Vigénère est basée sur un carré de 26x26 dont chaque case comprend une des lettres de l'alphabet. Le texte codé s'obtient en prenant lettre à lettre, l'intersection de la ligne qui commence par la lettre à coder avec la colonne qui commence par la première lettre du mot de passe. Pour la deuxième lettre à coder, on utilise la deuxième lettre du mot de passe et ainsi de suite. Dès que l'on atteint la fin du mot de passe, on recommence à la première lettre. Sur l'image ci-contre, avec comme mot de passe "karting", la lettre "M" devient "W" après avoir été codée.

Excepté les défis actuels concernant la cryptographie, c'est certainement la machine "Enigma", conçue par les Hollandais et utilisée par les allemands pendant la guerre qui a suscité le plus de recherches et d'interrogations au sein du milieu scientifique. Son secret fut finalement découvert par des mathématiciens anglais. La mécanique de "Enigma" était basée sur deux Claviers l'un servant à saisir le texte en clair et l'autre à afficher le texte codée en éclairant la lettre correspondante. Utilisé à l'envers (le clavier "codé" pour la saisie), il permettait de retrouver le texte initial.
Le mécanisme était un savant mélange de cryptographie et de mécanique : plusieurs rotors comprenant toutes les lettres de l'alphabet dans un ordre différent étaient combinés pour donner la lettre chiffrée. La force de "Enigma" provenait d'une part du fait qu'à chaque codage, les rotors étaient décalés ce qui ne permettait par de retrouver la clé en recherchant des répétitions de lettres. La clé de chiffrage permettait de déterminer l'orientation initiale de chacun des rotors.

Ordinateurs, binaire et cryptographie

Avec l'arrivée des ordinateurs, le remplacement n'est plus le problème principal, aussi bien du côté de la personne qui chiffre que de celui de celle qui déchiffre. La formule de cryptage est simplement modélisée par une formule mathématique plus ou moins complexe qu'il suffit d'appliquer en lui combinant la clé pour obtenir le message en clair.
Pour créer un formule de cryptage, il suffit " simplement " que celle-ci soit réversible, c'est à dire qu'en l'appliquant à l'envers en lui combinant la clé, on retrouve les informations de départ.

0053000000048619-photo-cl-s-et-cadenas.jpg
En informatique, les caractères alphanumériques étant stockés sous la forme d'une valeur ASCII (comprise en 0 et 255). Une des formules les plus utilisées pour encoder des mots de passe dans des logiciels grands public, consiste à appliquer un "OU exclusif" (XOR en abrégé) entre le texte à coder et la clé. Le " OU exclusif " est une fonction binaire, donc très simple et très rapide à mettre en œuvre en informatique, qui ne retourne la valeur 1 que si les deux bits comparés sont différents. C'est le " OU " de l'expression " fromage OU dessert " : l'un ou l'autre, mais pas les deux. La table de vérité qui décrit le fonctionnement du " OU exclusif " ce trouve ci-dessous :

0 XOR 0 = 0
1 XOR 0 = 1
0 XOR 1 = 1
1 XOR 1 = 0

Pour utiliser cet algorithme, il suffit de remplacer le texte à chiffrer et le clé par leur équivalent ASCII de d'appliquer la fonction XOR entre le premier caractère du texte à chiffrer et le premier caractère de la clé, le deuxième caractère du texte à chiffrer et le deuxième caractère de la clé, ainsi de suite. Lorsqu'on arrive en fin de clé, on reprend au début.
La méthode " OU exclusif " est simple à décrypter en utilisant le moyens informatiques actuels, c'est pourquoi elle n'est utilisé que pour protéger des informations peu sensibles (mot de passe de l'économiseur d'écran Windows par exemple).

Le chiffrement DES (Data Encryption Standard), plus complexe et inventé par 17 dans les années 60, est une succession de permutations, de décalages et de fonctions mathématiques, toutes réversibles. La seule manière de décrypter cet algorithme, et tous ceux basés sur des fonctions mathématiques réversibles, consiste à utiliser la force brute pour retrouver la clé. Plus la clé est longue (codée sur un nombre élevé de bits), plus il va falloir de temps pour essayer toutes les possibilités. DES utilise une clé de chiffrement de 64 bits ce qui donne 2 puissance 64 possibilités à essayer.

A l'heure du e-commerce, c'est l'algorythme RSA 512 ou 1024 bits qui est le plus utilisé aujourd'hui à chaque fois qu'une transaction sécurisée s'effectue entre votre ordinateur et une banque lors d'un paiement en ligne (l'adresse qui apparaît dans le navigateur commence par https://). Il faut environ 107 millions d'années à un Athlon 1Ghz pour retrouver par la force brute une clé codée sur cette longueur.

0064000000048612-photo-logo-rsa.jpg
On peut considérer qu'une clé RSA 512 bits peut aujourd'hui être cassée en utilisant des moyens de calculs distribués : plusieurs centaines d'ordinateurs recherchent en parallèle la même clé, mais ces moyens sont hors de portée d'un particulier. Par contre, une clé sur 1024 bits, qui N'EST PAS deux fois plus difficile à casser mais 1,3x10 puissance 154 fois plus compliquée à casser (chaque bit supplémentaire multipliant par deux le nombre de clé possibles) peut être considérée à l'heure de cet article comme complètement indéchiffrable. Il paraît probable que dans les années à venir, les progrès des mathématiques et de l'informatique combinés permettrons d'arriver à bout d'un telle clé.

On peut donc considérer que le RSA 1024 bits est sûr à 100%…. à l'heure actuelle.
Modifié le 01/06/2018 à 15h36
scroll top