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 :
B
est le caractère numéro 1, en base 4 sur 3 chiffres, 1 s’écritAAT
o
est le caractère numéro 40, en base 4 sur 3 chiffres, 40 s’écritGGA
n
est le caractère numéro 39, en base 4 sur 3 chiffres, 39 s’écritGTC
j
est le caractère numéro 35, en base 4 sur 3 chiffres, 35 s’écritGAC
o
est le caractère numéro 40, en base 4 sur 3 chiffres, 40 s’écritGGA
u
est le caractère numéro 46, en base 4 sur 3 chiffres, 46 s’écritGCG
r
est 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 (
.sb3
ou.py
), pour que nous puissions tester ;- explications sur la manière dont vous avez procédé.