Chiffrement de César - Identifier ses faiblesses

Note pédagogique

L'apprentissage de la programmation est semblable à celui de la lecture et de l'écriture. Il est normal de commencer à apprendre à lire, à se familiariser à l'apparence des lettres et des mots, avant d'écrire son premier roman. Ensuite, lorsque nous commençons à écrire, il sera bon d'être accompagné par quelqu'un qui nous aide à identifier nos erreurs. L'objectif sera cependant de se libérer de ce besoin pour être en mesure d'utiliser le plein potentiel de l'écriture.

Cette progression est similaire à celle de l'apprentissage de la programmation. Avant d'écrire nos premières instructions, il nous faudra suivre un modèle, et lire. Puis, nous pouvons écrire nos premières lignes à l'aide d'un ordinateur. Celui-ci nous permettra d'identifier nos erreurs et nous aidera à les corriger. Cependant si l'on ne fait jamais le pas de mettre l'ordinateur de côté alors on se limite dans nos capacités à penser.

Ne savoir écrire un programme qu'avec un ordinateur pour nous corriger, c'est se limiter à ne pas pouvoir vraiment être en mesure de planifier notre résolution de problème qu'avec un ordinateur. L'objectif de cette séquence est de se libérer de cette limitation afin d'être en mesure de gagner du temps dans notre interaction avec l'ordinateur et d'être en mesure de résoudre un problème entièrement mentalement si on le souhaite.

L'exercice consistera pour cela à refaire des exercices semblables à ceux travaillés précédemment, à la différence que chaque exercice sera réalisé sur papier au préalable. Seulement une fois que l'exercice est résolu sur papier, le programme pourra être écrit et testé sur ordinateur. Ainsi vous pourrez identifier les éléments de langage que vous ne métrisez pas encore, en prendre notes, et les corriger au fur et à mesure de la séquence.

Le chiffrement de César

Le thème de cette séquence est le chiffrement de César. Il consiste à chiffrer le contenu d'un message en décalant chaque lettre du message en fonction d'une clef connue seulement de l'émetteur et du récepteur.

Cesar_illustr

Figure 1

Illustration du chiffrement de César pour une clef de 4. A se transforme en E, B en F, ..., Z en D.

Dans cette séquence nous découvrirons comment utiliser python pour chiffrer et déchiffrer des messages comme le faisait César il y a bien longtemps, mais surtout comment pirater un tel système.