L’objectif de ce mini-projet est de mettre les élèves en situation d’apprentissage (seul ou en binôme) valorisant l’autonomie, la prise d’initiative et la conception de programmes en Python.
Ce mini-projet cible des notions des deux thèmes du programme de Sciences Numériques et Technologie, à savoir "La photographie numérique" et "Les données structurées et leur traitement".
La thématique abordée est la stéganographie, l’art de dissimuler une information.
Ce mini-projet est constitué de plusieurs étapes :
Etape 0 : Découvrir la stéganographie avec une animation html.
Étape 1 : Comment extraire une image cachée par stéganographie dans une autre image ? Durée 1h
Les élèves peuvent vérifier que les modifications demandées dans l'écriture de certaines fonctions python sont justes grâce aux auto-validations intermédiaires proposées. L’étape 1 sera validée lorsque l'élève montrera l’image cachée au professeur, cela lui donnera alors accès à l’étape 2.
Étape 2 : Comment extraire un texte caché par stéganographie dans une image ? Durée 1h
Le fichier obtenu à l’étape 1 contient un texte caché. Le processus pour cacher l’image est celui détaillé dans l’animation lors de l’introduction du projet. Les élèves doivent modifier et compléter un programme python etape2.py pour faire apparaître le texte caché. L’étape 2 sera validée lorsque l'élève montrera le texte caché au professeur, cela lui donnera alors accès à l’étape 3.
Étape 3 : Comment crypter un mot par substitution ? Durée 1h
L'idée est de crypter le mot caché ( ici le nom d'un acteur) pour rendre plus difficile la tâche d’obtention de l’information par quelqu’un qui tenterait de l’intercepter. Les élèves vont écrire une fonction python, utilisant un fonction crypte qui prend en argument un dictionnaire de cryptage et un message et qui retourne le message crypté. C'est ce message crypté qui sera ensuite caché dans une image grâce à la stéganographie, à l'étape 5.
Étape 4 : Comment décrypter un mot par substitution ? Durée 1h
Pour décrypter ce message, la méthode est là même, il faut simplement utiliser le dictionnaire dans l’autre sens. Pour réutiliser les fonctions déjà écrites, il suffit d’inverser le dictionnaire de cryptage.
Étape 5 : Comment cacher un texte par stéganographie dans une image ? Durée 1h
Le nom et le prénom de l’acteur/actrice va être caché dans une image de cet acteur/actrice.
L’étape 5 sera validée lorsque les élèves ont réussi l’extraction du message caché puis le décryptage de ce message (comme fait aux étapes 2 et 4). Cela leur donne alors accès à l’étape 6.
Étape 6 : Comment cacher une image par stéganographie dans une autre image ? Durée 1h
L’étape 6 sera validée lorsque les élèves auront réussi l’extraction de l'image de l'acteur/actrice à partir de celle de l'affiche du film (comme fait à l'étape 1).
Un QCM de 30 minutes est proposé pour évaluer les notions rencontrées sur ce mini-projet.
Les fichiers téléchargeables
Fichiers élève : l'animation, les énoncés, images, fichiers python à modifier ou compléter :
fichiers eleves steganosaurus
Fichiers professeur : l'animation, les énoncés corrigés, images, fichiers python corrigés, un QCM avec sa correction :
accessibles après connexion avec ses identifiants académiques sur le site en haut à gauche.
(Lien en accès restreint)