Exercice : Diffusion d’une émission payante et cryptage par fichiers
Pour permettre la diffusion d’une émission payante, une chaîne télévisée transmet périodiquement aux récepteurs des abonnés un fichier texte nommé « F_Code.txt », généré selon le procédé suivant :
- On remplit aléatoirement une matrice carrée M de dimension N x N par des lettres majuscules.
- À partir de la matrice M, on génère un fichier texte nommé « F_Inter.txt » en parcourant la matrice M sous une forme circulaire où chaque ligne du fichier contient la concaténation des valeurs des cases du même niveau en commençant de la case du coin haut à gauche (d’indices [0, 0]), comme le montre l’exemple ci-après.
- On remplit le fichier « F_Code.txt » de la manière suivante :
- a- La première ligne contient l’équivalent de N en binaire.
- b- Chacune des autres lignes contient les conversions en hexadécimal des codes ASCII des caractères d’une ligne du fichier « F_Inter.txt », séparés par le caractère
#.
Exemple :
À partir de la matrice M de dimension $5 \times 5$ suivante :
| 0 | 1 | 2 | 3 | 4 | |
|---|---|---|---|---|---|
| 0 | B | B | A | K | G |
| 1 | F | G | M | E | R |
| 2 | X | A | V | Z | G |
| 3 | A | V | T | R | E |
| 4 | A | S | S | E | K |
Le fichier « F_Inter.txt » aura le contenu suivant :
BBAKGREDKESSAAXF
GMETREZV
G
GMETREZV
G
Le fichier « F_Code.txt » généré sera représenté comme suit :
101
42#42#41#4B#47#52#45#44#4B#45#53#53#41#41#58#46#
47#4D#45#54#52#45#5A#56#
47#
42#42#41#4B#47#52#45#44#4B#45#53#53#41#41#58#46#
47#4D#45#54#52#45#5A#56#
47#
Travail demandé :
- Analyser le problème en le décomposant en modules.
- Analyser chacun des modules envisagés.