La protection du cryptage informatique


La protection du cryptage informatique


Jules César et la méthode par décalage




  Jules César employait une méthode pour coder les messages qu'il envoyait à ses généraux. Il s'agit de la méthode par décalage (ou "Code de César"). La technique consistait à choisir un nombre de décalages et de remplacer toutes les lettres par la lettre de l'alphabet qui se trouvait plus loin.
Dans cet exemple, on peut voir par quelles lettres on remplace A, B et C pour un décalage de trois lettres. Il suffisait ensuite de connaitre le nombre de décalage à effectuer pour retrouver le message.



Cette technique n'était pas efficace, il suffisait en effet de tester tous les décalages possibles (il n'y en a que 25) pour retrouver le message.


La machine Enigma et la méthode par substitution

La machine Énigma est une machine allemande réputée incassable inventée à l’origine en 1918 puis utilisée par les nazis durant la seconde guerre mondiale. C'est une machine de chiffrement qui transforme chaque message en un autre message illisible. Elle emploie une technique dite de substitution.

Machine Enigma : Wikipedia
Elle consiste à remplacer chaque élément, ici chaque lettre du message par un autre élément. Par exemple, tous les A deviennent des K et ainsi de suite pour chaque caractère. Le message "Bébé" deviendrait "Acac" si on substitue la lettre B par la lettre A et la lettre E par la lettre C par exemple. Ce genre de message est en général assez simple à déchiffrer. En effet, en fonction de la langue, des mots récurrents et autres statistiques, il est possible de retrouver quel élément correspond à chaque lettre par analyse de fréquence. Mais le concept d'Énigma était plus particulier.

Énigma utilisait cette technique. Elle possédait trois rotors à 26 positions pouvant tourner imbriqués les uns dans les autres (comme un compteur d'eau). Lorsque le premier rotor avait fait un tour complet (les 26 positions), celui d'à côté passait à la position suivante et ainsi de suite. Un tableau en façade contenait une entrée pour chaque lettre que nous pouvions câbler à souhait.

 Dans cet exemple, on peut voir chaque lettre du tableau d'entrée envoyé au rotor sous forme d'une impulsion électrique. Le signal circule à travers tout un réseau électrique puis revient et ressort sur une autre lettre. Ainsi, chaque lettre est substituée par une autre. La rotation des rotors modifie constamment le chemin emprunté par le signal électrique, chaque lettre étant donc substituée par une autre à chaque fois.

Ce qui est impressionnant sur cette machine, c'est la complexité combinatoire qu'on a au niveau des réglages initiaux. En effet, les trois rotors sont choisis entre 5 rotors possibles. De plus, chaque rotor a 26 positions initiales possibles et le câblage pouvant être réalisé en façade rajoute encore davantage de possibilités.

Nous avons ainsi en réglage environ 158 962 555 217 826 360 000 possibilités. Les Allemands disposaient d'un calendrier leur donnant chaque jour les réglages faire.

Cette machine réputée incassable à l'époque (1919) a finalement pu être déchiffrée. Un défaut de la machine a permis de mettre en avant le fait que la machine substituait une lettre par n'importe quelle autre lettre. Un A ne pouvait par exemple pas donner un autre A. De même, les Allemands publiaient chaque jour un rapport météo qui contenait systématiquement au début le mot "Wetterbericht" (Météo) et "Hi Hitler" à la fin. Connaissant ces mots, il était possible d'identifier certaines lettres et de réduire considérablement le temps de déchiffrement. Une machine pouvait ainsi tester toutes les possibilités et il ne fallait à la fin que 20 minutes pour déchiffrer le message.



La cryptographie symétrique



Il s’agit d’une technique de chiffrement beaucoup plus sûre que les précédentes. Cette technique reprend la technique par substitution, mais l’améliore afin d’échapper à l’attaque par analyse de fréquence. Elle nécessite également une clé de chiffrement (un mot de passe) afin de crypter et décrypter le message.

La méthode consiste à choisir un mot clé. On écrit ensuite le mot clé sous le message autant de fois que nécessaire jusqu’à arriver au bout du message. On additionne ensuite la position de la lettre du message dans l’alphabet avec celle de la lettre de la clé écrite en dessous (si on arrive à Z on reprend à la première lettre).

Dans cet exemple, le J (10e lettre de l’alphabet) est additionné avec S (19e lettre) afin d’obtenir C (3e lettre de l’alphabet, car 10+19=29 donc 26+3). Puis le E est additionné avec le C et ainsi de suite jusqu’à la fin du message.

La cryptographie asymétrique ou le cryptage RSA


Le cryptage par RSA ou cryptographie asymétrique a l'avantage par rapport à la méthode précédente de pouvoir coder un message sans pour autant pouvoir le décoder. Il a été inventé par messieurs Rivest, Shamir et Adleman qui ont donné leurs initiales (RSA) à leur méthode.
La manière de procéder est la suivante :
·         Choisissez deux nombres premiers P et Q (que vous gardez pour vous), prenons par exemple P=5 et Q=11.
·         Calculez le produit des deux N = P*Q, dans notre cas N=35.
·         Choisissez un nombre E n’ayant pas de facteur premier commun avec (P-1)*(Q-1) Dans notre cas puisque (P-1)*(Q-1)=40=2*2*2*5, on peut choisir par exemple E=7.
·      La paire (E, N) constitue la clé publique, que vous donnez à votre ambassadeur, ici 7 et 55.
·         Choisissez ensuite un nombre D tel que E*D mod (P-1) *(Q-1) =1 par exemple dans notre cas D=23 fait l’affaire, car 7*23 mod 40 = 1.
·         La paire (D, N) constitue la clé privée, que surtout vous gardez pour vous. Ici 7 et 23.
Maintenant que vous avez vos deux nombres, il faut ensuite ramener votre message à des nombres (par exemple A=1, B=2 … Z=26).
·         C = M^E modulo N
Il suffit ensuite d’encoder chaque nombre en utilisant les nombres de la clé publique (E, N) :
·         On considère M le nombre à encoder et le nombre encodé C correspondant à M.
·         C = M^E modulo N
Pour décoder le message, c’est très simple, on utilise la clé privée (D, N) :
·         M=C^D modulo N
Voilà, il suffit de s’y connaître un peu en mathématiques ! Sans entrer dans les détails, on peut prouver qu’on récupère bien le nombre M en démontrant que (M^E mod N)^D=M.
Le cryptage peut-il être cassé ?
Nous savons que le cryptage par substitution ou par décalage peut être cassé très facilement. Les dernières techniques de cryptage (RSA par exemple) reposent sur le principe qu'il est mathématiquement très difficile de factoriser des nombres de plusieurs milliers de chiffres. Si nous utilisons des nombres suffisamment grands, nous sommes donc en sécurité. Sans prendre en compte d'éventuelles portes dérobées ou espionnages des services secrets, d'un point de vue mathématique et scientifique, le cryptage des données est en l'état sécurisé.


Commentaires

Posts les plus consultés de ce blog

Les différents supports physiques

Enquête sur la sécurité de chacun d'entre nous

Des outils pour favoriser l’accessibilité aux handicapés et aveugles