SE CONNECTER
1,2,3... codez ! | Le site de la Fondation La main à la pâte
Module 123 Codez | Programmer | Informatics and Digital Creation

Projet « Cryptographie »

1, 2, 3, codez ! - Activités cycle 4 - Projet « Cryptographie »

Tout au long de ce travail, les élèves découvrent et s’approprient de nombreux concepts propres à l’informatique, comme les notions d’information, d’algorithme, de langage (cf. scénario conceptuel, ci-dessous), et s’initient à la programmation.

Disciplines concernées et liens avec les programmes

Les programmes de 2016 introduisent des notions d’informatique aussi bien en mathématiques qu’en technologie. Nous conseillons de mener ce projet dans le cadre du cours de mathématiques afin de cibler l’enseignement de technologie vers des projets qui mettent davantage en avant l’aspect matériel, comme la robotique (cf. projets "Robotique avec Thymio" ou "Domotique avec Arduino").
Les programmes 2016 de mathématiques comportent un chapitre « algorithmique et programmation » qui justifie parfaitement un tel projet :

Mathématiques

Au cycle 4, les élèves s’initient à la programmation, en développant dans une démarche de projet quelques programmes simples, sans viser une connaissance experte et exhaustive d’un langage ou d’un logiciel particulier. En créant un programme, ils développent des méthodes de programmation, revisitent les notions de variables et de fonctions sous une forme différente, et s’entraînent au raisonnement.

 Décomposer un problème en sous-problèmes afin de structurer un programme ; reconnaître des schémas.

 Écrire, mettre au point (tester, corriger) et exécuter un programme en réponse à un problème donné.

 Écrire un programme dans lequel des actions sont déclenchées par des événements extérieurs.

 Programmer des scripts se déroulant en parallèle.

  •  Notions d’algorithme et de programme.
  •  Notion de variable informatique.
  •  Déclenchement d’une action par un évènement, séquences d’instructions, boucles, instructions conditionnelles.
  •  Notion de message échangé entre objets.

 Exemples de situations, d’activités et de ressources pour l’élève

  •  Initiation au chiffrement (Morse, chiffre de César, code ASCII…)

Outre ces compétences en informatique, le projet permet de travailler d’autres compétences plus classiques en mathématiques, notamment :

 Organisation et gestion de données, fonctions

  •  Calculer des effectifs, des fréquences.
  •  Tableaux, représentations graphiques (diagrammes en bâtons, diagrammes circulaires, histogrammes).

Éducation aux médias et à l’information

 Utiliser les médias de manière responsable

  •  Comprendre ce que sont l’identité et la trace numériques.
  •  Se familiariser avec les notions d’espace privé et d’espace public.
  •  Se questionner sur les enjeux démocratiques liés à la production participative d’informations et à l’information journalistique.

Le professeur de mathématiques peut mener le projet seul, ou en collaboration avec d’autres professeurs (notamment de français et, dans une moindre mesure, de technologie et de physique-chimie). Ces prolongements sont indiqués séance par séance et peuvent servir de base à la construction d’un projet pluridisciplinaire, plus volumineux, dans le cadre des EPI.

Objectifs

L’objectif du projet est de familiariser les élèves avec les méthodes et les enjeux de la cryptographie.

  •  La première séquence, entièrement débranchée (sans ordinateur), leur permet de découvrir le chiffrement de César, puis le chiffrement par substitution mono-alphabétique. Ils apprennent à cryptanalyser (i.e. « casser ») ces chiffrements, notamment grâce à l’analyse fréquentielle. Les élèves cherchent ensuite à corriger le principal point faible de ces méthodes de chiffrement (l’échange de la clé) et découvrent l’intérêt du chiffrement asymétrique utilisant clé publique et clé privée. Enfin, ils débattent des enjeux sociétaux de la cryptographie.
  •  La seconde séquence, optionnelle, propose aux élèves de programmer (dans l’environnement Scratch [Pour plus d’informations sur la programmation en Scratch (ou ses alternatives) : pourquoi, comment, etc., ainsi que pour une séance d’initiation (à insérer en début de séquence 2 si besoin), voir le chapitre « Introduction générale à Scratch »]) le chiffrement de César (chiffrer/déchiffrer) et l’analyse fréquentielle (trouver les fréquences de chaque lettre dans un texte, et afficher ce résultat sous la forme d’un graphique). Cette séquence permet une appropriation de tous les concepts de programmation utiles au collège : séquences, boucles, tests, variables (variables simples et tableaux), fonctions…

