May 19, 2024

Wiki

Python

Aide

edit SideBar

Search

Enfance De L Art


Cette page contient quelques codes historiques, qui ont précédés les techniques modernes de chiffrement (RSA, etc.) Pour les mettre en oeuvre, on pourra exploiter les méthodes présentes dans la page traitant des chaînes de caractères.

Le carré de 25

Présentation

Origines

On pense devoir ce chiffre à Polybe (205 à 125 av. J.-C.), sans doute le plus grand historien grec de son temps.

Le principe

On place les 25 premières lettres dans un carré...

 12345
1ABCDE
2FGHIJ
3KLMNO
4PQRST
5UVXYZ

On remplace alors chaque lettre par le nombre constitué de la ligne et de la colonne où se trouve la lettre (42 pour Q), et en admettant qu’un W est deux V.

Exemple

Ainsi,

Le code de Polybe

devient

3215133514151415413532541215

Travaux pratiques

  1. Programmer le chiffrement/déchiffrement d’après le carré de Polybe.
  2. Demander à l’utilisateur de remplir sa propre grille de chiffrement.
  3. Programmer un décryptage basé sur le calcul des fréquences d’apparition des symboles, afin de casser ce code.
  4. Construire, éventuellement une interface graphique.

Eléments de réponse

Le largonjem

Historique du largonjem

Il s’agit d’un jargon, d’une certaine manière de s’exprimer. On raconte qu’il était utilisé au bagne de Brest dans les années 1820. Des bouchers de La Vilette l’auraient aussi utilisé en 1850, d’où son autre nom : louchébem.

Enfin, une de ses nombreuses variantes, le largonji, était employé par Richepin.

Principe du largonjem

Quel est son principe ? On modifie tous les mots commençant par une consonne, comme suit :

  1. On place la consonne à la fin.
  2. On place l en début de mot.
  3. On rajoute em à la fin.

Ainsi, jargon devient... largonjem

Travaux pratiques

  1. Créez un programme qui transforme un mot en sa version largonjem.
  2. Transformez ensuite tout un texte en largonjem.
  3. Faites une fonction qui teste si le mot considéré du texte est traduisible en largonjem : privilégiez les mots longs, par exemple.

Eléments de réponse

Le code de César

Histoire

C’est peut-être le plus ancien algorithme de codage par substitution. Suétone, dans sa Vie des douze César, en donne une description : pour chiffrer un texte, il suffit de remplacer A par B, B par C, etc.

Ainsi,

Le code de Cesar

devient

Mf dpef ef Dftbs

Quelques variantes classiques

Bien sûr, on peut varier le code,

  • en décidant de remplacer A par D, B par E, etc.
  • ou alors, on peut attribuer un nombre à chacune des lettres, ou un symbole : le chiffre des franc-maçons, ou encore des hommes dansants (Sherlock Holmes) en sont divers exemples.

Cryptanalyse

La méthode utilisée par Sherlock Holmes marche pour chacun de ces codes :

  • si on a suffisamment de texte, on calcule la fréquence d’apparition de chacun des symboles,
  • on compare ces fréquences au tableau suivant, regroupant les fréquences d'apparition de chaque lettre dans la langue française.

Attach:frequence.jpg Δ

Amélioration possible

On peut, pour améliorer un peu ce code, se fixer une clef, comme une date de naissance, pour varier le décalage.

19/03/1980, par exemple, donne 19031980. Alors, pour coder un texte,

  • on décale la première lettre de 1,
  • la seconde de 9,
  • puis on laisse la troisième inchangée,
  • et on décale la quatrième de 3, etc.

Bien sûr, le destinataire, et lui seul, doit aussi posséder la clef, pour rendre le message à nouveau intelligible. Avec cette astuce, on rend le message vraiment très difficile à décoder.

Travaux pratiques

  1. Programmer le codage et le décodage par la méthode précédemment exposée. On demandera à l’utilisateur le décalage souhaité, ainsi que le texte à coder/décoder.
  2. Améliorer ce codage en demandant une clef à l’utilisateur.
  3. Demander à l’utilisateur le nom du fichier (texte) à coder/décoder.
  4. Construire une interface graphique soignée.
  5. Programmer un décryptage basé sur le calcul des fréquences d’apparition des symboles, afin de casser ce code.
  6. Obtenir votre propre tableau des fréquences, en vous basant sur des documents textes longs récupérés sur internet.
  7. Proposer plusieurs codes (Templiers, Hommes Dançants), qui renverront une image (la succession des symboles).

Eléments de réponse

La Bible, le code secret

Les textes

En 1998, un journaliste américain, Michael Drosnin, a publié un livre devenu best-seller : La Bible, le code secret. Il y affirme l’existence d’un code secret dans La Bible, annonçant de manière irréfutable l’assassinat d’Anouar El Sadate, d’Ystak Rabin, la Shoah, la guerre en Irak et autres événements de cet ordre.

Selon Drosnin, « La Bible contiendrait à l’intérieur de ses lignes l’histoire en détail de toute l’humanité. »

Quel est ce code secret ?

Les suites de lettres équidistantes (ELS)

A partir du texte hébreu de la Bible, on saute un nombre déterminé de lettres, ne retenant (par exemple) qu’une lettre sur 15. Ces lettres sont alors rangées dans une matrice (un tableau rectangulaire).

Le but est alors de rechercher des noms propres et communs dans cette grille, horizontalement, verticalement ou en diagonale (comme dans les jeux de mots mélés).

Mais, après tout, quelle Bible ?

Drosnin avait affirmé que « toutes les bibles en hébreu actuellement disponibles sont concordantes lettre pour lettre » pour justifier le sérieux de son entreprise.

Mais de quel texte s’agit-il ? du codex de Léningrad, daté de l’an mil : peut-être la plus ancienne copie qui nous reste d’un texte dont les plus anciennes parties datent probablement de 900 avant J.-C. A quel point cette copie d’une copie d’une copie diverge-t-elle de son original ?

Pour ceux qui doutaient

Drosnin mis au défis les sceptiques, dans Newsweek : « Si ceux qui me critiquent arrivent à trouver dans Moby Dick un message codé annonçant la mort d’un premier ministre, je les croirai ».

Brendan Mac Kay, professeur de mathématique à l’Université Nationale d’Australie, releva le gant. En utilisant la même méthode, il découvra dans le texte de Melville pas moins de neuf assassinats d’un premier ministre, et même la mort de Lady Di, de son amant et de son chauffeur !

D’ailleurs, avec un texte de 1000 lettres, en appliquant la méthode des lettres équidistantes, on peut extraire plus d’un million de mots...

Un résultat dû à Emile Borel (1881-1956)

En prenant au hasard une suite infinie de symboles typographiques, on y trouvera tous les textes possibles et imaginables. Par exemple le livre de Drosnin, la Bible, l’intégralité des oeuvres de Sade, du Comte de Lautréamont et de Rimbaud...

Travaux pratiques

  1. À partir d’un fichier texte de votre choix (récupéré, par exemple, sur la bibliothèque numérique européenne), en fixant le nombre de lettres à sauter, construisez la matrice de lettres.
  2. À partir de cette matrice, demander à l’utilisateur de saisir un mot, et recherchez-le dans la grille (faites-le faire par Python)
  3. Si cela vous intéresse, faites rechercher (en vous aidant d'un dictionnaire récupéré sur internet) tous les mots présents dans la grille.

Page Actions

Recent Changes

Group & Page

Back Links