Code ADN #
Les lettres des quatre acides aminés A, T, G, C peuvent être utilisées
comme chiffres pour compter en base 4.
Il suffit d’associer une valeur entre 0 et 3 à chaque chiffre : A=0, T=1,
G=2, C=3 par exemple.
En utilisant ce code en base 4, le nombre 573 s’écrira GACCT, car
2 x 44 + 0 x 43 + 3 x 42 + 3 x
41 + 1 x 40=573.
Tous les entiers de 0 à 63 correspondent exactement aux nombres en base 4 de
3 chiffres. Le premier est AAA (0) et le dernier est CCC (63).
Par ailleurs on dispose de la table suivante qui associe chaque nombre de 0 à 63 à un caractère :
| 00 | 01 | 02 | 03 | 04 | 05 | 06 | 07 | 08 | 09 | 10 | 11 | 12 | 13 | 14 | 15 |
| A | B | C | D | E | F | G | H | I | J | K | L | M | N | O | P |
| 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
| Q | R | S | T | U | V | W | X | Y | Z | a | b | c | d | e | f |
| 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | 47 |
| g | h | i | j | k | l | m | n | o | p | q | r | s | t | u | v |
| 48 | 49 | 50 | 51 | 52 | 53 | 54 | 55 | 56 | 57 | 58 | 59 | 60 | 61 | 62 | 63 |
| w | x | y | z | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | . |
Un message peut donc être chiffré par une séquence de lettres ATGC selon ce
principe :
Pour chaque lettre du message, trouver sa valeur dans la table, écrire cette valeur sur 3 chiffres en base 4 avec les chiffres
ATGC.
Par exemple, le message Bonjour sera chiffré ainsi :
Best le caractère numéro 1, en base 4 sur 3 chiffres, 1 s’écritAAToest le caractère numéro 40, en base 4 sur 3 chiffres, 40 s’écritGGAnest le caractère numéro 39, en base 4 sur 3 chiffres, 39 s’écritGTCjest le caractère numéro 35, en base 4 sur 3 chiffres, 35 s’écritGACoest le caractère numéro 40, en base 4 sur 3 chiffres, 40 s’écritGGAuest le caractère numéro 46, en base 4 sur 3 chiffres, 46 s’écritGCGrest le caractère numéro 43, en base 4 sur 3 chiffres, 43 s’écritGGC
Une fois chiffré, Bonjour s’écrira donc AATGGAGTCGACGGAGCGGGC.
L’agent K a utilisé cette méthode de chiffrement pour transmettre un message contenant le mot de passe utilisé pour accéder à des données en ligne. C’est sans compter sur votre sagacité !
AGCTCGCCGGTGGGAGCTCCGTCTTCGCCGGGTTGGGCAGCATCGCCGTCGGCAGCTCCG
AAAGCAGGTGAGTCAATATACAAGACGGTTCTCGAAGGCCGAGTGCCGCCCCCGAAAGTG
GAGGCTGAGTCGGCACCGTCTTCGCCGGTTCCGTGGGAATCGGTCGCTCCGAGGCCCCCG
Quel est le mot de passe de l’agent K ?
Pièces à fournir :
- réponse à l’énigme ;
- fichier contenant votre code source (
.sb3ou.py), pour que nous puissions tester ;- explications sur la manière dont vous avez procédé.