TP Enigma


Enigma

Prise en main matériel
Programmation C
Algorithme
Mise en situation
Niveau : BTS Ciel première année (04/02/2024)
Durée : 8 H
Equipe : 1 étudiant
|
Objectifs
- C1.1Rechercher et structurer des informations techniques
- C1.2Présenter des informations
- C2.1Maintenir les informations
- C3.1Analyse d'un cahier des charges
- C4.2Adapter et/ou configurer un matériel
- C4.4Développer un module logiciel
- C4.5Tester et valider un module logiciel
- C4.6Intégrer un module logiciel
|
Pré requis
- Programmation C
- Bases d’électronique
|
Travail demandé
- Lire la documentation fournie
- Analyse des documents de configuration
- Créer l’algorithme
- Faire le programme
|
Matériel
- Voir présentation plus loin
|
En bon agent secret que vous êtes, vous voulez passer un message sur le net mais sans que l'on puisse le sniffer. Pour cela, vous allez écrire le message sur une feuille blanche, le photographier, le passer dans votre logiciel de codage. Le message sera intégré dans la photo de base. A la réception, pour le décoder, vous allez passer la photo reçue dans le logiciel qui le décodera.
Le message :

Le codage :

Le décodage :
Il vous est demandé de réaliser le logiciel en C# :

qui permet le codage et décodage du message caché dans une photo.
Remarque On pourra jouer sur le dernier bit du pixel. Mettre à 0 si c'est blanc (> à 125) et à 1 si c'est noir (< à 125).
Aide
- Trouver une image :
OpenFileDialog fichier = new OpenFileDialog();
if (fichier.ShowDialog() == DialogResult.OK)....
- Utiliser une Bitmap :
Bitmap mageSecrete = new Bitmap(chemin);
- Prendre pixel par pixel et faire la moyenne des couleurs :
pixelBase = imageBase.GetPixel(j, i);
gris = pixel.R + pixel.G + pixel.B; ....
- Suivant le résultat, mettre le dernier bit du bleu à 0 ou 1
Color pixelBase = Color.FromArgb(255, pixelBase.R, pixelBase.G, pixelBase.B & 0xFE);

