top of page

Code de César

Le code de César, aussi appelé "chiffrement par décalage" est certainement l'un des plus simples de l'histoire de la cryptographie. Son inventeur est inconnu et son invention date certainement d'avant César car des traces de cryptages par substitution  remonte avant Jésus Christ.

Cette méthode s'appelle "Code de César" car ce dernier l'utilisait fréquemment dans ses correspondances secrètes notamment militaires. Il utilisait quasiment tout le temps un décalage de 3 lettres. Il a d’ailleurs utilisé un code de César pour crypter son célèbre livre "La Guerre des Gaules". En plus de crypter ses messages il utilisait le grec. Ainsi toutes les personnes ne comprenant pas le grec n'avaient absolument aucune chance de casser le code. Cette technique lui a donné un avantage dans la guerre contre les gaulois au 1er  siècle avant Jésus Christ car il pouvait échanger des stratégies et des informations importantes avec ses généraux sans que leurs ennemis (gaulois) puissent comprendre quoi que ce soit si les messagers étaient interceptés.

Pour coder un texte grâce au code de César il suffit de décaler chaque lettre du message d'un certain nombre de lettres (prédéfini).

Ainsi ,comme le montre l'image ci-dessous, un décalage de 3 lettres est utilisé pour coder le message. Ainsi A est codé D, B est codé E, C est codé F etc ...

Ainsi si l'on veut coder le message "TRAVAUX PERSONNELS ENCADRES" avec un décalage de 5 lettres on obtient : 

T est crypté Y

R est crypté W

A est crypté F

etc ....

Ce qui donne : 

TRAVAUX PERSONNELS ENCADRES = YWFAFZC UJWXTSSJQX JSHFIWJX (décalage de 5 lettres).

Casser le code de César

Il existe deux méthode pour casser un code de César quelque soit le décalage utilisé.

La première méthode existe depuis la création de ce code. Elle est appelée "attaque par la force brute" car elle consiste à essayer tous les décalages possibles. Le nombre de décalages possibles étant de 25, cette manière est largement réalisable pour le code de César mais pose très vite problème sur des codes de substitution avec trop de possibilités.  

Exemple : on essaye un décalage de -1 : XVEZE YBTIV WSRRI PWIRG EHVIW

                                                               -2 : WUDYD XASHU VRQQH OVHQF DGUHV

                                                                .......................

                                                                -5 : TRAVAUX PERSONNELS ENCADRES

En essayant toutes les possibilités jusqu'à la bonne solution, on peut trouver le message initial mais cela s’avère très fastidieux.

La deuxième méthode date du IX ème siècle.Elle a été créée par un philosophe arabe du nom de AL-Kindi qui lui a donné son nom. Elle consiste en une analyse fréquentielle des lettres présentes dans le message. On compare la fréquence des lettres présentes dans le message avec la fréquence des lettres de la langue dans laquelle le message est initialement écrit

                                                  Graphique des fréquences des lettres dans 4 langues

Ancre 1

Analysons la fréquence de quelques lettres de notre nouveau message codé : 

Le message codé est : YWFAFZC UJWXTSSJQX JSHFIWJX 

Il y a au total 25 lettres dans ce message. On voit que la lettre "J" revient 4 fois dans notre message codé. Le "j" a donc une fréquence de 4/25 soit 0,16. Donc 16 %. Elle est d'ailleurs la lettre la plus présente dans ce message. On peut supposer, en regardant notre graphique des fréquences, que le "J" remplace un "E". On trouve donc un décalage de 5 entre le "J" et le "E". 

On teste enfin ce décalage de 5 lettres et on retombe sur le message inital.

Cependant l'analyse de fréquence rencontre deux grands problèmes : 

-Il faut que le texte soit suffisament long afin que la fréquence des lettres présentes soit la plus précise possible

-Il faut connaitre la langue utilisée afin de connaître la fréquence des lettres de ces langues. 

Exercice : 

Saurez-vous décrypter ces deux messages codés  chacun avec un décalage différent ?

Code 1 : VO EDBMBHFE FV OD F'TUG BDJMF

 

Code 2 : RFNX ZS IJHFQFLJ IJ HNSV JXY UQZX IZW

Ancre 2

Variantes

Le code de César est très facile à craquer mais des variantes peuvent permettre de le rendre encore plus difficile à décrypter. Les variantes du code de César sont très nombreuses et peuvent être facilement imaginées. 

Voilà quelques variantes du code de César : 

On change le décalage des lettres de 1 à chaque lettre codée : 

Travaux personnels encadres

T devient  U (décalage de 1)

R devient T (décalage de 2)

A devient D (décalage de 3)

etc ........

On obtient ainsi : TRAVAUX PERSONNELS ENCADRES = UTDZFAE  XNBDAABTBJ  WGWVZOCR

Cette variante a été créée par l'abbé Jean Trithème qui lui a donné son nom au XVème siècle : le chiffre de Trithème.

Il existe de nombreuses variantes plus compliquées que celle-là avec des décalages différents et des alphabets différents qui permettent chacune une sécurité plus grande.

Utilisation

César a longtemps utilisé ce code pour ses communications secrètes, il semblerait qu'aucun de ses messages n'ai été décrypté durant son règne mais le code de César a vite été abandonné à la suite de la découverte de l'analyse de fréquence au IX ème siècle.

bottom of page