Code ADN

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’écrit AAT
  • o est le caractère numéro 40, en base 4 sur 3 chiffres, 40 s’écrit GGA
  • n est le caractère numéro 39, en base 4 sur 3 chiffres, 39 s’écrit GTC
  • j est le caractère numéro 35, en base 4 sur 3 chiffres, 35 s’écrit GAC
  • o est le caractère numéro 40, en base 4 sur 3 chiffres, 40 s’écrit GGA
  • u est le caractère numéro 46, en base 4 sur 3 chiffres, 46 s’écrit GCG
  • r est le caractère numéro 43, en base 4 sur 3 chiffres, 43 s’écrit GGC

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é.