L'image mélangée #
L’agent K est toujours (et ça dure depuis des années) à la recherche d’un moyen de communication avec l’agent Q.
Cette fois-ci, il expérimente une méthode pour transmettre une photo. Étant donnée l’image de départ de taille L (largeur), H (hauteur), il commence par déplacer les colonnes de pixel. La colonne 0 passe en position 3, la colonne 1 en position 2 etc. Il note ces permutation dans une autre image carrée de taille LxL. Cette images est pratiquement toute noire, mais contient quelques points blancs :
- un point blanc aux coordonnées (0, 3), pour indiquer que la colonne 0 est passée en position 3
- un point blanc aux coordonnées (1, 2), pour indiquer que la colonne 1 est passée en position 2
- …
Une fois les colonnes permutées, il fait de même avec les lignes, et note dans une troisième image carrée de taille HxH les permutations sur les lignes.
Voici un exemple avec une image 5x4 (et des gros carrés à la place des pixels)
L’image à chiffrer est :

L’image clé pour les colonnes est :

L’image clé pour les lignes est :

Pour chiffrer, on commence par permuter les colonnes. La clé pour les colonnes contient 5 pixels blancs :
- pixel 0, 4 indique qu’il faut déplacer la colonne 0 de l’image de départ en position 4 de la nouvelle image
- pixel 1, 3 indique qu’il faut déplacer la colonne 1 de l’image de départ en position 3 de la nouvelle image
- pixel 2, 0 indique qu’il faut déplacer la colonne 2 de l’image de départ en position 0 de la nouvelle image
- pixel 3, 1 indique qu’il faut déplacer la colonne 3 de l’image de départ en position 1 de la nouvelle image
- pixel 4, 2 indique qu’il faut déplacer la colonne 4 de l’image de départ en position 2 de la nouvelle image
À l’issue de ces permutations on obtient :

Puis on permute les lignes pour obtenir encore une nouvelle image. La clé pour les lignes contient 4 pixels blancs :
- pixel 0, 2 indique qu’il faut déplacer la ligne 0 en position 2 de la nouvelle image
- pixel 1, 1 indique qu’il faut déplacer la ligne 1 en position 1 de la nouvelle image (la ligne ne bouge pas)
- pixel 2, 3 indique qu’il faut déplacer la ligne 2 en position 3 de la nouvelle image
- pixel 3, 0 indique qu’il faut déplacer la ligne 3 en position 0 de la nouvelle image
On obtient ainsi :

Vous avez pu intercepter une image chiffrée par l’agent Q, qui a pour taille 300x400 :
Par ailleurs, les clés utilisées pour chiffrer ont fuité, et vous les possédez aussi :
Vous devez déchiffrer l’image, retrouver l’endroit précis qui est représenté (utilisez une recherche par image inversée), puis les coordonnées GPS précises du lieu qui est sur la photo (pour une plus grande précision, utilisez geoportail).
Vous fournirez le nom du lieu ainsi que les coordonnées GPS en degrés décimaux avec 4 chiffres après la virgule
(et non degrés/minutes/secondes).
Par exemple, la longitude 2°20'46" Ouest s’écrit en degrés décimaux : -2.346111 soit -2.3461 si on
conserve uniquement 4 chiffres après la virgule.
(la valeur est négative pour une longitude Ouest ou une latitude Sud).
- Attention, regardez bien l’exemple pour ne pas confondre lignes et colonnes…
- L’exemple explique comment «chiffrer» l’image. Pour la déchiffrer (ce que vous devez faire), il faut procéder à l’envers.
- On demande les coordonnées GPS de l’objet qui est sur la photo, pas les coordonnées GPS de celui qui
a pris la photo.
Pièces à fournir :
- fichier contenant votre code source, pour que nous puissions tester ;
- explications sur la manière dont vous avez procédé ;
- réponse à l’énigme (le nom du lieu et les coordonnées en degrés décimaux avec 4 chiffres après la virgule)
Testez votre réponse #
Vous pouvez vérifier partiellement votre réponse en entrant ci dessous la latitude en degrés décimaux, avec
3 chiffres après la virgule (par exemple 47.254) :