Contenu

mathématiques

Recherche simple Vous recherchez ...

espace pédagogique > disciplines du second degré > mathématiques > enseignement > groupes de recherche > TraAM > actions nationales 2017-2018

cryptographie

mis à jour le 31/05/2018


logo_crypto.png

La manipulation des chaînes de caractère avec Python. Pourquoi ne pas tout chiffrer ?

mots clés : chiffrement, cryptographie, césar, des idées python


Le langage Python permet la manipulation de texte (type string ou str). On peut alors programmer de nombreuses applications de cryptographie, en voici quelques idées et 2 programmes en Python pour les mettre en oeuvre.

  • Codage par décalage dit de César : L’idée est que chaque lettre est décalée dans l’alphabet. Pour un décalage de 3 par exemple, les « A »deviennent des « D », les « B »des « E », ...,les « Z »des « C ». Le codage Rot13 ci-dessous correspond à un tel décalage par 13. Il a l’avantage d’être son propre programme de décodage.


 
  • Codage de Vigenère : la clé de chiffrement est un mot, par exemple « ACB ». On décale alors la première lettre de 1 (la valeur numérique du A), la deuxième de 3 et la troisième de 2 puis on recommence 1,3,2,...

  • Codage par permutation : chaque lettre de l’alphabet est remplacée par une autre lettre déterminée, cela forme la clé de chiffrement ;

  • Décodage par attaque statistique : pour découvrir la permutation utilisée, on effectue un relevé statistique. En effet en français la répartition des lettres est la suivante :

 

Ce programme va ainsi lire un texte en minuscule sans accents et donne les fréquences relevées :

 
auteur(s) :

Hervé Diet, enseignant au lycée Touchard du Mans (72)

information(s) pédagogique(s)

niveau : tous niveaux, Lycée tous niveaux

type pédagogique :

public visé : non précisé, enseignant, élève

contexte d'usage :

référence aux programmes :

documents complémentaires

Documents complémentaires
PDFLe texte complet

Le script

haut de page

mathématiques - Rectorat de l'Académie de Nantes