Cryptographie

Pages: 13 (3103 mots) Publié le: 20 octobre 2013
Cryptographie : coder, décoder et
décrypter des messages

Description

On écrira un programme qui code et décode à l'aide d'un codage de César (on étudiera le principe de ce codage). Puis on écrira un programme de décryptage d'un chiffrement de César. On écrira un programme qui code et décode à l'aide d'un codage de Vigenère. On utilisera Python comme langage de programmation.

I – Lechiffre de César

Principe

En cryptographie, le chiffrement par décalage, aussi connu comme le chiffre de César, 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êmecôté, dans l'ordre de l'alphabet. Pour les dernières lettres (dans le cas d'un décalage à droite), on reprend au début. Par 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 chiffrementqu'il suffit de transmettre au destinataire (s'il sait déjà qu'il s'agit d'un chiffrement de César) pour que celui-ci puisse déchiffrer le message. Dans le cas de l'alphabet latin, le chiffre de César n'a que 26 clés possibles (y compris la clé nulle, qui ne modifie pas le texte).

Démarche

Codage et décodage

Tout d'abord, j'ai cherché sur divers sites internet ce qu'est lechiffre de César. Mon premier objectif était évidemment de comprendre le principe et le fonctionnement de chiffrement. Cela s'est fait très rapidement puisque ce chiffrement est relativement simple.

Puis est venu le moment d'élaborer le programme de codage. Pour cela, j'ai décomposé au brouillon l'algorithme en trois parties. Une première partie « demande d'informations », une deuxième partie «codage » et une troisième partie « résultat ». La première et la troisième partie ne m'ont posé aucun problème puisque il suffisait d'utiliser quelques fonctions de base. La deuxième partie, celle du codage, m'a demandé par contre un peu plus de réflexion.

J'ai très vite compris qu'élaborer mon programme de codage en passant par le code ASCII serait une solution rapide et plutôt simple.

Maisqu'est-ce que le code ASCII ?

La mémoire de l'ordinateur conserve toutes les données sous forme numérique. Il n'existe pas de méthode pour stocker directement les caractères. Chaque caractère possède donc son équivalent en code numérique : c'est le code ASCII (« American Standard Code for Information Interchange », soit « Code Americain Standard pour l'Echange d'Informations » si l'on traduiten français). Le code ASCII de base - celui qu'on utilisera principalement dans l'ensemble de ce projet - représente les caractères sur 7 bits (c'est à dire 128 caractères possibles, de 0 à 127).

Le code ASCII a été mis au point pour la langue anglaise, il ne contient donc pas de caractères accentués, ni de caractères spécifiques à une langue. Pour coder ce type de caractère il faut recourir àun autre code.
Pour pouvoir coder plus de caractères, le code ASCII a donc été étendu à 8 bits (c'est à dire 256 caractères possibles, de 0 à 255). On parle d'ailleurs de code ASCII étendu.

code | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 |
0 | NUL | SOH | STX | ETX | EOT | ENQ | ACK | BEL | BS | HT |
10| LF | VT | NP | CR | SO | SI | DLE | DC1 | DC2 | DC3 |
20 | DC4 | NAK | SYN | ETB | CAN | EM | SUB | ESC | FS | GS |
30 | RS | US | SP | ! | " | # | $ | % | & | ' |
40 | ( | ) | * | + | , | - | . | / | 0 | 1 |...
Lire le document complet

Veuillez vous inscrire pour avoir accès au document.

Vous pouvez également trouver ces documents utiles

  • Cryptographie
  • La cryptographie
  • La cryptographie
  • La cryptographie
  • cryptographie
  • cryptographie
  • Cryptographie
  • La cryptographie

Devenez membre d'Etudier

Inscrivez-vous
c'est gratuit !