Code César

Code César

En cryptographie, le chiffrement par décalage, aussi connu comme le chiffre de César ou le code de César (voir les différents noms), est une méthode de chiffrement très simple utilisée par Jules César dans ses correspondances secrètes (ce qui explique le nom « chiffre de César »).
Le texte chiffré s'obtient en remplaçant chaque lettre du texte clair original par une lettre à distance fixe, toujours du même côté, dans l'ordre de l'alphabet.

Exemple

Avec un décalage de 3 vers la droite, A est remplacé par D, B devient E, et ainsi jusqu'à W qui devient Z, puis X devient A etc. Il s'agit d'une permutation circulaire de l'alphabet. La longueur du décalage, 3 dans l'exemple évoqué, constitue la clé du chiffrement qu'il suffit de la connaitre déchiffrer le message.

Texte à décoder

qbqd cqjxyied jkhydw, du q bedthui uj cehj q mybcibem, uij kd cqjxucqjysyud uj shofjebewku rhyjqddygku, qkjukh tu jhqlqkn gky vedtudj isyudjyvygkucudj b'ydvehcqjygku.
fekh huiekthu bu fherbucu vedtqcudjqb tu bq tusytqrybyju ud qhyjxcujygku, yb fhuiudju ud 1936 kdu unfuhyudsu tu fudiuu gku b'ed deccuhq udikyju cqsxydu tu jkhydw uj tui sedsufji tu fhewhqccu uj tu fhewhqccqjyed, gky fhudthedj jekj bukh iudi qlus bq tyvvkiyed tui ehtydqjukhi, tqdi bq iusedtu ceyjyu tk nnu iyusbu. ied cetubu q sedjhyrku q ujqrbyh bq jxuiu tu sxkhsx, gky tuvydyj bu sedsufj cqjxucqjygku ydjkyjyv tu vedsjyed sqbskbqrbu.
tkhqdj bq iusedtu wkuhhu cedtyqbu, yb zeku kd hebu cqzukh tqdi bq shofjqdqboiu tu bq cqsxydu udywcq kjybyiuu fqh bui qhcuui qbbucqdtui. su jhqlqyb iushuj du iuhq seddk tk fkrbys gku tqdi bui qdduui 1970. qfhui bq wkuhhu, yb jhqlqybbu ikh kd tui jekj fhucyuhi ehtydqjukhi, fkyi sedjhyrku qk turqj ikh bq feiiyrybyju tu b'ydjubbywudsu qhjyvysyubbu, ud fhefeiqdj bu juij tu jkhydw. luhi bq vyd tu iq lyu, yb i'ydjuhuiiu q tui cetubui tu cehfxewuduiu tk lylqdj sedtkyiqdj qkn « ijhksjkhui tu jkhydw.

Ce que nous savons

Ici nous ne connaissons pas le décalage, mais nous savons que :
  • le texte est en français et contient que des caractères ASCII minuscule (pas d'accent, ...),
  • les espaces et ponctuation ne sont pas décalés.

Comment faire ?

  • Une fonction pour trouver la fréquence d'apparition d'un caraectère dans le texte
    frequence(txt, lettre)
  • Déterminer le caractère le plus fréquent & le décalage
  • Une fonction pour décrypter le texte grace au décalage trouver frequence(txt, decallage)

Elements de programmation

Titre du popup

Message du popup !