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.
É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.
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 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.
|
|
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.
|
|
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
Enregistrer un commentaire