Résumé des séances

Séquence 1
Séance Titre Dominante Résumé

1 Comment communiquer secrètement ? Mathématiques Les élèves cherchent plusieurs méthodes permettant de crypter un message, et discutent de la fiabilité de ces méthodes.

2 Le chiffrement de César Mathématiques Les élèves s’initient à la cryptanalyse : ils doivent décrypter un message sans savoir, a priori, comment ce message a été crypté. Ils découvrent le chiffrement de César, forme très simple de cryptage par substitution mono-alphabétique.

3 Chiffrement mono-alphabétique : explosion du nombre de clés possibles Mathématiques Les élèves généralisent le chiffrement de César à n’importe quel chiffrement par substitution mono-alphabétique. Ils apprennent comment chiffrer un message à l’aide d’un mot-clé ou d’une phrase-clé, et calculent le nombre (énorme) d’alphabets chiffrés possibles.

4 Casser le chiffrement mono-alphabétique : l’analyse de fréquence d’Al-Kindi Mathématiques Les élèves découvrent et appliquent la méthode d’analyse fréquentielle inventée par Al-Kindi, nécessitant des allers-retours entre la statistique et la linguistique.

5 Comment communiquer sans échanger la clé ? Mathématiques Les élèves modélisent les échanges entre 2 personnes à l’aide de cadenas et de clés. Ils prennent conscience du point faible de la plupart des méthodes de chiffrement : l’échange de la clé ; et comprennent que l’usage de plusieurs clés permet de résoudre ce problème. C’est le principe du chiffrement asymétrique.

6 Clé publique, clé privée Mathématiques Les élèves perfectionnent leur algorithme de chiffrement asymétrique, en utilisant des clés publiques (qui servent à chiffrer) et des clés privées (qui servent à déchiffrer).

7 La cryptographie, amie ou ennemie ? « atelier philo » Les élèves participent à un « atelier philo » portant sur les enjeux actuels de la cryptographie. Faut-il l’autoriser, au risque d’empêcher les agences de sécurité de faire leur travail ? Faut-il l’interdire, [d1][d2]au risque de voir disparaître notre vie privée ?
Séquence 2
Séance Titre Dominante Résumé

8 Programmer le chiffrement de César (1/4) Mathématiques Les élèves explicitent l’algorithme et listent les étapes qui vont structurer leur projet de programmation du chiffrement de César. Ils programment, dans l’environnement Scratch, une première fonction permettant de trouver la lettre correspondant à un rang dans l’alphabet.

9 Programmer le chiffrement de César (2/4) Mathématiques Les élèves modifient leur programme précédent pour introduire une « fonction » (bloc personnalisé).

10 Programmer le chiffrement de César (3/4) Mathématiques Les élèves avancent leur programme du chiffrement de César : ils sont capables de trouver le rang d’une lettre, puis de chiffrer cette lettre en décalant le rang d’un certain nombre (la clé).

11 Programmer le chiffrement de César (4/4) Mathématiques Les élèves terminent leur programme du chiffrement de César, qui permet désormais de chiffrer un message entier, en tenant compte des espaces, de la ponctuation et des accents. Ils apprennent également à commenter un programme de façon à le rendre lisible et compréhensible.
Une activité de prolongement est proposée afin de les aider à manipuler les opérateurs logiques.

12 Programmer l’analyse fréquentielle Mathématiques Les élèves élaborent un nouveau programme qui permet de calculer les fréquences de chaque lettre d’un message, de façon à faciliter sa cryptanalyse.

13 (optionnelle) Programmer l’affichage de l’histogramme des fréquences (1/2) Mathématiques Les élèves perfectionnent leur programme précédent pour qu’il affiche l’histogramme des fréquences du texte analysé. Ils tracent les axes du graphique et utilisent des costumes (notions propres à Scratch) afin de légender l’axe des abscisses.

14 (optionnelle) Programmer l’affichage de l’histogramme des fréquences (2/2) Mathématiques Les élèves terminent leur programme en lui faisant tracer le graphique correspondant à l’histogramme des fréquences.

Scénario conceptuel