Pfe Crypto Dna
Pfe Crypto Dna
Pfe Crypto Dna
Mémoire de Master
Spécialité : Sécurité informatique et cryptographie
Thème
Cryptographie à base d’ADN
dans l’IoT:
Vers Un code Qr sécurisé
SERRAR Maroua
Enfin, nous tenons à remercier tous ceux qui, de près ou de loin, ont
contribué à la réalisation de ce travail.
Introduction générale 8
Chapitre 1 : La cryptographie
I.1. Introduction 11
I.2. Cryptographie 12
I.3.1. La confidentialité 12
I.3.2. L'authentification 13
I.3.3. L'intégrité 13
I.4 Crypto-système 15
I.4.1 Les éléments d’un crypto-système 15
I.4.2 Types de crypto-systèmes 16
II.2 L’ADN 23
III.3.9 Codage en QR 41
2. Codage en Qr 42
III.4 Le déchiffrement 45
L’algorithme a été implémenté sur un Raspberry pi3 et les résultats obtenus ont montré
sa robustesse.
Absract
With the daily increase of devices connected in the IOT, the main concern is the security
of the data exchanged between the sender and the receiver. Many approaches have been
proposed to improve crypto-systems including DNA cryptography. In this thesis, a
DNA-based symmetric key cryptographic method was proposed that combines DNA
cryptography and Huffman coding to create a secure Qr code.
The algorithm was implemented on a Raspberry pi3 and the results obtained showed its
robustness.
ملخص
فإن الشاغل الرئيسي هو أمن البيانات المتبادلة بين المرسل، مع الزيادة اليومية لألجهزة المتصلة في إنترنت األشياء
في. تم اقتراح العديد من األساليب لتحسين أنظمة التشفير بما في ذلك تشفير باستعمال الحمض النووي.والمستقبل
تم اقتراح طريقة تشفير بمفتا ح متماثل تعتمد على الحمض النووي والتي تجمع بين تشفير الحمض، هذه المذكرة
. آمنQr النووي وتشفير هوفمان إلنشاء كود
وأظهرت النتائج التي تم الحصول عليها متانة الخوارزمية المقترحةRaspberry pi3 تم تنفيذ الخوارزمية على
Introduction
Générale
De nos jours, on entend de plus en plus parler de l'Internet des Objets (IoT), c'est
l'ensemble des objets qui peuvent communiquer sans fil. Dans l'environnement IoT, plusieurs
messages sont envoyés par les éditeurs, sur des canaux de transmission qui seront lus par les
abonnés via un serveur qui se charge de les relier.
L'Internet des objets (IoT) est le réseau d'objets physiques de la vie quotidienne,
d'appareils électroménagers, de véhicules, d'appareils et de nombreux éléments électroniques
embarqués, actionneurs, capteurs, logiciels, matériels et connexions qui assure la
communication de données entre ces objets pour créer la possibilité d'une forte intégration du
monde physique dans le système numérique. Cela se traduit par des avantages économiques, une
efficacité améliorée et une diminution des efforts humains.
L'Internet des objets englobe un réseau Internet étendu au-delà des appareils standard,
tels que les ordinateurs de bureau, les ordinateurs portables, les tablettes et les smartphones, à
toute gamme d'appareils physiques et d'objets quotidiens comme présenté dans la figure 1.
Intégrés à la technologie, les appareils IoT peuvent communiquer et interagir sur Internet, et ils
sont surveillés et contrôlés à distance
8
Avec l'accélération d'Internet et des technologies de réseautage, de jour en jour, les
menaces augmentent également pour les utilisateurs, en raison du grand nombre d'objets
connectés et du flux important d'informations entre ces objets. Par conséquent, pour garantir que
les informations parviennent à l'expéditeur et au destinataire prévus, toutes les faiblesses des
systèmes de sécurité doivent être surmontées.
Plusieurs travaux de recherche ont été menés autour de la sécurité des données dans
l'environnement IoT tout en cherchant à répondre aux exigences de temps et de flux de données,
le chiffrement fait donc partie de ces solutions.
2- Utilise les séquences ADN pour l’extraction des codes des bases azotiques en
appliquant le codage de Huffman afin de chiffrer les textes en claire.
Organisation de mémoire :
Notre mémoire est répartie en 3 chapitres ; Le premier chapitre c’est une introductions à
la sécurité et aux techniques de cryptographie , symétrique et asymétrique.
Dans le deuxième chapitre , nous présenterons un état de l’art autour de la cryptographie à base
d’ADN , nous dériverons l’ADN , sa structure et ses différents composant. Ensuite nous
présenterons la cryptographie à base d’ADN avec une bref description de quelques travaux dans
l’axe.
9
Chapitre I
La cryptographie
Chapitre I La cryptographie
I.1. Introduction
La cryptologie peut être considérée à la fois comme un art ancien et une science nouvelle. Un
art ancien car depuis le temps de César, on utilisait déjà des méthodes artisanales comme le décalage
alphabétique, les permutations ou les substitutions pour cacher des informations. Une science
nouvelle car ce n’est que depuis les années 1970, à la naissance du chiffrement à clef publique,
qu’elle est devenue un thème de recherche académique lié à beaucoup d’autres domaines
scientifiques, en particulier à la théorie des nombres, à l’algèbre, à la complexité, à la théorie de
l’information, aux codes correcteurs d’erreurs.
Le préfixe « crypto » provient du grec « kryptos » qui signifié « caché » ou « secret » donc la
cryptologie signifié la science du caché ou la science du secrets. [2] Se décompose en cryptographie
et cryptanalyse.
La figure 1.1 donne la vue d'ensemble du champ cryptologie dans sa totalité. En cryptologie,
Le message original à envoyer est appelé texte clair, tandis que le message codé est appelé texte
chiffré. Le processus que nous utilisons pour convertir le texte brut en texte chiffré s'appelle le
chiffrement et le processus qui convertit le texte chiffré en texte clair est appelé décryptage. De
nombreux régimes ont été utilisés pour le chiffrement qui constituent un domaine d'étude connu sous
le nom de cryptographie et ces schémas sont appelés systèmes cryptographiques ou chiffrements.
Cryptology
Cryptography Cryptanalysis
Symmetric Asymmetric
Cryptography cryptography
11
Chapitre I La cryptographie
Dans ce mémoire, nous nous concentrons uniquement sur la cryptographie. Dans ce qui suit
nous présentons la cryptographie, son principe, les éléments d’un crypto-système et les deux types
des crypto-systèmes (symétrique et asymétrique)
I.2. Cryptographie
Le mot vient du grec « crypto » qui signifié « caché » ou « secret », et « graphein » qui
signifié « écriture », donc c’est une manière de masquer l’écriture tout en préservant un moyen de le
retrouver. [3]
La cryptographie est la science qui consiste à écrire n'importe quel message dans un secret ou
langage de code destiné à masquer le sens du message.
Le chiffrement consiste à transformer une donnée (texte, message, ...) afin de la rendre
incompréhensible par une personne autre que celui qui a créé le message et celui qui en est le
destinataire. La fonction permettant de retrouver le texte clair à partir du texte chiffré porte le nom de
déchiffrement. [4]
12
Chapitre I La cryptographie
certitude que seul celui qui dispose de leur clef de déchiffrement peut déchiffrer ces messages.
13
Chapitre I La cryptographie
14
Chapitre I La cryptographie
• Que personne d’autre que lui (et Alice bien sûr) n’a accès au contenu du message,
confidentialité.
• Que le message reçu vient bien d’Alice authentification, par exemple qu’un attaquant
malveillant (Oscar) ne puisse pas se faire passer pour Alice, mascarade ou usurpation
d’identité
• Que le message n’a pas été falsifié par un attaquant malveillant (Martin), intégrité des
données
• Que l’expéditeur (Alice) ne pourra pas nier avoir envoyé le message, non répudiation. [6]
I.4 Crypto-système
Un crypto-système est également appelé système de chiffrement. Il met en œuvre des
techniques cryptographiques utilisant divers composants cryptographiques tels que le texte brut,
l'algorithme de chiffrement, le texte chiffré, l'algorithme de déchiffrement et la clé de chiffrement
pour fournir des services de sécurité de l'information.
15
Chapitre I La cryptographie
Il s'agit d'un processus de conversion de texte brut en texte chiffré à l'aide d'une clé de cryptage. Il
faut deux entrées, c'est-à-dire du texte brut et une clé de chiffrement, pour produire un texte chiffré.
4) Algorithme de déchiffrement
C'est un processus opposé d'un algorithme de cryptage ; il convertit le texte chiffré en texte brut à
l'aide de la clé de déchiffrement. Il faut deux entrées, c'est-à-dire le texte chiffré et la clé de
déchiffrement, pour produire du texte brut.
5) Clé de chiffrement
Il s'agit d'une clé utilisée par l'expéditeur pour convertir le texte brut en texte chiffré.
6) Clé de déchiffrement
C'est une clé que le récepteur utilise pour convertir le texte chiffré en texte brut.
Il se fait bit à bit sans attendre la réception entière des données, l’algorithme le plus connu est
le RC4.[7]
Consiste à diviser les données en blocs de taille fixe (64,128), chaque bloc ensuite sera
chiffré.[7] Les algorithmes les plus connus sont : DES,3DES et AES.
16
Chapitre I La cryptographie
17
Chapitre I La cryptographie
18
Chapitre I La cryptographie
publie à l'intention de ceux qui veulent lui envoyer des messages une méthode de chiffrement que lui
seul est capable de déchiffrer. On voit donc bien pourquoi ces systèmes sont dits asymétriques. [10]
19
Chapitre I La cryptographie
20
Chapitre I La cryptographie
I.14. Conclusion
Dans ce chapitre nous avons présenté les principaux aspects de la cryptographie, Nous avons
décrire les composants d’un crypto-système avec ces deux types : symétrique et asymétrique, tout en
expliquant leur fonctionnement à travers des exemples d’algorithmes cryptographiques anciens et
modernes.
La cryptographie à base d’ADN qui est l’axe sur lequel notre sujet s’articule, Il utilise le calcul à
l’ADN dans ces phases de chiffrement et déchiffrement, fait l’objet du deuxième chapitre suivant.
21
Chapitre II
La cryptographie à
base d’ADN
Chapitre II La cryptographie à base d’ADN
II.1 Introduction
L'ADN est le support de l'hérédité. Dans une molécule d’ADN, les nucléotides sont
rangés dans un ordre précis à la manière des lettres de l'alphabet dans un texte. C'est cet ordre
qui détermine l'information génétique.
23
Chapitre II La cryptographie à base d’ADN
Cette molécule assure également un certain nombre de fonctions au sein de la cellule. Elle
gouverne notamment la synthèse des protéines. Pour ce faire, l'information contenue dans
l'ADN est d'abord transférée à des molécules d'ARN qui servent de matrice pour produire les
séquences d’acides aminés caractéristiques des protéines.
L’ADN permet aussi la réplication des cellules : quand une cellule doit se reproduire, elle se
dédouble en se dupliquant. L'ADN de la cellule mère est reproduit à l'identique pour former
celle de la cellule fille. [MAN09]
L’ADN a une structure en double hélice, elle est formée de quatre bases qui sont des
pyrimidines. Il existe quatre bases azotées dans l'ADN, à savoir l'adénine (A), la cytosine (C),
la guanine (G) et la thymine (T). L'adénine et la guanine sont appelées purines, tandis que la
cytosine et la thymine sont appelées pyrimidines ; mais sont appariés comme Adénine avec
Thymine et Cytosine avec Guanine selon la règle complémentaire de Watson-Crick. La paire
Adénine-Thymine est liée par une double liaison hydrogène, tandis que le duo Cytosine-
Guanine est lié par une triple liaison hydrogène.[15]. La structure de l'ADN d'une molécule
est illustrée dans la figure II.1 ci-dessous
Un nucléotide est l’ensemble d’une base azotée, d’un sucre et d’un groupement de
phosphate. Le sucre présent dans l’ADN est le Désoxyribose, ce sucre est relié à l’une des
bases azotée (A, T, C, G). Si on enlève le groupement de phosphate au nucléotide, il devient
un nucléoside. Un brin d'ADN est formé par la répétition ordonnée de ces nucléotides.
[MAN09]
{« Sucre » + « Base Azoté »} Nucléoside
24
Chapitre II La cryptographie à base d’ADN
Les chromosomes sont définis comme la grande structure organisée d'ADN enroulée
autour de protéines qui englobent des gènes, d'autres séquences de nucléotides et des éléments
de contrôle.
25
Chapitre II La cryptographie à base d’ADN
Une autre terminologie impérative de l'ADN est le génome, qui représente la séquence
unique pour le contenu de l'ADN cellulaire de chaque organisme, c'est-à-dire les bases
nucléotidiques, les gènes et les chromosomes.
26
Chapitre II La cryptographie à base d’ADN
Avantages :
27
Chapitre II La cryptographie à base d’ADN
28
Chapitre II La cryptographie à base d’ADN
En 2008, A.K. Verma, Mayank Dave et R.C. Joshi [22] a projeté une nouvelle approche
du routage sécurisé dans les réseaux mobiles ad hoc (MANET). Ils ont utilisé la tactique de
cryptoanalyse Quasi DNA pour sécuriser les réseaux Adhoc. L'approche de cryptographie du
pseudo-ADN utilisée par eux a été construite sur le concept de biologie moléculaire dans
lequel le texte d'entrée est stocké dans l'ADN puis transféré par transcription d'ARN, puis aux
protéines par transformation, obtenant ainsi le texte chiffré. Le texte chiffré ainsi obtenu est
ensuite envoyé sur le support sécurisé au récepteur .
En 2012, Yunpeng Zhang, Bochen Fu et Xianwei Zhang [23] ont défini un cryptosystème
d'ADN utilisant l'assemblage de fragments d'ADN. Dans le protocole, il a été expliqué
comment l'expéditeur traduit le texte d'entrée en une séquence binaire, puis en une chaîne
d'ADN qui est à nouveau divisée en petites chaînes d'ADN. Dans les fragments, la clé de
l'intégration de la chaîne courte se produit et est ensuite transférée au récepteur sous forme de
texte codé. Le récepteur rassemble alors les fragments en les déchiffrant pour obtenir à
nouveau le texte en clair. Ici, la longueur du texte chiffré est sécurisée et courte. Mais comme
la dimension du fragment d'ADN est petite, l'intrus peut facilement l'identifier.
En 2013, Olga Tornea et Monica E. Borda [24] ont donné un code construit par ADN
créé sur la base du schéma d'indexation de l'ADN. L'arrangement arbitraire de l'ADN obtenu
à partir de la base de données génétiques a été utilisé comme clé à usage unique. Il est ensuite
transféré au récepteur via un support de transmission sécurisé. Le processus d'encodage se
produit en traduisant le texte d'entrée en son code ASCII correspondant, puis à nouveau en
code binaire qui est finalement transformé en bases d'ADN. Maintenant, l'arrangement d'ADN
ainsi conçu est recherché dans la séquence de clés et enregistre les numéros d'index. Le
tableau de nombres entiers ainsi obtenu est le texte codé qui est déchiffré par le récepteur
uniquement en utilisant la clé et le pointeur d'index.
29
Chapitre II La cryptographie à base d’ADN
En 2020, Benyahia et all , ont proposé un algorithme nommé « Stegano-DNA » à clé secrète
agissant en bloc de 64 bits. Chaque bloc sera chiffré à l'aide d'une fonction de chiffrement qui
produit un bloc chiffré de 64 bits à l'aide d'une clé de chiffrement composée de 4 parties. La
phase de chiffrement est divisée en deux parties : la partie brouillage et la partie cryptage.
Inspiré de plusieurs autres algorithmes déjà connus DES, ENIGMA et BOOK CYPHER.La
clé de chiffrement est également divisée en deux parties : une partie choisie par le chiffreur
et une partie générée par l'algorithme.[25]
En 2021 ; khabzaoui et all , ont proposé une méthode cryptographique à clé symétrique dans
un environnement IoT basée sur l'ADN qui combine la cryptographie ADN et la clé d'échange
Diffie-Hellman. Les sous-clés utilisées pour le chiffrement et le déchiffrement sont extraites
d'une séquence de référence d'ADN sélectionnée au hasard à l'aide d'une graine secrète et
continuellement modifiée partagée entre l'expéditeur et le destinataire selon l'algorithme
d'échange de clés Diffie-Hellman qui conduit à une sécurité plus élevée, respectant les
principes d'intégrité et de confidentialité.[26]
Conclusion
Dans ce chapitre, nous avons présenté l’ensemble des notions concernant l’ADN
comme étant la base de la cryptographie ADN , sa définition et sa structure .Nous avons donné
une vue sur la cryptographie à base d’ADN et ses avantages et Nous avons cité quelques
travaux de chiffrement à bas d’adn. Nous proposons dans le chapitre suivant notre algorithme
de chiffrement qui utilise les séquence d’ADN et le codage de huffman pour créer des codes
qr sécurisés.
30
Chapitre III
Implémentation et
résultats
Chapitre III Implémentation & Résultats
III.1 Introduction
La sécurité dans l’internet des objets sert à sécuriser la communication entre les
différents objets. Nous présentons dans ce chapitre un crypto-système qui constitue le moyen
de chiffrer les différents messages circulant dans un réseau IoT. Notre algorithme utilise les
séquence Adn pour chiffrer les messages avant de les transmettre aux récepteurs sous forme
Code QR.
Tout au long de ce chapitre, nous présenterons en détails notre système et les
différentes techniques utilisées dans ses différentes phases.
III.2 Présentation de l’approche
Le crypto-système que nous proposons est un algorithme symétrique (à clef secrète) agissant
par bloc de 64 bits. La séquence ADN qui est généralement un chromosome fait l’objet ce
système, c’est à partir de laquelle on fait l’extraction des codes binaires des bases azotiques
(A ,T,C,G) et des clés de chiffrement/déchiffrement. La figure III.1 représente l’approche
globale,
32
Chapitre III Implémentation & Résultats
III.3 Le chiffrement
Nous détaillons le processus de chiffrement comme il est schématisé dans la figure III.3
33
Chapitre III Implémentation & Résultats
34
Chapitre III Implémentation & Résultats
35
Chapitre III Implémentation & Résultats
Les caractères les plus fréquents ont des codes plus petits et des codes plus longs pour les
caractères les moins fréquents. Il y a principalement deux parties. Un premier pour créer
l'arbre de Huffman, et un autre pour parcourir l'arbre pour trouver des codes.
A la fin de cette phase , nous obtiendrons les codes binaires corresponds de A ,T , et G
III.3.4 Codage en ADN
Dans cette phase, Nous transformons une bloc qui contient (64 bits) en brin d’ADN
qui contient les quatre bases azotées A, C, G et T, selon les codes tirés de la phase précédente
(codage de huffman) , on effectue la transformation suivante :
36
Chapitre III Implémentation & Résultats
A C G T
A A C G T
C C A T G
G G T A C
T T G C A
III.3.7 Brouillage
Le brouillage sert comme moyen d’élimination d’ordre logique des bases azotique dans les
blocs. Nous avons utilisé 16 boites de brouillage de 16 bases crées d’une manière aléatoire.
(inspiré de DES) FigIII.8.
Nous appliquons dans cette phase un brouillage de 6 tours. C’est une inspiration du
schéma de Feistel selon la Figure III.7
37
Chapitre III Implémentation & Résultats
FigIII.7 Brouillage
III.3.8 La transcription
En biologie, le processus de transcription commence quand une enzyme appelée ARN
polymérase (ARN pol)se fixe au brin d’ADN matrice et commence à catalyser la production
de l’ARN complémentaire, appelé le ARNm. Une copie d’un seul brin d’ADN est produite,
prête pour le processus de traduction. Figure III.9
Dans notre algorithme, cette phase est une substitution mono-Alphabétique simulant
le processus de transcription du dogme central.
A →T.
C →G.
G →C.
38
Chapitre III Implémentation & Résultats
T →U(A).
FigIII.9: La transcription.
Cette procédure est aussi une substitution qui simule la phase de translation du dogme central.
Rappel de La traduction dans l’ADN :
Dans ce processus, le ribosome (la molécule qui exécute la translation) lit trois premières
bases (codant) de l’ARNm, et à l’aide de la table du code génétique, trouve l’acide aminé
adéquat, puis les trois bases suivantes, ainsi de suite jusqu’à rencontrer une séquence stop qui
indique la fin de la translation (Figure III..10)
39
Chapitre III Implémentation & Résultats
40
Chapitre III Implémentation & Résultats
A A A A C C C C G G G G U U U U
A C G U A C G U A C G U A C G U
AA 0F 6D FD 70 1C 05 FE BA FB 73 74 FF 78 FC 60 63
AC C0 1A 4D 48 20 50 88 E1 01 38 AA 0C 94 49 AB 02
AG 3D E7 B0 0D A0 D4 10 29 46 67 89 47 2E B6 37 BF
AU D2 9C 3F D3 87 2D BE 5C D5 15 A9 56 C5 12 95 66
CA 65 F4 B8 19 D1 77 45 E0 31 8A 2A E8 55 BD 54 04
CC B1 9B 27 39 5B C8 F5 B5 57 68 BC 0B 93 23 D0 79
CG 7F 1B 76 AE 11 44 8B 4F 14 3A 4A E6 F6 B7 2B AD
CU 3C 4B A1 06 5A 6F C9 A8 DF 51 AC 22 CA 53 92 36
GA B2 8C A7 4C DE 21 75 1D 58 E5 C4 52 BB 1E F1 A4
GC C1 0E 43 9A F9 2C A2 B4 C2 00 5D DC 16 CB 96 03
GG 7E B3 7D 4E 6E E9 32 40 25 F7 AA 69 EA 24 2F 7A
GU D6 28 E2 07 DD 90 B9 3E EB 91 F2 08 80 C3 DB 81
UA 64 A6 FA 8D 13 C7 1F ED 99 EC 3B C6 30 E4 0A 97
UC 85 D8 17 A3 86 26 83 59 CD 09 F3 03 98 18 EF CF
UG D7 9D F0 6B CC 8E 62 E3 EE F8 9E 33 D9 DA 72 82
UU CE 42 61 84 34 A5 6A 9F 5E AF 71 8F 5F 41 7B 35
41
Chapitre III Implémentation & Résultats
Soit l’exemple illustré dans la Fig(table de code génétique) : nous lisons d’abord les quatre
premières bases du bloc , par exemple CUAC ;
1 2 3 4
C U A G
III.3.9 Codage en QR
42
Chapitre III Implémentation & Résultats
43
Chapitre III Implémentation & Résultats
III.4 Le déchiffrement
L’algorithme de déchiffrement sert à déchiffrer un bloc de 64 bits, qui a été chiffré par
l’algorithme de chiffrement. La clef de chiffrement et de déchiffrement étant exactement les
mêmes. L’algorithme de déchiffrement fait exactement l’inverse de l’algorithme de
chiffrement E, c’est-à-dire, pour tous message en clair M, on a D (E(M)) = M.
Tous les modules qui existent dans le chiffrement sont inversés dans le déchiffrement.
( Figure III.14) .
L’algorithme de déchiffrement a comme entrée un code Qr , les étapes de déchiffrement sont
1. Décoder le code Qr en texte ( série hexadécimale)
2. Selon la boite de traduction utilisé dans le chiffrement ; effectuer le traduction inverse
3. Réaliser la transcription inverse
4. Effectuer le débrouillage selon la même boite de brouillage utilisé dans le chiffrement
5. Extraire de la séquence ADN , les sous clés de 32 bases azotiques Ki
6. Effectuer un « Xor bilogique » entre le bloc Bi et la sous clef Ki, Bi Ki
7. Extraire les codes des A,T,C ,G selon le codage de Huffman sur la séquence ADN
8. Selon les codes extrait ; coder le bloc en binaire
9. Regrouper les blocs
10. Décoder le texte en claire ( Binare-ASCII)
44
Chapitre III Implémentation & Résultats
45
Chapitre III Implémentation & Résultats
Pdep =2
Après l’application de huffman sur la séquence à partir de la position Pdep :
On obtient : A :10 ; T :11 ;C :01 ,G :00
4.Le codage en ADN :
0110001101101000011010010110011001100110011100100110010101101101
Bloc1 : CAGTCAAGCAACCACACACACTGACACCCATC
Bloc2 : CACCCATACTCGGAGGCTGTCAACCAGTGTGA
5. Extraction des sous clé :
Sous clé 1 : TCAAAAGTCTAGAGCCACCGTCCAGGGAGCA
Sous clé 2 : GGTAGCTGCTGGGCTCCGGGGACACTTTGCGT
6. Xor Biologique
Bloc1 : CAGTCAAGCAACCACACACACTGACACCCATC
Cle1 : TCAAAAGTCTAGAGCCACCGTCCAGGGAGCA
=
GCGTCAGCATATCGACCCAGGGTATGTCTCTT
46
Chapitre III Implémentation & Résultats
CCAGGGTATGTCTCTTT ACGAGTCGAACGTCC
Transcription :
GGUCCCAUACAGAGAAAUGCUCAGCUUGCAGG
Translation : avec la boite de translation n° :1
DC5AA0FBABCCAD76
47
Chapitre III Implémentation & Résultats
Déchiffrement :
1 Décodage :
DC5AA0FBABCCAD76 470876741074OF63
2 La traduction inverse :
GGUCCCAUACAGAGAAAUGCUCAGCUUGCAGG
3 Transcription inverse
CCAGGGTATGTCTCTTTACGAGTCGAACGTCC
4 Débrouillage
CCAGGGTATGTCTCTT TACGAGTCGAACGTCC
GCGTCAGCATATCGAC CCAGGGTATGTCTCTT
5 Xor biologique
GCGTCAGCATATCGACCCAGGGTATGTCTCTT
6 Décodage en binaire
0110010101101110011101000010000001110011011010010110001100110010
7 Regroupement en blocs
Le texte en claire est : chiffrement sic2
48
Chapitre III Implémentation & Résultats
-Equipement :
Le Raspberry Pi est un ordinateur peu coûteux de la taille d'une carte de crédit qui se
branche sur un écran d'ordinateur ou un téléviseur et utilise un clavier et une souris standard.
C'est un petit appareil capable qui permet aux personnes de tous âges d'explorer l'informatique
et d'apprendre à programmer dans des langages comme Scratch et Python. Il est capable de
faire tout ce que vous attendez d'un ordinateur de bureau, de la navigation sur Internet à la
lecture de vidéos haute définition, en passant par la création de feuilles de calcul, le traitement
de texte et les jeux.
49
Chapitre III Implémentation & Résultats
Langage de programmation :
Nous avons utilisé le langage Python, qui est le langage de programmation open source le
plus employé par les informaticiens. Ce langage s’est propulsé en tête de la gestion
d’infrastructure, d’analyse de données ou dans le domaine du développement de logiciels. En
effet, parmi ses qualités, Python permet notamment aux développeurs de se concentrer sur ce
qu’ils font plutôt que sur la manière dont ils le font. Il a libéré les développeurs des contraintes
de formes qui occupaient leur temps avec les langages plus anciens. Ainsi, développer du
code avec Python est plus rapide qu’avec d’autres langages.
50
Chapitre III Implémentation & Résultats
III.6.2Tests et résultats
III.6.2.1 Evaluation du temps d’exécution
Dans ce test, nous avons varié la taille du texte à chiffrer et nous avons calculé le yemps de
chiffrement et déchiffrement correspond. Le tableau III.3 montre les résultats obtenus.
51
Chapitre III Implémentation & Résultats
0,16
0,14
0,12
0,1
0,08
0,06
0,04
0,02
0
0 50 100 150 200 250 300 350
52
Chapitre III Implémentation & Résultats
III.7 Conclusion
Dans ce chapitre, nous avons présenté notre algorithme avec une description détaillée
de ces différentes phases. Ensuite, nous avons effectué plusieurs tests afin de bien évaluer sa
performance, notamment son comportement quand les paramètres se varient. Et nous avons
présenté les différents résultats obtenus après ces tests suivis des commentaires et
justifications pratiques et théoriques.
Dans un premier lieu, nous avons présenté en détail notre algorithme avec un exemple
explicatif, ensuite dans la phase des expérimentations, nous avons estimé le taux de
chiffrement/déchiffrement de notre algorithme et ceci en effectuant plusieurs tests dont nous
avons présenté une partie des résultats obtenus.
Nous avons aussi varié les paramètres de l’algorithme et nous avons suivi le
comportement de temps d’exécution. Les résultats obtenus montrent que le temps de
chiffrement/déchiffrement s’évolue linéairement avec l’augmentation de ces paramètres, ce
qui est acceptable en termes de complexité.
53
Conclusion
Générale
L'Internet des objets ( IoT) représente un paradigme technologique florissant le
plus rapide contenant de nombreux appareils qui produisent, traitent et communiquent
une grande quantité de données. Par conséquent, plusieurs types d'intrusions et de
menaces peuvent cibler les appareils IoT dans le réseau. Plusieurs approches ont été
présentées pour améliorer la sécurité des communications dans ce type des réseaux.
Dans ce travail, nous avons présenté un algorithme qui sert à : (1) chiffrer et
déchiffrer les messages circulants entre objets IoT. (2) Créer un code Qr sécurisé qui
utilise des paramètres liés aux chromosome pour créer le code Qr d’un part et pour
l’extraction du message inclut dans le code qr d’autre part.
Un ensemble des expérimentations ont été réalisé sur un Raspberry pi3 ( come
un objet IoT) , et le résultats obtenus ont montré la robustesse de l’algorithme de point
de vue taille de clé , et temps de chiffrement tout en prend en considération les ressources
limitées des appareils communicantes dans l’environnement IoT.
55
Références
Bibliographiques
Références bibliographique
[14] : E.G.Berger, T.Hennet, Le génome humain, Principe fondamental sur l’ADN. Forum Med
Suisse N°23 le 6 juin 2001. [15] :
[15] : Akhil Kaushik, Dr. Vikas Thada, “The Evolution of DNA Cryptology - A Review”, International
Journal of Electrical Electronics & Computer Science Engineering (IJEECSE), Vol. 5, No. 2, Apr. 2018.
[16] : Mansouri Nabil, Gougache Mohamed, « Conception et implémentation d’une méthode
cryptographique inspirée de l’ADN », Mémoire d’ingénieur d’état en informatique, Ecole
nationale Supérieure d’Informatique (ESI) Oued-Smar, Alger, 2008-2009.
[17] : Ashish Gehani, Thomas H. LaBean, John H. Reif, DNA based cryptography 5th
Annual DIMACS Meeting on DNA Based Computers (DNA 5), MIT, Cambridge, MA, June
1999
[18] : Adleman. M. L (1994), Molecular Computation of Solutions to Combinatorial Problems,
Science, vol.266, pp.1021-1024.
[19] : J. Lipton. R (1995), Using DNA to Solve NP Complete Problems, Science, Vol.268, pp.542-545.
[20] : Ouyang Qi, D. Peter Kaplan, Liu Shumao and Albert Libchaber (1997), DNA Solution of the
Maximal Clique Problem, Science 278, 5337, 446-449
[21] : . Chen Jie (2003), A DNA-based bio molecular cryptography design, Proceedings of IEEE
International Symposium, Vol.3, pp.III-822.
[22] : A. K. Verma, Mayank Dave, R. C. Joshi (2008), DNA Cryptography: A Novel Paradigm for Secure
Routing in Manets, Journal of Discrete Mathematical Sciences and Cryptography, Vol.11, No.4,
pp.393-404
[23] : Yunpeng Zhang, Bochen Fu, and Xianwei Zhang (2012), DNA cryptography based on DNA
Fragment assembly, Information Science and Digital Content Technology (ICIDT), 8th IEEE
International Conference, Vol.1, pp.179-182
[24] : Olga Tornea and Borda E. Monica (2013), Security and Complexity Of A DNA-Based Cipher,
Roedunet International Conference (Ro Edu Net), 11th IEEE International Conference, pp.1-5.
[25] : Benyahia, K., Mustapha, M., & Abdelkrim, L. (2021). A Bio-Inspired Algorithm for Symmetric
Encryption. In Research Anthology on Artificial Intelligence Applications in Security (pp. 490-503). IGI
Global.
[26] : Khobzaoui, A., Benyahia, K., Mansouri, B., & Boukli-Hacene, S. (2022). DNA-Based
Cryptographic Method for the Internet of Things. International Journal of Organizational and Collective
Intelligence (IJOCI), 12(1), 1-12.