Connexion Premium

Au CNRS, un chiffrement « inviolable » à base d’ADN

aHR0cHM6Ly93d3cueW91dHViZS 5jb20vd2F0Y2 g/dj1kUXc0dzlXZ1hjUQ==

Au CNRS, un chiffrement « inviolable » à base d’ADN

L’ADN peut générer de longues chaines de données aléatoires, ce qui est parfait pour créer de grands masques jetables pour chiffrer des données, avec une protection « inviolable ». Le CNRS présente ses travaux, qui mélangent ADN et chiffre de Vernam.

Le 03 avril à 16h08

Dans un précédent article, nous étions revenus sur les méthodes de chiffrement en informatique des dernières décennies. Nous avons également analysé la menace quantique ainsi que le chiffrement hybride qui mélange les deux mondes. Au milieu de tout cela, il existe depuis plus de 100 ans un algorithme de chiffrement inviolable : le masque jetable ou chiffre de Vernam.

Juste des permutations… mais sur chaque caractère

Le principe de base est simple : il s’agit ni plus ni moins d’une permutation de l’alphabet, mais avec une clé aussi longue que le message à chiffrer. Il faut par contre respecter une condition : la clé (ou masque) ne doit être utilisé qu’une seule fois et elle doit être totalement aléatoire (et ce n’est pas si facile de faire du 100 % aléatoire).

Avec une clé de la taille du message et une rotation aléatoire de l’alphabet à chaque lettre, un message de 10 caractères pourrait être transformé en n’importe quel mot (ou groupe de mots) de 10 caractères, sans savoir lequel est le bon.

Imaginez avec un message chiffré plus court, par exemple ABC, il pourrait aussi bien s’agir de OUI, que NON, DIX, TES, ZUT… sans pouvoir trouver le message en clair si vous n’avez pas la bonne clé. On parle de sécurité inconditionnelle, « c’est-à-dire indépendante de la puissance de calcul d’un adversaire », et on peut le prouver dans le cas présent.

Avec l’ADN, de très grandes clés aléatoires

Le problème du chiffre de Vernam est double : d’abord, générer des clés de très grandes tailles et aléatoires, puis échanger physiquement les clés. Dans le premier cas, le CNRS propose une solution : l’ADN : « Chaque molécule d’ADN est composée de quatre bases chimiques (A, T, C et G), et les chimistes sont capables de synthétiser commercialement de longues chaines dont l’ordre des bases est statistiquement aléatoire. Ces séquences d’ADN peuvent ensuite être copiées à l’identique, à l’aide de processus enzymatiques, et ainsi partagées entre un expéditeur et un destinataire ».

L’ADN coche toutes les cases avec une densité de stockage et une stabilité remarquables  : « correctement conservé, le polymère peut rester intact pendant des milliers d’années et il suffit de quelques milligrammes pour stocker des exaoctets d‘information binaire, soit l’équivalent d’un million de disques durs ». Stocker autant de données dans aussi peu de place avec un autre système c’est actuellement… compliqué.

Des candidats parfaits pour les masques, mais il faut toujours les échanger sans la moindre interception, sinon toute la sécurité s’effondre si une tierce partie récupère une copie des clés. L’avantage de l’ADN c’est qu’il ne prend pas beaucoup de place et qu’il est facile à transporter.

Pour le CNRS, les principales perspectives se trouvent dans « la protection des communications les plus sensibles, qu’il s’agisse d’échanges diplomatiques, militaires ou scientifiques ». Dans un second temps, cette technique « pourrait également trouver des applications dans des contextes extrêmes, notamment les communications spatiales ou les infrastructures numériques critiques où la fiabilité et l’inviolabilité des échanges constituent des enjeux majeurs ».

Commentaires (16)

votre avatar
Rhooo le sous titre... 😅

Me suis bien fait avoir 🤣

Mais sujet hautement intéressant, merci !
votre avatar
Je m'en doutais un peu, mais moi aussi j'y suis allé de mon plein gré
votre avatar
J’en attendais pas moins xD
votre avatar
Il ne nous laissera jamais tomber ❤️
votre avatar
Rickroll?
votre avatar
Idem :D
votre avatar
Je confirme !
votre avatar
J'ai trouvé l'algo de codage/décodage mais je n'ai pas copié collé le résultat dans mon navigateur. Pas folle la guêpe. :D
votre avatar
Bon, mais sinon, au lieu d'utiliser de l'ADN, ce qui coûte super cher, d'autant qu'on le "lit" deux fois à deux endroits différents. Autant échanger directement une clef USB, ce sera moins cher et aussi efficace. Il suffit de la remplir avec un processus aléatoire (lava lamps ? ça me paraît rester moins cher que l'ADN...)

Je trouve cette technique assez capillotractée et pas utilisable en pratique (d'autant qu'il faut du temps pour lire l'ADN...). Ca rsemble regrouper des choses qui ne sont finalement pas vraiment innovantes (masque jetable et lecture d'ADN), surtout pour faire parler... La seule innovation, c'est finalement la génération de données aléatoires en masse grâce à l'ADN (et donc de pouvoir traiter d'énormes quantités de données d'un coup, qui nécessiteraient un grand nombre de clefs USB pour le transfert).
votre avatar
Si tu stocke 1 Go de masque, grosso modo tu peux chiffrer 1 Go de données (on simplifie).
ADN : « le polymère peut rester intact pendant des milliers d’années et il suffit de quelques milligrammes pour stocker des exaoctets d‘information binaire, soit l’équivalent d’un million de disques durs ». Sans compter la durée de vie, la taille des clés est sans commune mesure, et  ça change tout !
votre avatar
Donc l'avantage c'est juste de n'avoir à faire l'échange physique qu'une seule fois pour être tranquille à vie, c'est vrai que c'est un bon avantage. Après il faut voir quelle est la durée nécessaire pour séquencer tout ça. (En vrai je me demande aussi comment ils savent par quel bout commencer :keskidit:)

"Si tu stocke 1 Go de masque, grosso modo tu peux chiffrer 1 Go de données (on simplifie). " Ca me paraît normal, je ne vois pas où est la simplification ? A moins qu'il y ait de la redondance ou des CRC à cause du risque de mutation de l'ADN lors de la recopie ?
votre avatar
Déjà la différence sur l’encodage : deux valeurs (0/1) pour les data, contre quatre pour l’ADN( (A/T/C/G)
votre avatar
Mauvais argument, non ? Lorsqu'on parle de stockage, ce n'est pas son encodage naturel dont il est question, mais sa densité volumétrique, son efficacité d'accès, sa pérennité temporelle, son coût énergétique et son coût économique.

En prenant un exemple absurde: si on imagine que l'ADN prend dix fois plus de temps d'accès qu'une autre solution et qu'on exige une efficacité maximale; ce dernier est le critère de sélection. Peu importe l'encodage. Ce dernier étant fonction du support naturel.

L'encodage est plutôt le système de représentation des données ou du contrôle de leur intégrité.

C'est comme pour les cellules des SSD. Les QLC, etc. Le système de niveau de charge des cellules n'a rien à voir avec le mode naturel de "fixation" de l'information. C'est toujours le même principe qu'un SLC mais avec une méthode différente. Et cela ne s'apparente pas à un encodage, selon les critères que je comprends. Malgré tout, si on considère cette méthode comme un encodage, ça ne change rien à me propos, je pense. Supposons, de manière irréaliste j'en conviens, que ça impliquerait qu'une cellule QLC soit quatre fois plus volumineuse qu'une SLC. Le ratio d'efficacité volumétrique est de zéro, qu'importe la méthode/l'encodage.

Tout ça pour dire que c'est cool de penser à l'ADN comme moyen de stockage et que ça pourrait être utile dans certains cas. Mais quid du séquencement, du temps, du coût, etc. (Même si j'ai un doute sur la qualité et l'intégrité de la donnée sur le temps. Je ne crois pas que l'ADN soit indestructible ni inaltérable. Or, on arriverait là à un encodage d'ADN. De type ECC. Bien que je crois que c'est déjà le cas pour l'ADN au niveau cellulaire. Mais là, cela dépasse mes connaissances)
votre avatar
Ca serait sorti le 1er avril je me serai dit il est frais. Intéressant pour le coup.
votre avatar
(édit : suppression du message suite à la correction du nombre de post de @SébastienGavois)
votre avatar
Je n'ai pas bien saisi comment on lit l'ADN ? il faut dans un premier temps dupliquer via ARN ?
puis faire le séquençage de la copie ?