Upload
others
View
1
Download
0
Embed Size (px)
Citation preview
République Algérienne démocratique et populaire Ministère de l’enseignement supérieur et de la recherche scientifique
Université Larbi Ben M’Hidi Oum El Bouaghi
Faculté des sciences exactes et des sciences de la nature et de la vie Département de mathématique et d’informatique
Filière : Informatique
Option : Vision Artificielle
Mémoire de fin d’étude pour l’obtention du diplôme de
master en informatique
Thème :
Etude comparative et contribution aux techniques de
secret réparti appliqué à l'imagerie numérique.
Représenté par : Boulabeiz Abdelfettah
Siam Moncef
Devant le jury composé de : Dr. Bourouis Abdelhabib Encadreur M. Kouadria Talal Président Dr. Boutekouk Fateh Examinateur
Soutenu le : 06 juin 2017
Année universitaire 2016/2017
Dédicace
Je dédie ce modeste travail :
À mes très chers parents, pour leurs amour et sacrifices
À mes sœurs, Sarah, Hadjer, Takoua
À tous mes collègues du département de Mathématique et Informatique,
A mon collègue Boulabeiz Abdelfettah,
À tous mes amis sur tous ayoub ziad, douad youcef khouja ,derbal abd
rahim,
À toute ma grande famille, pour leurs soutient et encouragements,
À toutes les personnes qui me connaissent de près ou de loin,
Et à tous les responsables du département
De Mathématique et Informatique
Et À tous mes enseignants ont la contribution à ma formation.
Moncef siam
Dédicace
Je dédie ce modeste travail :
À mes très chers parents, pour leurs amour et sacrifices
À ma chère épouse qui m’a aidé et m’a encouragé tout au long de mon
parcours
À mes deux anges gardiens Meriem et Asma
À mes frères et mes sœurs
À tous mes collègues du département de Mathématique et Informatique,
A tous mes collègues de travail,
A mon collègue Siam Moncef
À toute ma grande famille, pour leurs soutient et encouragements,
À toutes les personnes qui me connaissent de près ou de loin,
Et à tous les responsables du département
De Mathématique et Informatique
Et À tous mes enseignants ont la contribution à ma formation.
Boulabeiz abdelfettah
En termes de rédaction de notre mémoire de fin d’étude,
nous remercions à tout instant notre dieu, qui nous donner
l’effort pour la continuité et l’arriver à ce travail et qui
nous conduit à la réussite durant notre vie.
Je voudrais exprimer ma profonde gratitude à :
Mon encadreur :Bourouis Abd El habibe, pour son aide
et ces conseils...Merci,
Et qui me fait l'honneur de mon jury de soutenance de
thèse Mr.Boutekouk et Mr.Kouadria
Ainsi que je remercie également les professeurs de la
formation du département d’Informatique pour les
connaissances qu’ils m’ont transmises pendant la période
de ma formation,
À tous les employés du département de Mathématique
et Informatique
Table des matières Résumé .....................................................................................................................................
Abstract ....................................................................................................................................
Introduction générale ..............................................................................................................
Chapitre I : Généralité sur l’image numérique ..................................................................... 3
1. Introduction : ..........................................................................................................................4
2. Notion d’image numérique : ..................................................................................................5
2.1 Qu'est-ce que l'image numérique : .........................................................................5
2.2 Numérisation de l’image : .......................................................................................5
2.3 Traitement d’image :...............................................................................................6
3. Caractéristiques de l’image numérique : ...............................................................................6
3.1 Pixel (Picture element): ...........................................................................................6
3.2 Définition (dimension de l'image) : .........................................................................7
3.3 Résolution. ..............................................................................................................7
3.4 Poids de l’image. .....................................................................................................8
3.5 Luminance ...............................................................................................................8
3.6 Contraste : ...............................................................................................................8
3.7 Histogramme...........................................................................................................9
3.8 Modes colorimétrique ............................................................................................9
4. Types d’image numérique : ................................................................................................. 11
4.1 Image vectorielle : ................................................................................................ 11
4.2 Image matricielle : ............................................................................................... 11
5. Formats d’image numérique : ............................................................................................. 11
6. Opérations sur l’image numérique :.................................................................................... 13
6.1 Transformation géométriques : ........................................................................... 13
6.2 Restauration : ....................................................................................................... 14
6.3 Amélioration : ...................................................................................................... 15
6.4 Compression : ...................................................................................................... 15
6.5 Segmentation : ..................................................................................................... 15
7. Opérations sur les images numériques : ............................................................................. 15
7.1 Des opérations arithmétiques : ........................................................................... 15
7.2 Des opérations logiques : ..................................................................................... 16
8. Domaines d’application de l’image numérique : ................................................................ 16
9. Conclusion. .......................................................................................................................... 18
Chapitre II : Le partage de secret ....................................................................................... 19
1. Introduction : ....................................................................................................................... 20
2. La sécurité informatique : ................................................................................................... 21
3. La cryptographie. ................................................................................................................. 21
4. Notion de partage de secret ................................................................................................ 23
4.1 Définitions : .......................................................................................................... 23
4.2 Modèle générale pour le partage de secret : ...................................................... 23
5. Prérequis mathématiques. .................................................................................................. 24
5.1 Définition d’un Corps. .......................................................................................... 24
5.2 Arithmétique modulaire. ..................................................................................... 24
5.3 Interpolation. ....................................................................................................... 25
5.4 Système d'équations linéaires. ............................................................................ 25
5.5 Algorithme d'Euclide étendu et coefficients de Bézout : .................................... 26
6. Techniques de partage secret. ............................................................................................ 27
6.1 Technique d’Adi Shamir : ..................................................................................... 27
6.2 Technique de George Blakely [10]: ...................................................................... 30
6.3 Technique des restes chinois [9]: ......................................................................... 32
7. Conclusion : ......................................................................................................................... 35
Chapitre III : Application sur l’image numérique............................................................... 36
1. Introduction : ....................................................................................................................... 37
2. Application des techniques sur l’image numérique : .......................................................... 38
2.1 La technique d’Adi Shamir : ................................................................................. 38
2.2 La technique de George Blakley [11]: .................................................................. 40
2.3 Théorème des restes chinois [9]: ......................................................................... 44
3. Conclusion : ......................................................................................................................... 47
Chapitre VI : Comparaison entre les techniques de secret réparti ..................................... 48
1. Introduction : ....................................................................................................................... 49
2. Présentation de l’application : ............................................................................................ 50
2.1 Matériels utilisé pour le développement de l’application : ..................................... 50
2.2 Langage de programmation utilisé : ........................................................................ 50
2.3 Outils supplémentaires utilisés : .............................................................................. 52
2.4 Interface graphique et les déférentes commandes du logiciel : .............................. 53
2.5 Résultats obtenus avec le schéma de seuil (5,10) : .................................................. 56
3. Comparaison des techniques retenues : ............................................................................. 61
3.1 Tableaux comparatifs : ............................................................................................. 62
3.2 Avantages et inconvénients des techniques retenues : ......................................... 63
3.2.1 Technique d’Adi Shamir : ...................................................................................... 63
3.2.2 Technique de George Blakley : .............................................................................. 63
3.3.3 Théorème des restes chinois : ............................................................................... 64
4. Détection et localisation des intrusions : ............................................................................ 64
5. Conclusion. .......................................................................................................................... 71
Conclusion générale et perspectives : .....................................................................................
Références ................................................................................................................................
Table des sigles et des abréviations :
1. AES : Advanced Encryption Standard.
2. BMP : Le format bitmap.
3. CMJN : cyan, magenta, jaune, noir.
4. CRT : Chinese remainder theorem
5. CSS : Cascading Style Sheets.
6. EDI : Échange de Données Informatisé.
7. GIF : Graphics Interchange Format.
8. HSL : Hue, Saturation, Lightness.
9. JAMA : Java Matrix class.
10. JPEG : Joint Photographic Experts Group.
11. JPEG 2000 : Joint Photographic Experts Group 2000.
12. LUT : Look And Table.
13. MD5 : Message Digest 5.
14. MXML : XML-based user interface markup language.
15. PGCD : Plus Grand Commun Diviseur.
16. PNG : Portable Network Graphics.
17. RGB : Red, Green, Blue.
18. RNG : Générateur de nombres aléatoires (RNG : Random Number Generator).
19. RVB : Rouge, vert, bleu.
20. SVG : Scalable Vector Graphics.
21. TIFF : Tagged Image File Format.
22. TSL : Teinte saturation lumière.
23. XHTML : Extensible HyperText Markup Language.
24. XML : Extensible Markup Language.
25. XSL : EXtensible Stylesheet Language.
Liste des Figures :
Figure 01 : représentation d’un signal analogique………………….………………………………… .5
Figure 02 : représentation d’un signal numérique ....................................................................5
Figure 03 : Une Partie e la girafe représente un ensemble de pixels ……………….…….7
Figure 04 : représente la notion de résolution de l’image ……………...……………………..7
Figure 05 : l’histogramme d’une image couleur ………………………….………………..9
Figure 06 : Mode de couleur RGB …………………….…………………….…………….10
Figure 07 : Mode de couleur CMJN ................................................................................... 10
Figure 08 : Mode de couleur TSL ........................................................................................ 10
Figure 09 : La différence entre image vectoriel et image matricielle (Image Bitmaps) ...... 11
Figure 10 : l’opération géométrique de Translation ...................................................................... 13
Figure 11 : l’opération géométrique de Rotation .......................................................................... 13
Figure 12 : l’opération géométrique de changement d’échelle ........................................................ 14
Figure 13 : l’opération géométrique de Réflexion ........................................................................ 14
Figure 14 : Restauration : la luminosité et le contraste ont été augmentés, et le profil colorimétrique
recalibré.................................................................................................................................. 14
Figure 15 : Opération d’addition entre deux images ........................................................... 15
Figure 16 : Opération Binaire « Et » entre deux images ..................................................... 16
Figure 17 : Interpolation ...................................................................................................... 28
Figure 18 : Intersection des hyper plans ............................................................................. 31
Figure 19 : Technique d’Adi Shamir (Construction) schéma de seuil (3,5) ....................... 39
Figure 20 : Technique d’Adi Shamir (Reconstruction) schéma de seuil (3,5)) .................. 40
Figure 21 : Montre le déroulement de l’algorithme de distribution .................................... 41
Figure 22 : Montre le déroulement de l’algorithme de reconstruction ............................... 43
Figure 23 : Technique de George Blakley (Construction) schéma de seuil (3,5) ............... 43
Figure 24 : Technique de George Blackley (Reconstruction) schéma de seuil (3,5))......... 44
Figure 25 : Technique des restes chinois (Construction) schéma de seuil (3,5) ................. 46
Figure 26 : Technique des restes chinois (Reconstruction) schéma de seuil (3,5))............. 46
Figure 27 : Composantes majeures de JavaFX .................................................................... 52
Figure 28 : Fenêtre de démarrage de l’application .............................................................. 53
Figure 29 : Fenêtre pour la phase de construction ............................................................... 54
Figure 30 : Fenêtre pour la phase reconstruction ................................................................ 54
Figure 31 : Fenêtre après génération des shares .................................................................. 55
Figure 32 : Fenêtre pour créer une share aléatoirement. ..................................................... 55
Figure 33 : Technique d’Adi Shamir (Construction) schéma de seuil (5,10). .................... 56
Figure 34 : Résultat technique d’Adi Shamir ...................................................................... 57
Figure 35 : Technique d’Adi Shamir (Reconstruction) sélection aléatoire de 5 shares et
résultat. ................................................................................................................................ 57
Figure 36 : Technique George Blakley (Construction) schéma de seuil (5,10). ................. 58
Figure 37 : Résultat de reconstruction technique de George Blakley ................................. 58
Figure 38 : Technique de George Blakley (Reconstruction) sélection aléatoirement 5
shares et résultat................................................................................................................... 59
Figure 39 : Technique des restes chinois (Construction) schéma de seuil (5,10). .............. 59
Figure 40 : Résultat de la technique des restes chinois. ...................................................... 60
Figure 41 : Technique des restes chinois (Reconstruction) avec sélection aléatoire de 5
shares et résultat................................................................................................................... 60
Figure 42 : Image standard peppers ..................................................................................... 61
Figure 43 : Histogramme image standard peppers .............................................................. 61
Figure 44 : Schéma de la première phase (chiffrement) ...................................................... 66
Figure 45 : Schéma de la deuxième phase (vérification des shares) ................................... 67
Figure 46 : schéma de la première phase (Phase chiffrement) ............................................ 68
Figure 47 : schéma de la deuxième phase (vérification des shares) .................................... 69
Liste des Tableaux :
Tableau 01 : Tableau comparatif entre les formats d’image .............................................. 12
Tableau 02 : Exemple Algorithme d'Euclide étendu et coefficients de Bézout ................. 26
Tableau 03 : Tableau compare les trois techniques (temps d’exaction …) ......................... 62
Tableau 04 : Tableau pour la comparaison des histogrammes des parts et celui de l’image
résultat de la reconstruction. ................................................................................................ 62
Résumé
Le secret réparti ou le partage de secret consiste à distribuer un secret, par exemple une image
numérique dans notre étude entre plusieurs dépositaires (N individus). Le secret ne peut être
découvert que si un nombre suffisant de dépositaires (k individus parmi N) mettent en commun les
informations qu'ils ont reçues. En revanche, un nombre inférieur de dépositaire n’apporte aucune
information sur le secret. On parle de k parmi N ou k est le seuil et N le nombre total d'individus
impliqués dans le processus, avec k≤N. Le secret sert à fabriquer des données (appelées shares) à
répartir sur la population constituée de N individus
Mots clés : Cryptographie visuelle, partage de secret, Shamir, Théorème des restes chinois,
Blakley, Schéma de seuil.
Abstract
Secret sharing is the distribution of secret, exemple (image in our study) between several
depositary (N individuals). Secret can only be discovered if a sufficient number of depositary (k
individuals from N) share the information they have received. On the other hand, a lower number of
depositary does not provide any information about secret. We speak of k among N, k is the threshold
and N the total number of individuals involved in the process, with k≤N. The secret is used to
construct data to be distributed over the population consisting of N individuals
Keywords : Visual cryptography, Secret sharing, Shamir, Chinese remainder theorem (CRT),
Blakley, Threshold scheme.
ملخص
مودع لديه( قد يكون هذا السر عبارة عن كلمة nا ومشاركته بين عدة مودعين )مشاركة السر هو تقسيم سر م
من المودعين ا اجتمع عدد كافإلا إذ وإعادة بنائه)مجال دراستنا(، بحيث لا يمكن استرجاع هذا السر مرور أو صورة رقمية
(kووضع بياناتهم معا، من جهة أخرى عدد أقل من الحد الأدنى ) (kمن المودعين ) لا يعي أ معلومة عن هذا السر، إذا
.nمن k العتبة أ مخيط نحن نتحدث عن مفهوم
، مخطط بلاكلي ،باقي القسمة الصينيةنظرية ،شامير ،مشاركة السر البصري،التشفير المفتاحية:الكلمات
العتبة.
Introduction générale Le développement extraordinaire des systèmes et des réseaux informatiques ainsi que
leurs domaines d’utilisation, induit automatiquement une prolifération des menaces et des
attaques ainsi que l’apparition de nouvelles vulnérabilités de ces derniers. L’information
devient de plus en plus importante. Cette importance nous oblige à les protéger contre tout
type de menace durant leur transfert à travers les canaux de communications. Pour ce faire,
nous devons suivre une certaine politique de sécurité pour lutter contre tous les risques de
perdre l’information.
La sécurité informatique regroupe tous les moyens techniques, organisationnels,
juridiques et humains afin de minimiser la vulnérabilité d’un système informatique, soit
contre les menaces en agissant sur leurs sources (internes ou externes), soit contre les
attaques (accidentelle ou intentionnel).
Afin d’assurer la protection des informations, il est souvent nécessaire de les rendre
incompréhensibles avant de les transmettre, utilisant des techniques de chiffrements
(cryptographie) efficaces. Cela rend l’interception des données sans aucun effet. Plusieurs
type de chiffrements sont utilisés parmi eux : la cryptographie symétrique, la cryptographie
asymétrique, cryptographie visuelle et la cryptographie à seuil (partage de secret).
Plusieurs applications réelles ont besoin de partager une information secrète (exemple
clé du coffre) entre plusieurs dépositaires, à condition que cette information ne soit
compréhensible sauf si certains de ces dépositaires (un nombre minimal) mettent en commun
leurs informations. Aucun dépositaire isolé ne peut obtenir le secret et même un nombre de
dépositaires inférieur au seuil imposé ne peut le faire.
Dans le domaine de la cryptographie, la notion du le secret réparti (Secret Sharing) ou
cryptographie à seuil est définie comme l’opération de partitionner un secret en plusieurs
parts (Shares) et les distribuer sur un certain nombre de dépositaires. La notion de seuil
(Schéma à seuil) signifie qu’il faut réunir un nombre minimal de parts (seuil) pour pouvoir
reconstituer le secret. Tout nombre de parts inférieur au seuil ne devrait jamais permettre de
retrouver le secret.
Nous allons nous intéresser dans ce projet à l’étude des trois techniques les plus
connues et de les adapter au domaine de l’imagerie numérique. Une étude comparative de
ces techniques de secret réparti selon des critères variés sera réalisée. Les techniques
retenues sont celle d’Adi Shamir, de George Blakley et celle basée sur le théorème des restes
chinois. Chacune est basée sur un principe différent de l’autre. Le principe de la première
technique est l’interpolation polynomiale, la deuxième est la géométrie des hyperplans, et la
dernière l’arithmétique modulaire.
Un problème majeur dans le processus de reconstruction d’un secret partagé se
présente lorsqu’il y a des intrus avec de faux parts. L’intrusion empêche la reconstruction du
secret même en présence d’un nombre suffisant de parts authentiques. Un autre souci peut
émerger lorsqu’on désire restreindre la capacité de reconstitution de secrets seulement aux
entités de confiance. Une technique basée sur les fonctions de hachage et le chiffrement
symétrique sera proposée pour résoudre totalement et efficacement ces deux problèmes.
Notre mémoire est organisé comme suit :
Au début nous allons consacrer tout un chapitre pour expliquer les notions de base de
l’imagerie numérique afin de faciliter la compréhension de la suite de notre étude. Le
deuxième chapitre est consacré à l’explication du principe de fonctionnement de chaque
technique à part, illustré par des exemples concrets. Le troisième chapitre est dédié à
l’adaptation et l’application des techniques retenues dans le domaine de l’imagerie
numérique. Finalement, le quatrième chapitre propose une étude comparative des différentes
techniques étudié précédemment. Il présente également une nouvelle technique, qui
constitue notre propre contribution, permettant de détecter et localiser facilement les
intrusions. La nouvelle technique est testée avec des études de cas réels. Une conclusion
générale avec des perspectives est donnée à la fin du mémoire.
Chapitre I : Généralité sur l’image numérique Chapitre I :
Généralité sur l’image
numérique
Chapitre I : Généralité sur l’image numérique
4
1. Introduction :
Au début de la technologie numérique, l’image numérique n’a pas vu une grande
importance dans le domaine de la recherche et de développement par rapport aux autres
technologies. Mais avec le développement rapide des ordinateurs aux grandes performances
et les appareils d’acquisition d’image assez puissants et à haute résolution, cela a donné
naissance au domaine de l’imagerie numérique qui s’est propagé d’une manière très large
dans plusieurs domaines. On peut citer entre autres, l’imagerie médicale, l’imagerie
industrielle et même dans le domaine militaire. L’image numérique est ainsi considérée
maintenant parmi les axes principaux de recherche dans la technologie numérique actuelle.
Nous allons essayer dans ce chapitre de présenter les notions de base de l’image numérique
et les traitements que l’on peut faire sur celle-ci, ainsi que les domaines dont on peut
l’exploiter. Ces notions vont nous aider par la suite dans la présentation de notre travail qui
s’appuie sur les images numériques.
Chapitre I : Généralité sur l’image numérique
5
2. Notion d’image numérique :
2.1 Qu'est-ce que l'image numérique :
On désigne sous le terme d'image numérique toute image (dessin, icône, photographie
...) acquise, créée, traitée, stockée sous forme binaire (suite de 0 et de 1) :
• Acquise par des dispositifs comme les scanners, les appareils photo.
• Créée directement par des programmes informatiques.
• Traitée grâce à des outils informatiques
• Stockée sur un support informatique (disquette, disque dur, CD-ROM ...).
L’image numérique signifié tous représentation graphique acquise, créée, stockée
2.2 Numérisation de l’image :
La numérisation est le processus qui permet de passer de l’état d’image physique
(image optique par exemple) qui est caractérisée par l’aspect continu du signal qu’elle
représente (une infinité de valeur dans l’intensité lumineuse par exemple), à l’état d’image
numérique qui est caractérisée par l’aspect discret (l’intensité lumineuse ne peut prendre que
des valeurs quantifiées en un nombre fini de points distincts)[2]. Pour que l’image soit prête
à stocker sur des supports informatiques, visualiser sur un moniteur, imprimer, traiter ou
transmettre sur des réseaux, pour ce faire, il faut d’abord suivre les phases suivantes :
2.2.1 Phase d’acquisition :
Cette phase consiste à acquérir l’image à travers des dispositifs d’acquisitions, par
exemple, caméra, scanner, Sous forme d’un signal analogique (Signal continue).
2.2.2 Phase d’échantillonnage.
Cette phase consiste à prendre des points ou des échantillons depuis un signale
continue (infinité de valeurs) pour le transformer en un signal discret (nombre fini de
valeurs), c’est la discrétisation du signal. En d’autres termes, c’est l’opération de passage de
l’analogique vers le numérique. Donc, plus d’échantillons signifie qu’il y a plus
d’information dans l’image. Autrement dit, il y a une relation entre le nombre de points
échantillonnés et la résolution de l’image.
Figure 02 : représentation d’un
signal numérique
Figure 01 : représentation d’un signal analogique
Chapitre I : Généralité sur l’image numérique
6
2.2.3 Phase de Quantification.
La quantification concerne la discrétisation de l'espace des couleurs ou les niveaux
de gris. C'est le nombre de couleurs différentes que l'on va pouvoir utiliser pour dessiner
notre image.
La quantification consiste à remplacer un nombre infini de valeurs que le signal peut
prendre par un nombre fini. Elle remplace la valeur exacte du signal par une valeur
approchée. Il y a donc une dégradation irréversible de l’information. On exprime chacune
des valeurs échantillonnées sous la forme d'un nombre en mode binaire [5].
2.2.4 Encodage.
Après les phases précédentes les informations de l’image seront codées sous forme
binaire 0 et 1. Cette information élémentaire de 2 possibilités s'appelle le bit. Les éléments
de l’image donc seront codés selon les codifications possibles suivant :
L'élément codé sur 1 bit n'a que 2 possibilités : noir ou blanc.
L'élément codé sur 2 bits a 2x2 possibilités : 4 couleurs
L'élément codé sur 4 bits a 2x2x2x2 possibilités : 16 couleurs
L'élément codé sur 8 bits a (2 puissance 8) possibilités : 256 couleurs (ou
Niveaux de gris).
L'élément codé sur 24 bits a (2 puissance 24) possibilités : + de 16 millions de
couleurs (trois couches de couleur R.G.B).
2.3 Traitement d’image :
Séquence d’opérations et de transformations visant à« améliorer » la lisibilité des
images et à en faciliter l’observation, ou bien encore des opérations de restauration de
l’information qui a été altérée par la chaîne de formation et d’acquisition de l’image. Il faut
constater que ces opérations modifient le contenu objectif des images et sont donc à utiliser
avec précaution et en maîtrisant les effets si ces traitements constituent un préalable à
l’analyse d’image [6].
3. Caractéristiques de l’image numérique :
Il existe plusieurs caractéristiques qui décrivent le contenu d’une image, parmi ces
caractéristiques on trouve :
3.1 Pixel (Picture element):
Contraction de l’expression anglaise »Picture element» : éléments d’image, le pixel
est le plus petit point de l’image. C’est une entité calculable qui peut recevoir une structure
et une quantification. Si le bit est la plus petite unité d’information que peut traiter un
Chapitre I : Généralité sur l’image numérique
7
ordinateur, le pixel est le plus petit élément que peuvent manipuler les matériels et logiciels
d’affichage ou d’impression [6].
3.2 Définition (dimension de l'image) :
La définition de l'image bitmap est le nombre fixe de pixels qui est utilisé pour
représenter l'image dans ses deux dimensions. Par exemple une image sa hauteur 600 pixels
et sa largeur 800 pixels donc la définition de cette image est 800*600 pixels.
3.3 Résolution.
La résolution d'une image est définie par le nombre de pixels par unité de longueur.
Elle s'exprime généralement en dpi (dots per inches) ou ppp (points par pouce). Un pouce =
2,54 centimètres. La résolution d'une image numérique définit le degré de détail qui va être
représenté sur cette image. Une image de résolution élevée compte un plus grand nombre de
pixels (elle contient plus d'informations). Elle est donc plus volumineuse qu'une image basse
résolution de mêmes dimensions.
Image en pleine
résolution
Image en 1/2
résolution
Image en 1/4
résolution
Image en 1/8
résolution
Figure 04 : représente la notion de résolution de l’image [2]
Figure 03 : Une Partie e la girafe représente un ensemble de pixels [1].
Chapitre I : Généralité sur l’image numérique
8
3.4 Poids de l’image.
Le poids d’une image désigne combien d’espace mémoire qu’il faut réserver pour la
stocker. Il est mesuré généralement en octets. Il est calculé selon le nombre de bits pour
coder la couleur d’un pixel et le nombre total des pixels. Il est donné par la formule suivante :
𝑃𝑜𝑖𝑑 = 𝑁𝑜𝑚𝑏𝑟𝑒 𝑑𝑒 𝑏𝑖𝑡𝑠 𝑝𝑜𝑢 𝑐𝑜𝑑𝑒𝑟 𝑙𝑎 𝑐𝑜𝑢𝑙𝑒𝑢𝑟 ∗ 𝐷é𝑓𝑖𝑛𝑖𝑡𝑖𝑜𝑛 𝑑𝑒 𝑙′𝑖𝑚𝑎𝑔𝑒
Exemple : une image en niveau de gris de définition 800* 600 pixels et la couleur
codé sur 8 bits. Donc le poids est donné par :
Poids=Codage * Définition=8*(800*600)=3840000 bits=480000 Octets.
3.5 Luminance
C’est le degré de luminosité des points de l’image. Elle est définie aussi comme étant
le quotient de l’intensité lumineuse d’une surface par l’aire apparente de cette surface, pour
un observateur lointain, le mot luminance est substitué au mot brillance, qui correspond à
l’éclat d’un objet. Une bonne luminance se caractérise par [6]:
Des images lumineuses (brillantes).
Un bon contraste : il faut éviter les images où la gamme de contraste tend vers
le blanc ou le noir ; ces images entraînent des pertes de détails dans les zones
sombres ou lumineuses.
L’absence de parasites.
La moyenne ou luminance (brillance) d’une image est définie comme la moyenne des
pixels de l’image :
𝑀𝑜𝑦 =1
𝑤. ℎ∑∑𝑓(𝑥, 𝑦)
ℎ−1
𝑦=0
𝑤−1
𝑥=0
, 𝑓(𝑥, 𝑦)
Les variables h et w représente la hauteur et la largeur de l’image,
3.6 Contraste :
C’est l’opposition marquée entre deux régions d’une image, plus précisément entre
les régions sombres et les régions claires de cette image. Le contraste est défini en fonction
des luminances de deux zones d’images.
Une image bien contrastée présente une bonne dynamique de la distribution des
valeurs de gris sur tout l'intervalle des valeurs possibles, avec des blancs bien clairs et des
noirs profonds. Au contraire une image peu contrastée a une faible dynamique [6].
Le contraste d’une image numérique peut être défini de plusieurs façons dont les
deux suivantes :
Chapitre I : Généralité sur l’image numérique
9
- Ecart-type des variations de niveau de gris :
𝐶 = √1
𝑤. ℎ∑∑(𝑓(𝑥, 𝑦) − 𝑚𝑜𝑦)2ℎ−1
𝑦=0
𝑤−1
𝑥=0
- Variation entre valeur de niveau de gris (min et max) :
𝐶 =𝑚𝑎𝑥(𝑓(𝑥, 𝑦) − 𝑚𝑖𝑛(𝑓(𝑥, 𝑦)
𝑚𝑎𝑥(𝑓(𝑥, 𝑦) + 𝑚𝑖𝑛(𝑓(𝑥, 𝑦)
3.7 Histogramme.
L’histogramme d’une image représente la distribution des intensités des couleurs soit
pour une image en couleur (Rouge, Vert, Blue), soit une image en niveau de gris sous forme
d’une courbe statistique. En d’autres termes c’est la fréquence d’apparition de chaque niveau
de gris (0…255) ou de chaque niveau de couleur soit rouge, vert ou bleu.
Il est très utile pour contrôler l'exposition d'une image
A l'acquisition, il permet de contrôler et affiner les réglages de prise de vue.
Pour le traitement, il permet de corriger ou modifie l'exposition de l'image, ainsi que
l'échelle des couleurs. Par exemple : améliorer le contraste, corriger une image sous-
exposée, renforcer la composante rouge, corriger la non-linéarité du capteur....
En utilisant judicieusement l'histogramme, on peut faire apparaître les détails et les
nuances acquises par le capteur et présentes dans le fichier, mais non visibles à l'œil.
3.8 Modes colorimétrique
Généralement on a trois modes colorimétriques sont :
- RGB (ou RVB) : basé sur un mélange additif (combinaison de rayons
lumineux) de trois couleurs primaires (Rouge, Vert, Bleu).
Figure 05 : l’histogramme d’une image couleur.
Chapitre I : Généralité sur l’image numérique
10
- CMYK ou (CMJN) : basé sur un mélange soustractif (combinaison de
pigments colorés) de trois couleurs primaires (Cyan, Magenta, Jaune) et du
noir.
- HLS (ou TLS): basé sur la perception physiologique de la couleur par l'œil
humain ( Teinte, Luminance, Saturation).
Figure 07 : Mode de couleur CMJN
Figure 06: Mode de couleur (RGB)
Figure 08 : Mode de couleur TSL [4]
Chapitre I : Généralité sur l’image numérique
11
4. Types d’image numérique :
Il existe 2 sortes d'images numériques : les images matricielles et les images
vectorielles.
4.1 Image vectorielle :
Elle n'est pas composée de pixels mais définie par des fonctions mathématiques qui
décrivent des lignes, des courbes etc.
Dans ce cas on manipule des objets et non des pixels.
Par exemple, un cercle est décrit par une fonction du type (cercle, position du centre,
rayon). Ces images sont essentiellement utilisées pour réaliser des schémas ou des plans.
Ces images présentent 2 avantages : elles occupent peu de place en mémoire et
peuvent être redimensionnées sans perte d'information.
4.2 Image matricielle :
Elle est formée d'une grille de points ou pixels (Picture element). Chacun pouvant
avoir une couleur différente. Une image matricielle est caractérisée notamment par :
sa dimension en pixels.
sa résolution.
son mode colorimétrique.
5. Formats d’image numérique :
Un format d'image est une représentation informatique de l'image, associée à des
informations sur la façon dont l'image est codée et fournissant éventuellement des
indications sur la manière de la décoder et de la manipuler
La plupart des formats sont composés d'un en-tête contenant des attributs (dimensions
de l'image, type de codage, (LUT), etc.), suivi des données (l'image proprement dite). La
structuration des attributs et des données diffère pour chaque format d'image.
Figure 09 : La différence entre image vectoriel et
image matricielle (Image Bitmaps)
Chapitre I : Généralité sur l’image numérique
12
De plus, les formats actuels intègrent souvent une zone de métadonnées (metadata en
anglais) servant à préciser les informations concernant l'image comme :
La date, l'heure et le lieu de la prise de vue,
Les caractéristiques physiques de la photographie (sensibilité ISO, vitesse d'obturation,
usage du flash…)
Ces métadonnées sont par exemple largement utilisées dans le format Exif
(Exchangeable image file format) extension du format JPEG, qui est le format le plus utilisé
dans les appareils photo numériques [3].
Tableau comparatif entre les formats d’image [3]:
Format
Type
(matriciel/
vectoriel)
Compression
des données
Nombre de
couleurs
supportées
Affichage
progressif Animation Transparence
(JPEG) matriciel
Oui,
réglable
(avec perte)
16 millions Oui Non Non
(JPEG2000) matriciel
Oui,
avec ou sans
perte
4 milliards Oui Oui Oui
(GIF) matriciel Oui,
Sans perte
256 maxi
(palette) Oui Oui Oui
(PNG) matriciel Oui,
sans perte
Palettisé (256
couleurs ou
moins) ou
16 millions
Oui Non Oui
(couche Alpha)
(TIFF) matriciel
Compression
ou pas
avec ou sans
pertes
de
monochrome à
16 millions
Non Non Oui
(couche Alpha)
(SVG) vectoriel compression
possible 16 millions
Ne
s'applique
pas
Oui Oui
(par nature)
(BMP) matriciel Non 16 millions Non Non Non
Tableau 01 : Tableau comparatif entre les formats d’image
Chapitre I : Généralité sur l’image numérique
13
6. Opérations sur l’image numérique :
6.1 Transformation géométriques :
Chaque pixel de l’image est défini par sa position (i, j) et son amplitude
(intensité) k. La transformation géométrique consiste à changer l’emplacement ou la position
des pixels sans changer l’intensité du pixel original. Il existe plusieurs opérations que l’on
peut faire parmi comme :
6.1.1 Translation : est une transformation qui correspond à l'idée intuitive de «
glissement » d'un objet, sans rotation, retournement ni déformation de cet objet.
Exemple :
6.1.2 Rotation : est une transformation qui fait tourner l’image autour d'un point
et d'un certain angle. Cette transformation est une isométrie car les distances sont conservées.
L’image n'a été ni déformée, ni agrandie.
Exemple :
Figure 10 : l’opération géométrique de Translation[7]
Figure 11 : l’opération géométrique de Rotation[7]
Chapitre I : Généralité sur l’image numérique
14
6.1.3 Changement d’échelle (Zoom) : c’est l’opération de changer les
Dimensions de l’image soit agrandissement ou réduction.
6.1.4 Réflexion : C’est l’opération de changer la position de chaque pixel par la
symétrie vertical avec conservation de la valeur d’intensité du pixel.
6.2 Restauration :
La restauration a pour but d’inverser l’effet du phénomène dégradant. Il s’agit donc de
produire une image la plus proche de la réalité physique de la scène observée. Le plus
souvent, cette étape est la première dans la chaîne de traitements constituant un système de
vision.
Figure 14 : Restauration : la luminosité et le contraste ont été
augmentés, et le profil colorimétrique recalibré.
Figure 12 : l’opération géométrique de changement d’échelle[7]
Figure 13 : l’opération géométrique de Réflexion. [7]
Chapitre I : Généralité sur l’image numérique
15
6.3 Amélioration :
L’amélioration a pour but de satisfaire l’œil de l’observateur humain. C’est pourquoi
l’image produite peut être différente de la réalité. Cette amélioration peut servir dans un
premier temps à faciliter la visualisation de l’image sur un écran d’ordinateur. Dans les deux
cas, la qualité (i.e. capacité à interpréter facilement une image) a été accrue [6].
6.4 Compression :
On classe les techniques de compression par extension du fichier informatique. Il s’agit
là de faciliter le traitement et surtout le stockage des images par une réduction adéquate de
leur volume d’information. On perd ou on gagne une caractéristique optique [6].
6.5 Segmentation :
Il existe deux grandes catégories de segmentations : la segmentation de région et la
segmentation de contour. Les pixels présentant une même caractéristique sont décrits par un
niveau de gris compris dans un certain intervalle ou dérivée seconde supérieure à un certain
seuil.
7. Opérations sur les images numériques :
Les images sont des matrices, on peut donc effectuer les opérations usuelles sur des
matrices. Ces opérations sont effectuées pixel par pixel. Les opérations qu’on peut effectuer
sont :
7.1 Des opérations arithmétiques :
Addition, soustraction, multiplication, division, etc.
Exemple :
+ =
Figure 15 : Opération d’addition entre deux images[7]
Chapitre I : Généralité sur l’image numérique
16
7.2 Des opérations logiques :
Ou, non, et, etc.
Exemple :
8. Domaines d’application de l’image numérique :
L’image numérique est un outil que l’on peut utiliser dans des plusieurs domaines.
Nous allons essayer de citer quelques-uns les plus répandus dans notre vie quotidienne.
8.1 Domaine médical (Imagerie médicale).
L'imagerie médicale regroupe les moyens d'acquisition et de restitution d'images du
corps humain à partir de différents phénomènes physiques tels que l'absorption des rayons
X, la résonance magnétique nucléaire, la réflexion d'ondes ultrasons ou la radioactivité
auxquels on associe parfois les techniques d'imagerie optique comme l’endoscopie [4]
A partir de la définition précédente on constate que l’objet principale dans toutes les
techniques d’imagerie médicale c’est l’image. On utilise les techniques de traitement
d’image pour extraire des informations sur la maladie soit pour le diagnostic ou la thérapie.
8.2 Domaine de l’industrie (Imagerie industrielle).
Il existe plusieurs sous domaines d’application dans l’industrie comme :
Fabrication des véhicules :
- Contrôle de pose de cordons et de joints.
- Mesure de jeux et affleurement.
- Réglage de projecteurs.
- Contrôle de conformité de lots de clefs, d’assemblage de boites de
vitesse, de pistons moteurs, de panneaux de portes.
Electricité, électronique et électrotechnique :
- Contrôle des plaques électroniques (perçage, pistes).
Et =
Figure 16 : Opération Binaire » Et » entre deux images[7]
Chapitre I : Généralité sur l’image numérique
17
- Vérification de la présence des composants, leur positionnement et leur
référence sur plaque électronique.
Mécanique :
- Comptage, vérification du nombre de billes dans un roulement, du
nombre des dents sur un pignon.
- Contrôle de forme des rivets.
8.3 Domaine militaire.
On utilise les techniques de détection de mouvement entre plusieurs images pour
suivre les missiles lancés. Exploration d’une zone à partir des images satellite. Détection de
l’existence des avions ou des missiles d’ennemis.
8.4 Domaine de sécurité routière.
On utilise les techniques de détection de mouvement pour mesurer la vitesse des
véhicules sur la route ou détecter les embouteillages.
8.5 Domaine de sécurité.
On utilise les techniques du traitement d’image (segmentation, reconnaissance des
formes…) pour la reconnaissance faciale, d’empreinte digitale, suivie du trafic ou du flux
des personnes dans un lieu public.
Chapitre I : Généralité sur l’image numérique
18
9. Conclusion.
Dans ce chapitre nous avons présenté les concepts de base de l’image numérique ainsi
que les étapes de numérisation de celle-ci. Nous avons cité ses différentes caractéristiques,
ses différents formats et les opérations que nous pouvons appliquer sur celle-ci. Les
principaux domaines d’application ont été discutés.
Il est parfois utile de partager un secret entre plusieurs (un nombre n) individus de
façon à ce que chacun seul ne peut pas reconstruire le secret. Pour obtenir le secret, il faut
généralement réunir un certain nombre d’individus (un seuil k parmi n). Nous allons nous
intéresser dans les chapitres suivant de ce sujet et en particulier son adaptation au cas où le
secret est une image numérique matricielle.
Chapitre II : Le partage de secret
Chapitre II :
Le partage de secret
Chapitre II : Le partage de secret
20
1. Introduction :
Grâce au développement rapide des informations sur internet, et l'échange de différents
types de données entre les personnes, les entreprises et même les militaires, la sécurité des
données échangées ainsi que les entités communicantes est primordiale. Pour les protéger, il
s’avère nécessaire de mettre en place un système de sécurité efficace afin de limiter l'accès
non autorisé et rendre les données plus sécurisées. La signature numérique est une technique
cryptographique permettant de garantir l'intégrité d'un document électronique et d'en
authentifier l'auteur, par analogie avec la signature manuscrite d'un document papier. Dans
des situations particulières, plusieurs signataires doivent travailler sur le même document ce
qui a donné naissance à la signature de groupe. D’autres situations font intervenir la notion
de groupe pour agir, comme le vote d’une loi dans un parlement où la loi est adoptée si le
nombre des membres ayant voté » oui » dépasse un certain seuil. Des scénarios similaires à
la signature de groupe et le vote sont des exemples d’application typiques de ce qui est appelé
» partage de secret ».
Dans la suite de ce chapitre, nous aborderons les notions de sécurité informatique, de
cryptographie et ses mécanismes, en particulier la signature numérique. Les différentes
techniques de partage de secret les plus réputées seront abordées en détail. Nous terminons
avec une conclusion qui résume l’intérêt du partage de secret pour assurer certains enjeux
de la sécurité informatique.
Chapitre II : Le partage de secret
21
2. La sécurité informatique :
C’est l’ensemble des moyens (matérielles et logicielles) utilisés pour minimiser la
vulnérabilité d’un system informatique contre tous types de menaces interne ou externe. Elle
vise généralement cinq principaux objectifs :
L'intégrité : le fait de garantir que les données sont bien celles que l'on croit être.
Autrement dit, les données ne sont pas altérées de façon illégale ou imprévue.
La confidentialité : consistant à assurer que seules les personnes autorisées aient
accès aux ressources échangées.
La disponibilité : permet de maintenir le bon fonctionnement du système
d'information et garantit l’accès aux services et aux données lorsqu’ils sont sollicités.
La non répudiation : permettant de garantir qu'une transaction ne peut être niée.
L'authentification : s’assurer de l’identité (avec preuve) des intervenants
(utilisateurs humains, personnes physiques ou morales, machines, processus).
Afin d’atteindre ces objectifs, il est nécessaires de développer des mécanismes
spécifiques. La cryptographie constitue une pierre angulaire dans la sécurité informatique et
permet de fournir plusieurs techniques permettant d’offrir des services variés.
3. La cryptographie.
3.1 Définition :
C’est une des disciplines de la cryptologie s'attachant à protéger des messages pour
assurer la confidentialité, l’authenticité et l’intégrité des données. En s'aidant souvent de
secrets ou clés. En d’autres termes, elle vise pour rendre le message incompréhensible sauf
pour les personnes qui possèdent la clé de déchiffrement. Plusieurs techniques sont utilisées,
et parmi ces techniques le partage de secret (Secret sharing).
3.2 la signature numérique :
La signature numérique (parfois appelée signature électronique) est un mécanisme
permettant de garantir l'intégrité d'un document électronique et d'en authentifier l'auteur, par
analogie avec la signature manuscrite d'un document papier [12].
Elle se différencie de la signature écrite par le fait qu'elle n'est pas visuelle, mais
correspond à une suite de caractères.
Un mécanisme de signature numérique doit présenter les propriétés suivantes :
Il doit permettre au lecteur d'un document d'identifier la personne ou
l'organisme qui a apposé sa signature (propriété d'identification).
Il doit garantir que le document n'a pas été altéré entre l'instant où l'auteur l'a
signé et le moment où le lecteur le consulte (propriété d'intégrité).
Pour cela, les conditions suivantes doivent être réunies :
Chapitre II : Le partage de secret
22
Authentique : l'identité du signataire doit pouvoir être retrouvée de manière
certaine.
Infalsifiable : la signature ne peut pas être falsifiée. Quelqu'un ne peut se faire
passer pour un autre.
Non réutilisable : la signature n'est pas réutilisable. Elle fait partie du document
signé et ne peut être déplacée sur un autre document.
Inaltérable : un document signé est inaltérable. Une fois qu'il est signé, on ne
peut plus le modifier.
Irrévocable : la personne qui a signé ne peut le nier.
3.3 la signature de groupe :
La signature de groupe est une primitive cryptographique analogue à la signature
numérique, en ce sens où elle vise à permettre à un utilisateur de signer un message au nom
d’un groupe, en restant anonyme au sein de ce groupe. C’est-à-dire qu’une personne voyant
la signature peut vérifier avec la clef publique que le message a bien été émis par un membre
du groupe, mais ne peut pas savoir lequel. En parallèle, les utilisateurs ne peuvent pas abuser
de cet anonymat puisqu'une autorité est capable de lever l'anonymat des utilisateurs
(malveillants) en utilisant une information secrète.
Pour illustrer le concept, on peut considérer un espace de commentaires anonyme, où
les utilisateurs (disposant d'une clef privée) pourraient poster des messages. La présence
d’une signature vérifiable sur les messages permet de contrôler si les messages ont bien été
postés par une personne autorisée à le faire. L’anonymat permet de son côté d’assurer la
protection de la vie privée des utilisateurs.
En revanche, en cas d’abus, si quelqu’un poste un message hors-charte par exemple,
alors un administrateur possédant une information secrète est capable de lever l’anonymat
de l’utilisateur ayant posté le message frauduleux, et pourra prendre les mesures qui
s’imposent (comme révoquer l'utilisateur).
Un avantage des signatures de groupes par rapport à l'utilisation des signatures
numériques classiques est le fait qu'il n'y a qu'une seule clef publique à stocker pour
l'ensemble du groupe au lieu de devoir avoir connaissance de toutes les clefs publiques
différentes qui pourraient mener à une attaque de l'homme du milieu [13].
Chapitre II : Le partage de secret
23
4. Notion de partage de secret
4.1 Définitions :
La notion de partage de secret :
Le partage de secret (Secret Sharing) est une technique utilisée pour partager la
connaissance d'un secret entre plusieurs personnes. Le principe est de ne rendre visible le
secret à aucun membre du groupe seul. Pour que l'information soit révélée, les participants
doivent être au moins k à mettre leurs informations (shares) en commun. A ce moment-là, le
secret peut être facilement trouvé. Dans le cas contraire, il est complètement impossible à
déterminer, dans la mesure où toutes les valeurs possibles sont équiprobables. Ce genre de
problèmes est connu en cryptographie comme les schémas à seuil (k,n), ou threshold (k,n)
schèmes [6].
Le Secret réparti ou le partage de secret consiste à distribuer un secret, par exemple
une clé ou un mot de passe, entre plusieurs personnes, à condition que ce secret ne puisse
être récupéré que si un nombre suffisant de ces personnes mettent en commun les
informations qu'ils ont reçues. En d'autre part, n’importe quelle réunion d’informations
insuffisantes n’apporte aucune information sur le secret.
4.2 Modèle générale pour le partage de secret :
L'idée de base de partage de secret consiste à diviser un secret selon une structure
d’accès donné. La structure d'accès d'un système de partage de secret donné est la collection
de sous-ensembles autorisés des actionnaires qui sont autorisés à reconstruire le secret. Le
secret est divisé en n nombres (S1…Sn) de telle sorte qu’au moins un nombre k parmi n
peuvent reconstruire le secret. Ainsi, tout système de partage de secret aura en général deux
phases [6]:
Phase de construction et distribution.
Phase de reconstruction de secret.
1. Phase de construction et distribution.
Pendant cette phase, une entité de confiance, généralement appelé le constructeur
des parts, pour produire une part pour chaque actionnaire. Il exige que le à la suite
d’informations :
a. Le secret : peut-être petit comme une clé de chiffrement, ou plus grand en tant
que base de données. Sans perte de généralité, le plus souvent l'information
secrète est représentée par des entiers.
b. Les participants de confiance (actionnaires) : les personnes ou les machines qui
seront donnés des parts de secret à garder.
Chapitre II : Le partage de secret
24
c. Les sous-ensembles qualifiés (structure d'accès): sont des sous-ensembles des
actionnaires qui devraient être en mesure de reconstruire le secret.
Les parts produites sont livrés aux actionnaires. Habituellement, des canaux sécurisés
sont utilisés pour la communication entre le constructeur et les actionnaires.
2. Phase de reconstruction :
Pendant la phase de reconstruction de secret, un sous-ensemble qualifié des
actionnaires mettront en commun leurs parts à une entité de confiance généralement appelé
constructeur de secret, pour reconstruire le secret. La reconstruction doit être sécurisée.
Toutes les parts doivent être soumises au constructeur de secret sur des canaux sécurisés
pour assurer la vie privée [6].
5. Prérequis mathématiques.
5.1 Définition d’un Corps.
Corps : En mathématiques, un corps est une des structures algébriques fondamentales
de l'algèbre générale. C'est un ensemble muni de deux opérations binaires rendant possible
l'addition, la multiplication et le calcul d'opposés et d'inverses, permettant de définir les
opérateurs de soustraction et de division. Plus précisément, un corps est un anneau dans
lequel l'ensemble des éléments non nuls est un groupe pour la multiplication. Autrement dit,
c'est un anneau (unitaire) non réduit à un élément et dans lequel tout élément non nul a un
inverse pour la multiplication.
Corps fini : En mathématiques et plus précisément en algèbre, un corps fini est un corps
commutatif qui est par ailleurs fini. À isomorphisme près, un corps fini est entièrement
déterminé par son cardinal, qui est toujours une puissance d'un nombre premier, ce nombre
premier étant sa caractéristique. Pour tout nombre premier p et tout entier non nul n, il existe
un corps de cardinal pn, qui se présente comme l'unique extension de degré n du corps
premier Z/pZ .
5.2 Arithmétique modulaire.
En mathématiques et plus précisément en théorie algébrique des nombres,
l’arithmétique modulaire est un ensemble de méthodes permettant la résolution de problèmes
sur les nombres entiers. Ces méthodes dérivent de l’étude du reste obtenu par une division
euclidienne.
L'idée de base de l'arithmétique modulaire est de travailler non sur les nombres eux-
mêmes, mais sur les restes de leur division par un nombre n [11].Surtout si n est un nombre
premier (un nombre premier est un nombre entier supérieur ou égale à 2, et divisible
seulement par 1 et lui-même).
Chapitre II : Le partage de secret
25
Inverse modulaire : L'inverse de a modulo n existe si et seulement si a et n sont
premiers entre eux, (c.-à-d. si PGCD (a, n) = 1). Donc l'opération de division d’un nombre
b par a modulo n équivaut à la multiplication par son inverse u.
𝑎𝑢 ≡ 1 (𝑚𝑜𝑑 𝑛), 𝑏
𝑎= 𝑏𝑢 (𝑚𝑜𝑑 𝑛) 𝐸𝑥𝑒𝑚𝑝𝑙𝑒:
5
11𝑚𝑜𝑑 17 = 5 ∗ 𝑢 𝑚𝑜𝑑 17
5.3 Interpolation.
En analyse numérique, l’interpolation est une opération mathématique permettant de
construire une courbe à partir d'un nombre fini de points, ou une fonction à partir d'un
nombre fini de valeurs. Il existe plusieurs type d’interpolation comme :
Interpolation linéaire
Interpolation cosinus
Interpolation cubique
L’interpolation polynomiale (utilisé dans notre travail)
L’interpolation polynomiale est une technique d'interpolation d'un ensemble de données
ou d'une fonction par un polynôme. En d'autres termes, étant donné un ensemble de points
(obtenu, par exemple, à la suite d'une expérience), on cherche un polynôme qui passe par
tous ces points.
5.4 Système d'équations linéaires.
5.4.1 Equation linéaire :
Une équation à coefficients réels ou complexes est dite linéaire quand elle peut être
présentée sous la forme : 𝑎(𝑥) = 𝑏, où x est l'inconnue, a et b sont deux nombres donnés. Si
a est différent de zéro, la seule solution est le nombre b/a.
Plus généralement, une équation est dite linéaire lorsqu'elle se présente sous la forme
𝑎(𝑥) = 𝑏 , où a est une application linéaire entre deux espaces vectoriels E et F, b est un
élément donné de F. On recherche l'inconnue x dans E.
5.4.2 System d’équation linéaire :
En mathématiques et particulièrement en algèbre linéaire, un système d'équations
linéaires est un système d'équations constitué d'équations linéaires qui portent sur les
mêmes inconnues[13]. Par exemple :
(S) {𝟐𝒙 + 𝟑𝒚 = 𝒃𝟏 𝟓𝒙 + 𝟐𝒚 = 𝒃𝟐
5.4.3 Nombre de solutions d’un système d'équations :
Si le corps est infini (comme c'est le cas pour les nombres réels et pour les nombres
complexes) alors seulement les trois cas suivants sont possibles pour n'importe quel système
donné d'équations linéaires à n inconnues :
le système n'a pas de solution.
le système a une solution unique.
Chapitre II : Le partage de secret
26
le système a une infinité de solution.
5.4.4 Interprétation graphique
Chaque équation du système (S) définit une fonction affine (obtenue
par addition et multiplication de la variable par des constantes), et est donc représentée par
une droite dans un repère. Les coordonnées du point d'intersection des deux droites
représentent la solution de (S).
Deux droites ont :
soit un unique point d'intersection (Solution unique) ;
soit aucun point d’intersection (Pas de solution) ;
soit une infinité de points d’intersection (Infinité de solutions).
5.5 Algorithme d'Euclide étendu et coefficients de Bézout :
L'algorithme d'Euclide étendu est une variante de l'algorithme d'Euclide qui permet, à
partir de deux entiers a et b, de calculer non seulement leur plus grand commun diviseur
(PGCD), mais aussi un de leurs couples de coefficients de Bézout (deux entiers u et v tels
que au + bv = PGCD (a, b)). Quand a et b sont premiers entre eux, u est alors l'inverse pour
la multiplication de a modulo b (et v est de la même façon l'inverse modulaire de b, modulo
a), ce qui est un cas particulièrement utile [16].
Exemple : supposant que a et b deux entier premier entre eux : a=120 et b=23
index Quotient Reste Si Ri
0 120 1 0
1 23 0 1
2 120÷23=5 123-(5*23)=5 1-5*0=1 0-5*1=-5
3 23 ÷ 5=4 23-(4*5)=3 0-4*(1)=-4 1-4*(-5)=21
4 5 ÷ 3=1 5-(3*1)=2 1-1(-4)=5 -5-1(21)=-26
5 3 ÷ 2=1 3-(2*1)=1 -4-1(5)=-9 21-1(-26)=47
6 2÷1=2 2-(2*1)=0 5-2(-9)=23 -26-2(47)=120
Tableau 02 : Exemple Algorithme d'Euclide étendu et coefficients de Bézout
- Le PGCD est 1 le dernier reste non égale à 0.
- Les coefficients de Bézout apparaitre dans la ligne avant dernier : u=-9 et v=47
Donc : -9*120 + 47*23=1(PGCD).
Chapitre II : Le partage de secret
27
6. Techniques de partage secret.
6.1 Technique d’Adi Shamir :
6.1.1 Historique :
Adi Shamir né le 6 juillet 1952, est un mathématicien et un cryptologue israélien
reconnu comme l'expert le plus éminent en cryptanalyse. Il est professeur au département de
mathématiques appliquées de l'Institut Weizmann depuis 1984 où il occupe la chaire Borman
de science informatique. En 1978, il a créé avec Ron Rivest et Len Adleman, l'algorithme
RSA, première mise en œuvre du concept de cryptographie asymétrique dont les fondements
furent posés par Whitfield Diffie et Martin Hellman en 1976.
6.1.2 Principe de la technique :
L'idée essentielle d'Adi Shamir est que 2 points sont suffisants pour définir une ligne,
3 points suffisent à définir une parabole, 4 points pour définir une courbe cubique, etc.
Autrement dit, il faut k points pour définir un polynôme de degré k-1[23].
En d’autre terme, dans un corps fini, on génère un polynôme de degré k dont le terme
constant est la donnée secrète. On donne à chaque dépositaire les coordonnées d’un point
distinct choisi sur la courbe. Ainsi, k dépositaires peuvent par interpolation polynômiale,
retrouver les coefficients du polynôme, et donc la donnée secrète.
6.1.3 Phase de Construction et distribution :
Supposons que nous voulons utiliser un schéma de seuil (k, n) pour partager notre
secret S, que l'on suppose, sans perte de généralité, être un élément dans un corps fini F (5.1).
Nous devons suivre les étapes suivantes :
a. Choisir au hasard (k-1) coefficients a1,..., ak-1 dans F, et poser le terme
constant 𝑎0 = 𝑆.
b. Construire le polynôme de degré k-1 :
𝑓(𝑥) = 𝑎0 + 𝑎1 𝑥 + 𝑎2 𝑥2 + 𝑎3 𝑥
3 +⋯+ 𝑎𝑘−1 𝑥𝑘−1
c. Calculer n points à partir de ce polynôme, par exemple i = 1,..., n qui
donnent les points (i, f(i)).
d. Chaque dépositaire reçoit un point.
6.1.4 Phase de Reconstruction :
a. Collection d’un sous-ensemble de k de ces couples ou plus.
Chapitre II : Le partage de secret
28
b. Nous pouvons trouver les coefficients du polynôme à l'aide de
l'interpolation polynomiale, Utilisant le polynôme de Lagrange qui
s'écrit :
f(x) = ∑yjlj(x)
𝑘−1
j=0
lj(x) = x− xmxj − xm
k−1
m=0,m≠j
Où les ℓj sont les polynômes de base de Lagrange.
On calcule les polynômes de base de Lagrange 𝑙𝑗(𝑥) .
On calcule le polynôme final et on retrouve ainsi 𝑎0.
6.1.5 Interprétation graphique :
Cette image montre, pour 4 points ((-9, 5), (-4, 2), (-1, -2), (7, 9)), l'interpolation
polynomiale L(x) (de degré 3), qui est la somme des polynômes de base y0.l0(x), y1.l1(x),
y2.l2(x) et y3.l3(x). Le polynôme d'interpolation passe par les 4 points de contrôle, et
chaque polynôme de base passe par son point de contrôle respectif et vaut 0 pour les x
correspondant aux autres points de contrôle.
Figure 17 : Interpolation
6.1.6 Exemple :
a. Phase 1 : Construction et distribution.
Supposons que notre secret est S= 224.
Nous tenons à partager le secret en 6 parts ou shares (n=6), où une réunion
quelconque de 3 parts (k=3) suffit pour reconstruire le secret.
- Générer aléatoirement k-1 numéros supérieure à 0. dans notre cas on
obtient 2 numéros : 118, 56.
𝑎0 = 𝑆 = 224, 𝑎1 = 118, 𝑎2 = 56
- Le polynôme pour produire les clés est donc s’écrit :
𝑓(𝑥) = 224 + 118 𝑥 + 56 𝑥2
Chapitre II : Le partage de secret
29
- Nous avons construit 6 points à l'aide du polynôme :
(1,398), (2,684), (3,1082), (4,1592), (5,2214), (6,2948)
- Nous donnons à chaque participant un point différent à la fois (x, f(x))
b. Phase 2 : Reconstruction.
- Afin de reconstituer le secret, 3 points seront suffisants. Par exemple :
(𝑥0,𝑦0) = (2,684), (𝑥1,𝑦1) = (4,1592), (𝑥2,𝑦2) = (6,2948)
- Le polynôme de Lagrange associé s'écrit :
𝑓(𝑥) = ∑𝑦𝑗𝑙𝑗(𝑥)
𝑘−1
𝑗=0
𝑙𝑗(𝑥) = 𝑥 − 𝑥𝑚𝑥𝑗 − 𝑥𝑚
𝑘−1
𝑚=0,𝑚≠𝑗
Où les ℓj sont les polynômes de base de Lagrange :
𝒍𝟎 =𝑥−𝑥1
𝑥0−𝑥1 𝑥−𝑥2
𝑥0−𝑥2 =
𝑥−4
2−4 𝑥−6
2−6 =
𝑥−4
−2 𝑥−6
−4
=(𝑥2 − 6𝑥 − 4𝑥 + 24)
8=1
8𝑥2 −5
4𝑥 + 3
𝒍𝟏 =𝑥−𝑥0
𝑥1−𝑥0 𝑥−𝑥2
𝑥1−𝑥2 =
𝑥−2
4−2 𝑥−6
4−6 =
𝑥−2
2 𝑥−6
−2
=(𝑥2 − 6𝑥 − 2𝑥 + 12)
−4= −1
4𝑥2 + 2𝑥 − 3
𝒍𝟐 =𝑥−𝑥0
𝑥2−𝑥0 𝑥−𝑥1
𝑥2−𝑥1 =
𝑥−2
6−2 𝑥−4
6−4 =
𝑥−2
4 𝑥−4
2
=(𝑥2 − 4𝑥 − 2𝑥 + 8)
8= −1
8𝑥2 −3
4𝑥 + 8
𝑓(𝑥) = 684 (1
8𝑥2 −5
4𝑥 + 3) + 1592 (−
1
4𝑥2 + 2𝑥 − 3) + 2948(
1
8𝑥2 −3
4𝑥 + 1)
𝑓(𝑥) = 224 + 118𝑥 + 56𝑥2
Rappelons que le secret est le premier coefficient (terme constant), ce qui signifie
que S=224.
Chapitre II : Le partage de secret
30
6.2 Technique de George Blakely [10]:
6.2.1 Historique :
George Robert (Bob) Blakley Jr. est un cryptologue américain et un professeur de
mathématiques à l'Université de Texas A & M, plus connu pour avoir inventé un schéma de
partage de secret en 1979 [15].
6.2.2 Principe de la technique :
Blakely secret sharing schème (SSS) utilise la géométrie des hyperplans pour résoudre
le problème de partage de secret. Le secret est un point dans plan t-dimension où les n parts
sont des hyperplans affins qui passent de ce point. On peut écrire les coordonnées d’un
hyperplan affin dans un plan t-dimension avec une équation linéaire de la forme :
𝑎1 𝑥1 + 𝑎2 𝑥2 +⋯+ 𝑎𝑡 𝑥𝑡 = 𝑏
Le point commun sera trouvé par l’intersection de t hyperplans parmi les n hyperplans.
Le secret c’est l’un des coordonnées du point d’intersection. On peut s’arranger pour mettre
le secret dans la première coordonnée [14].
En d’autres termes, dans un corps fini, on construit un système linéaire à n équations
et t inconnues, et dont la seule solution est la donnée secrète. Le terme constant est public,
et chaque participant reçoit une ligne du système [18].
6.2.3 Phase de construction et de distribution :
Supposons que nous voulons utiliser le schéma de seuil (k, n), et considérer notre
secret qu’on note S. Nous suivrons les étapes suivantes :
a. Générer un point x de k-dimensions notons que la première coordonnée est notre
secret S, et les autres sont choisies au hasard.
b. Générer au hasard k coefficients.
c. A partir de k coefficients et les coordonnées du point x on les écrits sous forme d’une
équation linéaire de k inconnues.
d. Pour n dépositaire répéter les étapes a, b et c n fois,
e. On distribue à chaque dépositaire une équation.
6.2.4 Phase de reconstruction :
Pour trouver les coordonnés du point d’intersection x tous simplement trouve la solution du
system d’équations de t équations (n ≥ t ≥ k) et k inconnus.
a. Constitution d’un system d’équations de t équations comme suite :
Chapitre II : Le partage de secret
31
{
𝑎11𝑥1 + 𝑎21𝑥2 +⋯+ 𝑎𝑘1𝑥𝑘 = 𝑏1𝑎12𝑥1 + 𝑎22𝑥2 +⋯+ 𝑎𝑘2𝑥𝑘 = 𝑏2
……𝑎1𝑡𝑥1 + 𝑎2𝑡𝑥2 +⋯+ 𝑎𝑘𝑡𝑥𝑘 = 𝑏𝑡
b. Chercher la solution du système dont la solution est représentée par les valeurs des
coordonnées du point d’intersection x.
c. Rappelons que le secret est la première coordonnée.
6.2.5 Interprétation graphique :
Chaque part du secret est un plan et le secret est le point d'intersection entre les trois
partages. Deux partages se croisent seulement en une ligne d'intersection.
Figure 18 : Intersection des hyper plans
6.2.6 Exemple :
Supposons que notre secret est S= 224.
Nous tenons à partager le secret en 6 parts (n=6), où une réunion quelconque de 3 parts
(k=3) suffit pour reconstruire le secret.
a. Phase 1 : distribution.
- Générer les coordonnées d’un point x de k-dimension
X=[x1, x2, x3] = [224, 75, 13], notons que la première coordonnée x1=224
est notre secret S.
- choisir au hasard k coefficients pour n équations.
𝑎1.1 = 12, 𝑎2.1 = 25, 𝑎3.1 = 35
𝑎1.2 = 20, 𝑎2.2 = 10, 𝑎3.2 = 11
𝑎1.3 = 16, 𝑎2.3 = 5, 𝑎3.3 = 7
𝑎1.4 = 2, 𝑎2.4 = 13, 𝑎3.4 = 6
𝑎1.5 = 3, 𝑎2.5 = 5, 𝑎3.5 = 17
𝑎1.6 = 43, 𝑎2.6 = 9, 𝑎3.6 = 21
- Ecriture des données sous forme d’équations linières.
Chapitre II : Le partage de secret
32
𝑎1𝑥1 + 𝑎2𝑥2 + 𝑎3𝑥3 = 𝑏
12(224) + 25(75) + 35(13)=5018
20(224) + 10(75) + 11(13)=5373
16(224) + 5(75) + 7(13)=4050
2(224) + 13(75) + 6(13)=1501
3(224) + 5(75) + 17(13)=1620
43(224) + 9(75) + 21(13)=10580
- Chaque dépositaire reçoit les valeurs (a1, …, ak, b).
P1 (12, 25, 35, 5018), P2 (20, 10, 11, 5373), P3 (16, 5, 7, 4050), P4 (2, 13, 6, 1501),
P5 (3, 5, 17, 1620), P6 (43, 9, 21, 10580).
b. Phase 2 : Reconstruction :
Afin de reconstituer le secret, 3 équations seront suffisantes. Par exemple :
P1, P3, P6.
- P1(12,25,35,5018), P3(16,5,7,4050), P6(43,9,21,10580).
- Le système s’écrit :
{
12𝑥1 + 25𝑥2 + 35𝑥3 = 501816𝑥1 + 5𝑥2 + 7𝑥3 = 405043𝑥1 + 9𝑥2 + 21𝑥3 = 10580
- Résoudre ce système pour trouver les coordonnées du point
d’intersection.
La solution du system est :
x1=224.00000000000003
x2=75.00000000000007
x3=12.999999999999952
- Rappelons que le secret est la première coordonnée= 224.
6.3 Technique des restes chinois [9]:
6.3.1 Principe de la technique :
Le théorème des restes chinois est un résultat d'arithmétique modulaire traitant la
résolution de systèmes de congruences. Ce résultat, établi initialement pour Z/nZ, se
généralise en théorie des anneaux. Ce théorème est utilisé en théorie des nombres.
Chapitre II : Le partage de secret
33
6.3.2 Phase de construction et de distribution :
Supposons que nous voulons utiliser le schéma de seuil (k, n), et prendre notre secret
noté S. Nous suivrons les étapes suivantes :
a. Générer au hasard n+1 numéros relativement premier deux à deux notés
𝑚0, 𝑚1, … . , 𝑚𝑛 satisfaisants les conditions suivantes :
- 𝑚0 est un nombre premier.
- 0 < 𝑚0 < 𝑚1 < 𝑚2 < ⋯ < 𝑚𝑛 .
- 𝑀 = 𝑚1 ∗ 𝑚2 ∗ … ∗ 𝑚𝑘 > 𝑚0 ∗ 𝑚𝑛 ∗ 𝑚𝑛−1…∗ 𝑚𝑛−𝑘+2.
𝑜𝑢 𝑚0 ∗ 𝑚𝑛+1−𝑖 < 𝑀 = 𝑚𝑖.
𝑘
𝑖=1
𝑘−1
𝑖=1
b. Choisir un entier aléatoire α tel que :
0 ≤ 𝑦 = 𝑆 + 𝛼𝑚0 < 𝑀
c. Calculer 𝑦𝑖 ≡ 𝑦 𝑚𝑜𝑑 𝑚𝑖 𝑃𝑜𝑢𝑟 𝑖 = 1,2, … . , 𝑛.
Les 𝒚𝒊 sont les valeurs que nous voulons distribuer sur n dépositaires.
6.3.3 Phase de reconstruction :
Afin de reconstruire le secret nous devrons suivre les étapes suivantes :
a. Collecter au moins k parts de k dépositaire: 𝐼𝑖 = (𝑦𝑖, 𝑚𝑖).
b. Utiliser le théorème du reste chinois (5.5) pour résoudre le system de congruences
suivant :
{
𝑦 ≡ 𝑦1 𝑚𝑜𝑑 𝑚1𝑦 ≡ 𝑦2𝑚𝑜𝑑 𝑚2…
𝑦 ≡ 𝑦𝑘𝑚𝑜𝑑 𝑚𝑘
Tant que les 𝑚𝑖 sont copremiers, le système possède une solution unique.
c. Calculer 𝑀 = 𝑚1… 𝑚𝑘 et ensuite calculer 𝑠 = (𝑦 𝑚𝑜𝑑 𝑀 ) 𝑚𝑜𝑑 𝑚0.
6.3.4 Exemple.
Supposons que notre secret est S = 4.
Nous tenons à partager le secret en 5 parts (n = 5), où une réunion quelconque
de 3 parts (k = 3) suffit pour reconstruire le secret.
a. Phase 1 : distribution.
1. Générer au hasard n+1 = 5+1 = 6 numéros relativement premier deux à
deux :
𝑚0 = 5, 𝑚1 = 13, 𝑚2 = 17, 𝑚3 = 19,𝑚4 = 21, 𝑚5 = 23
Chapitre II : Le partage de secret
34
𝑀 = 𝑚1 ∗ 𝑚2 ∗ 𝑚3 = 13 ∗ 17 ∗ 19 = 4199
𝑀 > 5 ∗ 21 ∗ 23 > 2415 , La condition est satisfaite.
2. Choix d’un entier aléatoire α =29 qui satisfait la condition :
0 < S + α*m0 < M
𝑦 = 4 + 29 ∗ 5 = 149 < 4199 < 𝑀
3. Calcule des 𝑦𝑖 𝑝𝑜𝑢𝑟 𝑖 = 1…𝑛.
𝑦1 = 149 𝑚𝑜𝑑 13 = 6, 𝑦2 = 149 𝑚𝑜𝑑 17 = 13, 𝑦3 = 149 𝑚𝑜𝑑 19 =
16, 𝑦4 = 149 𝑚𝑜𝑑 21 = 2, 𝑦5 = 149 𝑚𝑜𝑑 23 = 11
b. Phase 2 : Reconstruction.
1. 3 valeurs seront suffisantes. Par exemple : y1 = 6, y4 = 2 et y5 = 1.
2. {
𝑦 ≡ 6 𝑚𝑜𝑑 13
𝑦 ≡ 2 𝑚𝑜𝑑 21
𝑦 ≡ 11 𝑚𝑜𝑑 23
3. Calculer : 𝑀 = 𝑚1 ∗ 𝑚2… .∗ 𝑚𝑘 , 𝑀 = 13 ∗ 21 ∗ 23 = 6279
4. La solution du system est : y = 6 ∗ 𝑒1 + 2 ∗ 𝑒2 + 11 ∗ 𝑒3 𝑚𝑜𝑑 𝑀
Chaque 𝑒𝑖 est calculé en utilisent l’algorithme d’Euclide étendu
𝑟𝑖 ∗ 𝑚𝑖 + 𝑠𝑖 ∗𝑀𝑚𝑖⁄ = (𝑃𝐺𝐶𝐷), 𝑟𝑖 𝑒𝑡 𝑠𝑖 𝑠𝑜𝑛𝑡 𝑙𝑒𝑠 𝑐𝑜𝑒𝑓𝑓𝑖𝑐𝑖𝑒𝑛𝑡𝑠
𝑒𝑖 = 𝑠𝑖 ∗𝑀𝑚𝑖⁄ , 𝑒1 = −6 ∗ 483 = −2898, 𝑒2 = −4 ∗ 299
= −1196 𝑒𝑡 𝑒3 = −8 ∗ 273 = −2184
𝑦0 = (6 ∗ (−2898)) + (2 ∗ (−1196)) + (11 ∗ (−2184))
= −43804 𝑚𝑜𝑑 𝑀 = 149 𝑚𝑜𝑑 𝑚0 = 4 = 𝑆
Chapitre II : Le partage de secret
35
7. Conclusion :
Dans ce chapitre nous avons présenté la notion de sécurité informatique, la
cryptographie et le partage de secret, ainsi que les déférentes techniques du secret réparti :
technique d’Adi Shamir, de George Blakley et celle du théorème des restes chinois. Les
techniques abordées ici sont considérées comme les plus utilisées, les plus efficaces et les
plus fiables. Quelques exemples d’application du secret réparti dans la vie quotidienne ont
été présentés. Nous avons abordé également les bases mathématiques et le déroulement de
chaque méthode à travers des exemples appliqués sur des nombres entiers. Mais notre but
est de chercher comment les appliquer efficacement sur un secret sous forme d’image
numérique. Dans le chapitre suivant, nous allons étudier et proposer des solutions à ce
problème.
Chapitre III : Application sur l’image numérique Chapitre III :
Application des techniques
sur l’image numérique
Chapitre III : Application des techniques sur l’image numérique
37
1. Introduction :
Dans le chapitre précédent nous avons présenté quelques techniques de secret réparti
(secret sharing) les plus réputées, mais le but que nous voulons atteindre c’est comment on
peut les appliquer si notre secret est une image numérique ?
Dans ce chapitre nous aborderons tous les détails relatifs au partage de secret appliqué
à l’image numérique. En particulier, nous allons montrer comment adapter les trois
techniques discutées dans le chapitre précédent (Technique d’Adi Shamir, George Blakley et
théorème des restes chinois) pour pouvoir les appliquer correctement sur un secret sous
forme d’une image numérique matricielle.
Chapitre III : Application des techniques sur l’image numérique
38
2. Application des techniques sur l’image numérique :
Avant de présenter l’application de chaque technique sur l’image numérique nous
rappelons que le secret que nous travaillons dessus est l’image elle-même. Nous allons
utiliser le schéma de seuil (k, n) = (3,5) pour générer les parts dans les illustrations. Il faut
noter tout de même que les techniques sont applicables théoriquement quelques soient les
valeurs n et k (n ≥ k > 0).
2.1 La technique d’Adi Shamir :
Rappelons que le principe de cette technique est de générer un polynôme de degré k
dont le terme constant représente le secret à partager. On donne à chaque dépositaire, les
cordonnées d’un point distinct choisi sur la courbe du polynôme. La reconstruction sera faite
par l’interpolation polynomiale utilisant le polynôme de Lagrange (voir le chapitre 02,
section 6.1).
Nous savons déjà que quelle que soit l’image numérique, les intensités de ses pixels sont
comprises entre 0 et 255. Alors, ces valeurs ne constituent pas un corps fini et pour cela on
a proposé une technique de normalisation. On a trouvé que les valeurs les plus proches à 256
qui sont premiers et offrant un corps fini sont 251 et 257, alors que la dernière est plus grande
pour être représentée sur une image. L’objectif de cette technique est de borner les intensités
des pixels à 250.Cette méthode engendre une perte minime d’information sur les images non
perçue généralement par l’œil nue [6].
2.1.1 Déroulement de l’algorithme :
Pour atteindre notre objectif, nous devons suivre les étapes suivantes pour chaque pixel
de l’image originale :
Phase de génération des n parts (Shares):
- Faire un prétraitement de l’image pour borner toutes les valeurs
d’intensité à une valeur inférieur ou égale à 250.
- Pour chaque pixel de l’image faire :
Générer un polynôme de degré k-1 dans le terme constant est la
valeur d’intensité du pixel (voir chapitre 2).
Calculer n points (x, f(x)=y) sur la courbe modulo 251.
Sauvegarder les y dans les n images dans la même position que
l’image originale.
- Chaque dépositaire reçoit une image (Part ou Share) ayant la même taille
que l’image originale qui représente le secret.
Chapitre III : Application des techniques sur l’image numérique
39
Phase de reconstruction :
Collecter k images (parts) et appliquer pour k pixel (un pixel de chaque
image). Les étapes suivantes :
- Retirer de chaque image la valeur de x et la valeur de y.
- Calculer le polynôme de Lagrange (voir chapitre 2).
- Prendre le terme constant et sauvegarder le dans une image qui
correspond à la fin à l’image originale.
-
2.1.2 Exemple :
Schéma de seuil (3,5) appliqué sur une image couleur de 160 * 120 pixels.
Construction et distribution:
Reconstruction : Pour la reconstruction on a besoin d’un nombre suffisant de parts
qui est dans l’intervalle (k, …, n). Dans notre cas k=3 (ou plus) est suffisant. Donc
trois parts sont suffisantes pour la reconstruction.
Image originale Part 01 Part 02
Part 05 Part 04 Part 03
Figure 19 : Technique d’Adi Shamir (Construction) schéma de seuil (3,5)
Chapitre III : Application des techniques sur l’image numérique
40
2.2 La technique de George Blakley [11]:
Rappelons que le principe de cette technique est de constituer un système linéaire à n
équations et k inconnues, et dont la seule solution est la donnée secrète. Chaque participant
reçoit une ligne du système.
La méthode proposée leur principe est de donner pour chaque paramètres générer un
nombre de bits pour permettre de les stocké d’une façon pour obtenir des parts (shares) de
même taille que l’image originale.
2.2.1 Déroulement de l’algorithme :
Phase de génération des n Parts (Shares) :
Pour la génération des parts, il nous faut suivre les étapes suivantes :
a) Choisir un schéma de seuil (k, n).
b) Partitionner l’image secrète en groupes séparés de k pixels chacun.
c) Pour chaque groupe de k pixels :
1) Les k pixels forment un point de k dimensions :
𝑥(𝑥1, 𝑥2, . . . , 𝑥𝑘)
Image résultante
Part 02 Part 04 Part 03
Figure 20: Technique d’Adi Shamir (Reconstruction) schéma de seuil (3,5))
Chapitre III : Application des techniques sur l’image numérique
41
2) Aléatoirement sélectionner n différents groupes de solutions (a1, a2,…, ak,, b).
De telle sorte que l'équation 𝑎1𝑥1 + 𝑎2𝑥2 +⋯+ 𝑎𝑘𝑥𝑘 = 𝑏 soit satisfaite.
3) Ajuster chaque groupe de paramètres aux bits prédéfinis.
d) Sauvegarder chaque groupe de bits dans une image.
Le schéma suivant explique cet algorithme.
Dans cet algorithme pour la sélection de n équations (c,2), il faut respecter une seule
condition qui est : ces équations représentent des hyperplans qui donnent un seul point
d’intersection.
Dans l’étape (c,3) les bits prédéfinis sont choisis de façon à ce que les images générées
ont la même taille que l’image originale, le nombre de bits pour coder chaque paramètre est
calculé comme suit :
Dans le schéma de seuil (3,5) chaque groupe est composé de k pixels (bytes), les k
paramètres générés et la solution b sont stockés dans k pixels pour assurer que la taille des
images générées est identique à l’image originale. Donc on a k octets et k+1 paramètres.
Pour satisfaire cette exigence, on utilise la méthode suivante [16] :
Image secrète Découper en groupe
de k pixels séparés
k Pixels
k+1 Paramètres
n Im
ag
es (Pa
rts)
Choisir n défirent solutions
et les sauvegarder comme n
parts (Image)
S1
Sn
Figure 21: Montre le déroulement de l’algorithme de distribution
Chapitre III : Application des techniques sur l’image numérique
42
- Le paramètre b est stocké sur 6+2*k bits.
- Les paramètres 𝑎1, 𝑎2, … 𝑎𝑘−1 sont stockés sur ⌊8∗𝑘−(6+2∗𝑘)
𝑘⌋ bits.
- Le paramètre ak est codé sur 8 ∗ 𝑘 − ⌊8∗𝑘−(6+2∗𝑘)
𝑘⌋ ∗ (𝑘 − 1) − (6 + 2 ∗
𝑘) bits.
Exemple : On utilisant le schéma de seuil (3,5) on obtient :
- Le paramètre b est codé sur 6+2*k=6+2*3=12 bits.
- Les paramètres 𝑎1, 𝑎2, … 𝑎𝑘−1 sont stockés sur ⌊8∗𝑘−(6+2∗𝑘)
𝑘⌋ =
⌊8∗3−(6+2∗3)
3⌋ = 4 𝑏𝑖𝑡𝑠
- Le paramètre ak est codé sur 8 ∗ 𝑘 − ⌊8∗𝑘−(6+2∗𝑘)
𝑘⌋ ∗ (𝑘 − 1) − (6 + 2 ∗
𝑘) = 8 ∗ 3 − ⌊8∗3−(6+2∗3)
3⌋ ∗ (3 − 1) − (6 + 2 ∗ 3) = 4 𝑏𝑖𝑡𝑠
On trouve que 4+4+4+12=24 bits= 3 bytes=3 pixels.
Phase de reconstruction :
Pour la reconstitution de secret (image originale), il nous faut utiliser le même schéma
de seuil (k, n) que nous avons choisi dans l’algorithme de distribution. L’algorithme de
reconstruction est définit comme suite :
a) Collecter k images (parts) à partir des n images qu’on a déjà créé.
b) Partitionner chaque image en groupes de k pixels séparé (pas de
chevauchement entre eux).
c) Récupérer les k+1 paramètres à partir de k pixels selon la méthode
qu’on déjà vu dans la section (2.2.1.1).
d) Trouver le point d’intersection entre les k hyper-plans construits par les
paramètres calculés dans l’étape précédente. En d’autres termes trouver
la solution du système d’équations linéaires dont la seule solution
constitue les coordonnées du point d’intersection.
e) Stocker les coordonnées trouvées dans k pixels dans l’image que nous
voulons la reconstruire.
f) Répéter les étapes de b à e jusqu’à la récupération de l’image secrète.
Chapitre III : Application des techniques sur l’image numérique
43
Le schéma suivant illustre cet algorithme.
2.2.2 Exemple :
Schéma de seuil (3,5) appliqué sur une image couleur de 160 * 120 pixels.
Construction et distribution :
k +1 Paramètres
Point d’intersection
K part(image)
k Pixels
Calculer le point
d’intersection et stocker
les coordonnées dans
l’image reconstruite
Récupérer k+1 paramètres
Figure 22: Montre le déroulement de l’algorithme de reconstruction
Image originale Part 01 Part 02
Part 05 Part 04 Part 03
Figure 23: Technique de George Blakley (Construction) schéma de seuil (3,5)
Chapitre III : Application des techniques sur l’image numérique
44
Reconstruction : Pour la reconstruction on a besoin d’un nombre suffisant de parts qui est
dans l’intervalle (k, ..., n). Dans notre cas k = 3 et trois parts sont suffisantes pour la
reconstruction.
2.3 Théorème des restes chinois [9]:
Rappelons que le principe du théorème des restes chinois est basé sur l'arithmétique
modulaire traitant la résolution de systèmes de congruences.
2.3.1 Déroulement de l’algorithme :
Phase de production des Parts (Images) :
Pour la construction des parts (Shares), il nous faut suivre les étapes
suivantes [17] :
a. Générer n+1 entiers relativement premiers entre eux deux à deux
(PGCD (mi,mj) = 1, 0 ≤ 𝑖 < 𝑗 ≤ 𝑛) (Coprime en englais)
satisfaisants les conditions suivantes :
𝑚0 = 128.
𝑚0 < 𝑚1 < 𝑚2 < ⋯ < 𝑚𝑛 ≤ 255.
𝑚0 ∗ ∏ 𝑚𝑛+1−𝑖 < 𝑀 = ∏ 𝑚𝑖𝑘𝑖=1
𝑘−1𝑖=1 .
b. Généré aléatoirement un entier α dans l’intervalle(0, ⌊𝑀
𝑚0⌋).
c. Chaque valeur 𝑥ℎ du pixel (r,g,b) est calculée selon l’équation
suivante :
Image résultante
Part 02 Part 04 Part 03
Figure 24: Technique de George Blackley (Reconstruction) schéma de seuil (3,5))
Chapitre III : Application des techniques sur l’image numérique
45
𝑦ℎ = (𝑥ℎ ≫ 1) + 𝛼.𝑚0 𝑒𝑡 ℎ = 𝑟, 𝑔 𝑜𝑢 𝑏
Le but d’utiliser α est pour éviter que la conversion d’une valeur donne
la valeur elle-même. Autrement dit, obtenir une valeur identique dans
les parts (shadow image). Le paramètre α n’est pas exigé dans la
reconstruction.
d. Pour i = 1, ..., n, Calculer 𝑠𝑖 = 𝑦 𝑚𝑜𝑑 𝑚𝑖.
e. Répéter les étapes b, c et d jusqu’à ce que tous les pixels soient traités.
f. Stocker les 𝑠𝑖 dans n images et au même temps, conserver la valeur du
mi associé à chaque image.
Phase de reconstruction du secret :
Pour la reconstruction, il nous faut collecter k (ou plus) parts (Shares) et
procéder comme suit :
a. Retirer les valeurs de 𝑚𝑖, 0 < 𝑖 ≤ 𝑘 à partir du premier pixel inutilisé
de chaque image parmi les k images.
b. Séquentiellement prendre le premier pixel noté w à partir de k images.
{𝑟𝑖(𝑤)|𝑖 = 1,2… , 𝑘} .
c. Appliquer le théorème des restes chinois pour résoudre le systeme de
congruence 𝑦ℎ (Voir chapitre 2 section 6.3.4).
d. Calculer s = yℎmod m0 ≪ 1 ℎ = 𝑟, 𝑔 𝑜𝑟 𝑏.
e. Répéter les étapes de b jusqu’à d jusqu’au dernier pixel de chaque
part.
f. Stocker les valeurs 𝑥ℎ , ℎ = 𝑟, 𝑔 𝑜𝑟 𝑏 obtenues dans l’image à
reconstruire.
2.3.2 Exemple :
Schéma de seuil (3,5) appliqué sur une image couleur de 160 * 120 pixels.
Chapitre III : Application des techniques sur l’image numérique
46
Construction et distribution :
Reconstruction :
Image originale Part 01 Part 02
Part 05 Part 04 Part 03
Figure 25 : Technique des restes chinois (Construction) schéma de seuil (3,5)
Image résultante
Part 02 Part 01 Part 05
Figure 26: Technique des restes chinois (Reconstruction) schéma de seuil (3,5))
Chapitre III : Application des techniques sur l’image numérique
47
3. Conclusion :
Dans ce chapitre nous avons présenté tout ce qui concerne l’application des techniques
de secret réparti sur l’image numérique. Nous avons constaté que les résultats ont été
satisfaisants. Néanmoins, malgré la bonne qualité des résultats obtenus pour chaque
technique, des difficultés ont été rencontrées. Au niveau de l’implémentation des limites et
des obstacles sont remarquées concernant les exigences (conditions) ou concernant le
nombre de parts à générer ainsi que le seuil à utiliser. Dans la suite de notre étude, nous
aborderons les déférents avantages et inconvénients de chaque technique.
Chapitre VI : Comparaison entre les techniques de secret réparti
Chapitre VI :
Comparaison entre les
techniques de secret réparti
et implémentation
Chapitre VI : Comparaison entre les techniques de secret réparti et implémentation
49
1. Introduction :
Dans les chapitres précédents, nous avons présenté, avec le niveau de détail approprié,
les déférentes techniques de secret reparti les plus réputées à travers une explication illustrée
des processus de production des parts (shares) et de reconstruction du secret. L’approche
initiale connue par la communauté de la cryptologie était de considérer le secret à partager
comme un nombre entier. Nous avons abordé le problème d’application de ces techniques
en partant du fait que le secret est une image matricielle et non plus un simple entier. Ce
chapitre est un complément dans lequel nous menons une étude comparative de ces
techniques pour bien cerner les avantages et les inconvénients de chacune. Nous allons
présenter et expliquer l’application conçue et implémenté pour mettre en œuvre les
techniques étudiées. Nous allons également présenter notre propre contribution qui permet
de résoudre efficacement le problème de détection et de localisation des intrus. Des études
de cas seront données pour tester et valider notre contribution.
Chapitre VI : Comparaison entre les techniques de secret réparti et implémentation
50
2. Présentation de l’application :
Nous allons maintenant donner un aperçu sur l’ensemble des interfaces de notre
application. On commence par présenter une introduction au langage de programmation
utilisé dans notre travail et l’ensemble des principales fonctions implémentées.
2.1 Matériels utilisé pour le développement de l’application :
Le matériel utilisé pour le développement de notre application est :
Un PC (HP 15 Note Book Pc) ayant les caractéristiques suivantes :
PROCESSEUR : Intel®Core™ i7-5500U CPU @2.40GHz 2.40GHZ .
Ram : 8,0 GO DRR 4.
Carte Graphique : intel ® 5500 series express chipset family/NVIDIA
GEFORCE Gtx 840.
Disque Dur 1 TO (SDD).
SYSTEME D’EXPLOITATION : Windows 8.1 64 bit/Ubuntu 16.04 Xenial
Xerus.
2.2 Langage de programmation utilisé :
Afin d’implémenter notre application, nous avons choisi d’utiliser le langage de
programmation Java. Ce langage est très utilisé aujourd’hui, notamment par un grand
nombre de programmeurs professionnels notamment pour les raisons suivantes :
Portabilité : il est indépendant de toute plateforme.
Gestion automatique de la mémoire : la destruction des objets se fait
automatiquement par le ramasse-miettes. .
Multitâches : il offre la possibilité de l’utilisation des threads.
Qu'est-ce que java :
Java est un langage généraliste de programmation synthétisant les principaux langages
existants lors de sa création par Sun Microsystems (aujourd'hui racheté par Oracle). Il permet
une programmation orientée-objet (à l’instar de SmallTalk et dans une moindre mesure
C++), modulaire (langage ADA) et reprend une syntaxe très proche de celle du langage C.
Outre son orientation objet, le langage Java a l’avantage d’être modulaire (on peut
écrire des portions de code génériques, c.-à-d. utilisables par plusieurs applications),
rigoureux (la plupart des erreurs sont détectées à la compilation et non à l’exécution) et
portable (un même programme s’exécute sur des plateformes différentes). Une de ses plus
Chapitre VI : Comparaison entre les techniques de secret réparti et implémentation
51
grandes forces est son excellente portabilité : une fois votre programme créé, il fonctionnera
automatiquement sous Windows, Mac, Linux, etc [17].
Nous avons opté pour JavaFX pour développer les interfaces utilisateur de notre application.
Qu'est-ce que JavaFX :
Le JavaFX est un langage de programmation orienté interface graphique. Cette
technologie est en faveur des applications internet riches qui s’exécutent sur des différentes
plateformes. JavaFX évolue vers le multimédia à travers le traitement des images, la création
de media Player, et l’intégration audio et vidéo. Ces applications ont l’avantage d’être
exécuté sur le web, sur le bureau, (Desktop) ainsi que sur mobile, et même sur télévision.
La nouvelle version JavaFX 2 .0 donne la possibilité de développer en deux modes :
Mode procédural : à travers les classes java.
Mode déclaratif : en utilisant la syntaxe XML.
Structure d’une application JavaFX :
La structure des composants dans une application JavaFX est basée sur la métaphore
du théâtre. Le conteneur de niveau le plus élevé est le stage, à l’intérieur du stage se trouve
la scène, cette scène contient le graphe de scène, c’est-à-dire la structure hiérarchique des
éléments graphiques dans l’interface.
Toutes classes créées doivent hériter de la classe mère Application :
Public class Main extends Application
Stage est la fenêtre principale indispensable pour l’affichage. C’est l’équivalent
de java.awt.Frame en Java.
Scene contient tous les éléments de notre interface graphique. Elle compose une
page dans l’application.
Nodes : ce sont les éléments visuels de la scène : les containers et les composants
de JavaFX [18].
L'application JavaFX aura trois composantes majeures, à savoir Stage, la scène et les
Nodes, comme indiqué dans le diagramme suivant :
Chapitre VI : Comparaison entre les techniques de secret réparti et implémentation
52
Figure 27 : Composantes majeures de JavaFX[19]
Notes
JavaFX offre la possibilité d’appliquer les feuilles de style dans la scène graphique
de façon semblable aux styles CSS destinées aux composants HTML dans un
navigateur.
C’est le développement en utilisant l’approche déclarative. Un fichier FXML est un
fichier au format XML dont la syntaxe est conçue pour décrire l'interface avec ses
composants, ses conteneurs et sa disposition.
La plateforme «IntelliJ IDEA »
Après avoir choisi le langage de programmation, nous avons décidé d’utiliser IntelliJ
IDEA comme un IDE pour le développement de notre application. IntelliJ IDEA est
un IDE Java commercial développé par JetBrains.
IntelliJ IDEA est un environnement de développement intégré écrit en Java, extensible
par greffons, multi-langages et multiplateformes. Il est conçu au début pour le langage Java,
mais ses nombreux greffons le rendaient un EDI pour de nombreux autres langages
(ActionScript/MXML, CoffeeScript , Groovy, HTML/XHTML/CSS, Java, JavaScript,
Kotlin, PHP, Python, Ruby/JRuby, Scala, Structured Query Language, XML/XSL) [20].
2.3 Outils supplémentaires utilisés :
- L’une des technologies utilisées dans ce projet est la bibliothèque BouncyCastle
pour l’extraction du hash MD5 ainsi que pour le cryptosystème AES 128 bits.
Chapitre VI : Comparaison entre les techniques de secret réparti et implémentation
53
La bibliothèque BouncyCastle est une implémentation en java d'algorithmes
cryptographique. Il fut développé par la légion de BouncyCastle et des
contributeurs [21] .
- On a utilisé la bibliothèque JAMA Math pour la résolution des systèmes
d’équations linéaires en particulier dans la technique de George Blakley.
2.4 Interface graphique et les déférentes commandes du logiciel :
Pour illustrer le fonctionnement de notre application, nous avons fait des captures
d’écran pour chaque fonctionnalité comme suit :
a. Fenêtre de démarrage de l’application :
Figure 28 : Fenêtre de démarrage de l’application.
Cette fenêtre comprend deux commandes :
1. Le bouton à gauche pour créer une nouvelle distribution (Phase de construction).
2. Le bouton à droite pour la phase de reconstruction.
b. Fenêtre pour la phase de distribution :
Cette fenêtre comprend plusieurs paramètres qui sont illustrés comme suit :
1. Affiche l’image que l’on veut distribuer (partager).
2. Sélectionner le dossier pour sauvegarder les parts (Shares).
3. Pour donner un nom pour les parts (Shares).
4. Sélectionner la technique que nous voulons utiliser.
5. Déterminer le nombre des shares (n).
6. Déterminer le seuil (k).
Chapitre VI : Comparaison entre les techniques de secret réparti et implémentation
54
7. Zone pour saisir le germe ou le seed (clé secrète).
8. Pour quitter la fenêtre.
9. Pour continuer avec l’opération de distribution utilisant la technique sélectionnée.
Figure 29 : Fenêtre pour la phase de construction.
c. Fenêtre pour la phase reconstruction :
Figure 30: Fenêtre pour la phase reconstruction.
Cette fenêtre permet de définir :
1. L’emplacement ou les parts (shares) sont enregistré.
Chapitre VI : Comparaison entre les techniques de secret réparti et implémentation
55
2. La technique que nous voulons utiliser.
3. Quitter la fenêtre.
4. Etape suivante.
d. Fenêtre après génération des parts(shares ):
Figure 31 : Fenêtre après génération des shares.
Cette fenêtre comprend plusieurs commandes :
1. Cette zone représente le nombre de shares à sélectionner aléatoirement parmi les n
shares disponibles.
2. Commande pour démarrer l’opération de reconstruction du secret.
3. Zone pour afficher les parts(Shares) crées.
4. Affiche le chemin pour l’accès au dossier qui contient les shares.
5. Zone d’affichage de l’image résultante (après reconstruction).
6. Pour démarrer une nouvelle opération de distribution.
7. Pour actualiser la liste des shares (3).
8. Pour créer un false share aléatoirement. La fenêtre suivante sera affichée.
Chapitre VI : Comparaison entre les techniques de secret réparti et implémentation
56
Figure 32 : Fenêtre pour créer une share aléatoirement.
1. Sélectionner l’emplacement ou le false share créé sera enregistré.
2. Nom du false share.
3. Quitter la fenêtre.
4. Procéder avec la création.
2.5 Résultats obtenus avec le schéma de seuil (5,10) :
Technique d’Adi Shamir :
Schéma de seuil (5,10) appliqué sur une image couleur (baboon [7]) de 512 *
512 pixels.
Figure 33 : Technique d’Adi Shamir (Construction) schéma de seuil (5,10).
Chapitre VI : Comparaison entre les techniques de secret réparti et implémentation
57
Figure 34 : Résultat technique d’Adi Shamir.
Figure 35: Technique d’Adi Shamir (Reconstruction) sélection aléatoire de 5 shares et
résultat.
Chapitre VI : Comparaison entre les techniques de secret réparti et implémentation
58
Technique de George Blakley :
Schéma de seuil (5,10) appliqué sur une image couleur (lena [7]) de 512 * 512 pixels.
Figure 36 : Technique George Blakley (Construction) schéma de seuil (5,10).
Figure 37 : Résultat de reconstruction technique de George Blakley.
Chapitre VI : Comparaison entre les techniques de secret réparti et implémentation
59
Figure 38: Technique de George Blakley (Reconstruction) sélection aléatoirement 5 shares
et résultat.
Théorème des restes chinois :
Schéma de seuil (5,10) appliqué sur une image couleur (peppers [7]) de 512 * 512 pixels.
Figure 39: Technique des restes chinois (Construction) schéma de seuil (5,10).
Chapitre VI : Comparaison entre les techniques de secret réparti et implémentation
60
Figure 40 : Résultat de la technique des restes chinois.
Figure 41 : Technique des restes chinois (Reconstruction) avec sélection aléatoire de 5
shares et résultat.
Chapitre VI : Comparaison entre les techniques de secret réparti et implémentation
61
3. Comparaison des techniques retenues : Pour cette étude comparative, les tests utilisés reposent sur un schéma de seuil (5,10)
appliqué sur une image couleur (peppers [7]) de 512 * 512 pixels.
Figure 42: Image standard peppers [7].
Figure 43 : Histogramme image standard peppers.
Chapitre VI : Comparaison entre les techniques de secret réparti et implémentation
62
3.1 Tableaux comparatifs :
Ce tableau compare les trois techniques étudiées utilisant une image de test 512*512 (Figure
40). Les critères retenus sont le temps d’exécution (Distribution et Reconstruction), le niveau
de sécurité, facilité d’implémentation et la limite du nombre de parts pouvant être manipulés.
Technique
Critère
Adi Shamir George
Blakley
Théorème des
restes chinois
Temps
d’exécution
Distribution 1691 ms 3957 ms 2843 ms
Reconstruction 1803 ms 3338 ms 886 ms
Niveau de sécurité Optimale Optimale Faible
Implémentation Facile Difficile Facile
Limites Pas de limite 100 parts Jusqu’à 25 part
seulement
Tableau 03 : Tableau compare les trois techniques (temps d’exaction …)
Ce tableau utilise la même image précédente 512*512 (Figure 40) pour la comparaison des
histogrammes. Il permet de voir l’histogramme des parts et celui de l’image résultat de la
reconstruction.
Adi Shamir George Blakley Théorème des restes
chinois
his
tog
ram
me
des
sh
are
s
his
tog
ram
me
de
l’im
ag
e ré
sult
at
Tableau 04 : Tableau pour la comparaison des histogrammes des parts et celui de l’image
résultat de la reconstruction
Chapitre VI : Comparaison entre les techniques de secret réparti et implémentation
63
3.2 Avantages et inconvénients des techniques retenues :
3.2.1 Technique d’Adi Shamir :
Avantage :
Sécurisée : difficile à reconstruire le secret utilisant la force brute.
Facile à appliquer sur l’image numérique : considérer chaque valeur
d’intensité comme un nombre entier qui représente un secret à partager.
Rapide : génère un grand nombre de parts dans une durée de temps
acceptable. La même chose pour la reconstruction du secret à partir d’un
grand nombre de parts.
Simplicité des notions mathématiques utilisées.
Inconvénients :
Ralentissement augmente avec le seuil k.
Perte mineure d’information, parce avant la construction des parts un
prétraitement et nécessaire pour borner toutes les valeurs des pixels à des
valeurs inférieures ou égales à 250.
3.2.2 Technique de George Blakley :
Avantage :
Sécurisée : très difficile à reconstruire le secret utilisant la force brute.
Préserve toutes les informations de l’image, cela signifie que l’image
originale (le secret) et identique à celle après la reconstruction de secret.
Inconvénients :
Difficile à appliquer sur une image numérique (compliquée).
Problème de génération des coefficients qui satisfont la condition que
la solution du système d’équations est un seul point si le seuil est très
petit par exemple (2,5).
Utilisation des notions mathématique un peux compliqués comme
système d’équations linéaires et leur solution et les hyperplans (plans à
plusieurs dimensions).
Chapitre VI : Comparaison entre les techniques de secret réparti et implémentation
64
3.3.3 Théorème des restes chinois :
Avantage :
Facile à appliquer sur l’image numérique : chaque valeur d’intensité
représente un nombre entier considéré comme un secret à partager.
Utilise des notions mathématiques simples comme l’arithmétique
modulaire.
Temps raisonnable pour la construction des parts et la reconstruction du
secret.
Inconvénients :
Le nombre des parts à générer et limité parce qu’on utilise des nombre
coprimes dans l’intervalle 128-257 (environ 25 parts).
Sécurité faible par rapport aux autres techniques.
Perte d’information : l’image originale n’est pas identique à celle après
la reconstruction, mais non perçue par l’œil nue.
4. Détection et localisation des intrusions : Notre contribution est résumée dans l’idée de détection de l’intrusion et de sa
localisation. Une intrusion est l’introduction d’une fausse part (false share) lors du processus
de reconstruction qui empêche la reconstruction de l’image originale (secret partagé) même
en possédant un nombre minimal (seuil) se parts authentiques.
Par exemple, en utilisant un schéma de seuil (10,20), 10 dépositaires sont suffisants
pour la reconstruction du secret. Mais si dans l’opération de reconstruction il y a quelqu’un
ou plus qui introduit une fausse part (false share) qui peut être générée aléatoirement et la
présente comme étant authentique, alors la reconstruction ne permet pas de récupérer le
secret. Il provoque ainsi une perte de temps et une consommation inutile de ressources en
plus du sabotage du processus de reconstruction.
Les questions à se poser sont :
1- Comment peut-on détecter la présence de fausses parts ?
2- Comment peut-on vérifier l’authenticité d’une part ?
La détection de la présence d’intrusion permet d’éviter le gaspillage du temps et des
ressources en évitant ou refusant le lancement du processus de reconstruction. Les
dépositaires possédant des parts authentiques en nombre suffisant sont quand même
pénalisés.
La localisation de fausses parts en possédant un mécanisme efficace de juger l’authenticité
de chaque part, permet d’écarter les intrus et de lancer le processus de reconstruction si le
Chapitre VI : Comparaison entre les techniques de secret réparti et implémentation
65
nombre restant de parts authentiques est suffisant. Ainsi, les dépositaires honnêtes ne sont
plus pénalisés et il est même possible de sanctionner les faux dépositaires.
Détection d’une intrusion :
La détection des intrusions est facile, si le nombre des Shares pour la reconstruction
et suffisant. Par exemple, si on utilise le schéma de seuil (5,10), alors 5 parts sont suffisants
pour la reconstruction, Si 6 parts sont réunies et le résultat est incorrect cela signifie qu’il y
a une intrusion. Malheureusement, dans le cas général, il est difficile de trancher sur
l’authenticité du résultat de la reconstruction.
Nous proposons de calculer l’empreinte de l’image originale et des shares et de les
intégrer aux shares sous forme chiffrée avant leur distribution. De cette manière, il sera facile
de vérifier l’intégrité des shares avant la reconstruction et celle du secret après la
reconstruction par simple recalcule de l’empreinte et la comparaison de celle calculée avec
celle intégrée.
Localisation d’une intrusion :
Pour localiser exactement les fausses parts qui représentent les intrusions, nous
proposons d’utiliser deux(02) méthodes basées sur une clé privée pour la génération des
Shares. Un identifiant unique est associé à chaque processus de création de parts.
Méthode basé sur le chiffrement AES et une fonction de hachage :
Cette technique utilise un chiffrement AES qui est, comme son nom l'indique, un
standard de chiffrement symétrique. En plus, la fonction de hachage MD5 qui est une
fonction de hachage cryptographique permettant d'obtenir l'empreinte numérique d'un fichier
est utilisée pour l’intégrité du secret. L’approche proposée opère en deux phases :
Phase chiffrement :
Dans cette phase et après la création des shares, ces derniers vont être transformés
avant d’être distribués. L’empreinte de chaque share est concaténée à l’empreinte de l’image
originale et au code de la méthode de partage de secret utilisée. Cette information est chiffrée
avec la clé secrète utilisant l’algorithme AES. Le cryptogramme est inséré au début du share.
Ce fonctionnement est représenté par le schéma suivant :
Chapitre VI : Comparaison entre les techniques de secret réparti et implémentation
66
Figure 44 : Schéma de la première phase (chiffrement).
Phase de vérification des shares :
Dans cette phase, on procède à la vérification de l’authenticité de chaque. On extrait
d’abord le bloc de premiers pixels (128 bits) et les déchiffrer utilisant la clé secrète pour
obtenir un bloc de 50 bits (les premiers). Ce bloc représente les métadonnées desquelles on
extrait à nouveau les premiers 24 bits qui représentent l’empreinte intégrée du share. On
procède par la suite au recalcule de l’empreinte et à sa comparaison avec celle intégrée. Si
les deux empreintes sont identiques alors le share est authentique sinon c’est intrusion. Ce
fonctionnement est représenté par le schéma suivant :
Image originale
Appliqué Fonction de hachage cryptographique md5
L’empreinte numérique 128
Prendre 24
L’empreinte numérique 24
Shares
L’empreinte numérique 128
Prendre 24
bits
L’empreinte numérique 24
Fusion
Bloc de 48 bits + 2 bits de codage
de méthode de partage de secret
utilisée
Block 128 bits
Chiffrement AES
Clé privée
(seed) pour
générer clé
AES de 128
bits
Prendre bloc Crypté en 6
pixels d’une image
couleur ou 16 pixels pour
nuances de gris
Shares Jusqu’au
Shares N
Chapitre VI : Comparaison entre les techniques de secret réparti et implémentation
67
Figure 45: Schéma de la deuxième phase (vérification des shares).
Avantage :
Sécurisé.
La détection avec précision.
Applicable sur les méthode (Adi Shamir , Théorème des restes chinois,
George Blakley ) .
Inconvénients :
Prend beaucoup de temps.
Utilise beaucoup de pixels (6 pixels).
Bloc de 50
bits
Déchiffrer utilisant AES
Authentic share False share
Déchiffrer utilisant AES
Clé privé
(seed) pour
générer Clé
Aes taille 128
Clé privé
(seed) pour
générer Clé
Bloc de 50
bits
Prendre les premiers 24
bits Prendre les premiers 24
bits
Bloc de 24
bits
Bloc de 24
bits
Recalculer l’empreinte du share et la
comparer avec celle attachée (bloc de 24
bits)
Bloc de 50
bits
Chapitre VI : Comparaison entre les techniques de secret réparti et implémentation
68
Méthode basé sur le XOR et Fonction de hachage :
Cette technique utilise l’opération XOR et le hachage MD5. Elle procède en deux phases :
Phase de chiffrement :
Dans cette phase on calcule l’empreinte de l’image originale utilisant MD5 et ne
retenir que 24 bits qu’on chiffre utilisant « XOR » avec une clé secrète (seed d’un RNG1)
permettant d’obtenir 24 bits aléatoires. La clé secrète permet de donner deux positions dans
la part. La première position i servira pour abriter la clé secrète et la deuxième position j
servira pour enregistrer l’empreinte chiffrée. Les deux positions i et j sont les mêmes pour
toutes les parts. Ce fonctionnement est représenté par le schéma suivant :
Figure 46 : schéma de la première phase (Phase chiffrement).
Phase de vérification des shares :
Dans cette phase on calcule d’abord la clé de chiffrement de 24 bits à partir du seed.
Les positions i et j peuvent être obtenues. On récupère la clé secrète de 24 bits de la position
1 Générateur de nombres aléatoires (RNG : Random Number Generator).
2 positons i et j dans l’image
Positon 2
Positon 1
Image Originale
Pour générer de façon aléatoire
L’empreinte numérique 128 bits
Prendre 24 bits
L’empreinte numérique 24 bits
Block 24 bits
XOR
Jusque N
Shares
Clé privé (seed)
Chapitre VI : Comparaison entre les techniques de secret réparti et implémentation
69
i et on la compare avec notre clé obtenue par le seed. S’il s’agit de la même clé on peut aller
plus loin sinon il ne s’agit pas d’un share authentique. Si la clé est bonne, on peut
récupérer 24 bits de la position j et faire un déchiffrement utilisant toujours un « XOR » avec
la clé de 24 bits. Cela permet de vérifier l’intégrité du share. Si l’empreinte calculée et
tronqué de 24 bits est égale au résultat de déchiffrement alors le share est authentique sinon
il s’agit d’une intrusion Ce fonctionnement est représenté par le schéma suivant :
Figure 47 : schéma de la deuxième phase (vérification des shares).
Avantage :
Rapide.
La détection avec une précision.
Pour générer façon aléatoire
Block 24 bits
2 positons i et j dans l’image
Positon 2
Positon 1
Assurez-vous que les valeurs égales
au collecteur XOR
Clé privé (seed)
Authentic share False share
Chapitre VI : Comparaison entre les techniques de secret réparti et implémentation
70
Inconvénients :
Sécurité faible par rapport à l’autre technique.
Impraticable sur méthode George Blakley.
Chapitre VI : Comparaison entre les techniques de secret réparti et implémentation
71
5. Conclusion.
Dans ce chapitre nous avons présenté une étude comparative des techniques du secret
réparti étudiées précédemment. Théoriquement toutes les techniques sont bonnes, mais sur
le plan pratique et selon les implémentations, une technique peut être meilleure que les autres
pour un certain critère. Les techniques conçues au début pour partager un secret sous forme
d’un nombre entier ont été adaptées et implémentées efficacement pour des secrets sous
forme d’une image numérique matricielle. Notre application a été développée en Java sous
IntelliJIDEA et son fonctionnement a été expliqué en détail avec des études de cas concrets.
Nous avons également proposé et implémenté deux techniques permettant de détecter
et localiser la présence de fausses parts considérées comme des intrusions. Outre l’efficacité
et la précision des deux techniques, elles permettent également d’éviter le gaspillage de
temps et de ressources en évitant de lancer la reconstruction que si un nombre suffisants de
parts authentiques est disponible après l’élimination des intrusions. Il faut noter que si on
lance la reconstruction en présence d’intrusions, le secret ne sera jamais obtenu quel que soit
le nombre de parts authentiques. Les intrusions empêchent la récupération du secret. En plus,
des mesures spécifiques peuvent être prises contre les intrus qui ont falsifié leurs parts
puisqu’il est possible de les localiser sans la moindre erreur.
Conclusion générale et perspectives :
Dans ce projet, nous étions intéressés par la notion du secret réparti. Nous avons
présenté et expliqué le fondement théorique des techniques les plus utilisées. Nous avons
adapté ces techniques au domaine de l’image numérique (matricielle) avec la conception et
l’implémentation d’une application en Java qui permet d’utiliser facilement les techniques
étudiées.
Les techniques que nous avons étudiées sont celle d’Adi Shamir basée sur la notion
d’interpolation polynomiale (utilise le polynôme de Lagrange), celle de George blakley
basée sur l’intersection d’hyperplans (la géométrie d’hyperplans) et celle du théorème des
restes chinois basé sur l’arithmétique modulaire dont le secret est la solution du système de
congruence.
Une étude comparative des trois techniques a été réalisée pour essayer de donner des
points de repère aux utilisateurs afin de les guider dans le choix d’une technique particulière.
Nous avons proposé et implémenté efficacement deux techniques de détection et de
localisation des intrusions (dépositaires ayant falsifié des parts). Cela permet d’économiser
le temps et les ressources en évitant de lancer la reconstruction en présence d’intrusions car
elles empêchent la récupération du secret. Les techniques proposées permettent aussi d’isoler
les intrus pour les sanctionner éventuellement. Ces techniques peuvent être considérer
comme outils pour garantir la sécurité des approches de partage de secret pour une meilleure
acceptation dans les applications pratiques.
Néanmoins, plusieurs pistes sont envisageables pour améliorer davantage ce travail.
Nous pouvons donner ici quelques une :
- L’implémentation du théorème des restes chinois sur l’image numérique par blocs
de pixels au lieu de l’appliquer à chaque pixel isolé. Ainsi, le nombre de parts que
l’on peut créer peut être suffisamment grand (au lieu d’une limite facilement
atteignable).
- L’application des techniques de secret répartie sur des séquences d’images
consécutives (vidéo).
- L’amélioration des techniques de détection et localisation des intrusions en les
étendant par exemple pour permettre de partager la même image selon plusieurs
schémas (ki, ni).
- Proposition de techniques de restriction de la reconstitution pour certaines
personnes de confiance. Il est à rappeler que les techniques étudiées permettent à
quiconque de faire la reconstitution pourvu qu’il détient le nombre suffisant de
parts. De cette manière, il y a un risque de divulguer le secret à quelqu’un qui ne
mérite pas et qui va l’utiliser de façon illégale.
- Il est possible aussi de penser au problème de vol d’une part ou de copie de celle-
ci. Cela peut présenter des dangers, en particulier si la possession d’une part donne
des privilèges et un pouvoir. Il faut penser à lier une part à son détenteur légal
d’une manière à pouvoir facilement détecter un faux détenteur d’une part
authentique.
Références
Références
[1] - Neighborhood Processing (Introduction to Video and Image Processing) Part 1
. [Diagramme] In : A part of the giraffe-image has been enlarged to show the
edge which humans easily perceive. Disponible sur :<http://what-when-
how.com/introduction-to-video-and-image-processing/neighborhood-processing-introduction-to-
video-and-image-processing-part-1/> (Consulté le 12/05/2017).
[2] - L'image numérique,Map toulouse archi [En ligne]. Disponible sur :
<https://fr.wikipedia.org/wiki/Image_numérique# Formats _d’image>. Consulté
le :(18/04/2017).
[3] - Image numérique, Wikipédia L’Encyclopédie libre [En ligne]. Disponible sur
: <https://fr.wikipedia.org/wiki/Image_numérique# Formats _d’image>. Consulté
le :(02/05/2017).
[4] - Imagerie médicale, Wikipédia L’Encyclopédie libre [En ligne]. Disponible
sur : <https://fr.wikipedia.org/wiki/Imagerie_médicale>. Consulté le :(01/05/2017).
[5] - JBH – AFOMAV, Vers l’image numérique. octobre 2009.
[6] - Bensizerara Mohamed, Fidhallh Bilal. Partage de secret appliqué sur les
images numériques - Mémoire de master en informatique. Université Oum El
Bouaghi. 2012, 57 P. Format PDF. Disponible dans la bibliothèque de
l’université.
[7] - Fabien a. p. petitcolas. Public-Domain Test Images for Homeworks and
Projects, Disponible sur : <https://homepages.cae.wisc.edu/~ece533/images> Consulté
le : (24/05/2017).
Références
[8] - Pang, L. J., & Wang, Y. M. (2005). A new (t, n) multi-secret sharing scheme
based on Shamir’s secret sharing. Applied Mathematics and Computation,
167(2), 840-848.
[9] - Chuang, T. W., Chen, C. C., & Chien, B. (2016, July). Image Sharing and
Recovering Based on Chinese Remainder Theorem. In Computer, Consumer
and Control (IS3C), 2016 International Symposium on (pp. 817-820). IEEE.
[10] - Bozkurt, K., & Selcuk, G. (2008). Threshold cryptography based on blakely
secret sharing. Information Sciences.
[11] - Chen, C. C., Fu, W. Y., & Chen, C. C. (2008). A Geometry-Based Secret
Image Sharing Approach. J. Inf. Sci. Eng., 24(5), 1567-1577.
[12] - Signature numérique, Wikipédia, L’Encyclopédie libre [En ligne]. Disponible
sur : <https://fr.wikipedia.org/wiki/Signature_numérique>, Consulté le : (25/04/2017).
[13] - Signature de groupe, Wikipédia, L’Encyclopédie libre [En ligne]. Disponible
sur : <https://fr.wikipedia.org/wiki/Signature_de_groupe>, Consulté le : (25/04/2017).
[14] - Système d’équations linéaires, Wikipédia, L’Encyclopédie libre [En ligne],
Disponible sur : https://fr.wikipedia.org/wiki/Système_d’quations_linéaires, (Consulté le :
27/04/2017).
[15] - George Blakley, From Wikipedia, the free encyclopedia [En ligne]. Disponible
sur :< https://en.wikipedia.org/wiki/George_Blakley>(Consulté le 27/04/2017).
Références
[16] - Algorithme d’Euclide étendu. Wikipédia, L’Encyclopédie libre [En ligne].
Disponible sur : <https://fr.wikipedia.org/wiki/Algorithme_d’Euclide_étendu>. (Consulté
le 27/04/2017).
[17] - Gauthier.Picard & Laurent.Vercouter. Initiation à la programmation orientée-
objet avec le langage Java. [En ligne].Paris : INSA. École nationale supérieure
des mines - Pôle Informatique Cours, 2014, 69p. Disponible sur :
<http://www.emse.fr/~picard/cours/1A/java/ >, Consulté le (17/05/2017).
[18] - M. Jaouad. Initiation à java fx 2.0. [En ligne]. Informatique de gestion et
Système d'information Cours, 2015, 11p. Disponible sur :
<http://lgl.isnetne.ch/Sagex35793/Realisations/ > (Consulté le 17/05/2017).
[19] - JavaFX Application Structure. [Diagramme] In : tutorialspoin : JavaFX -
Application. Disponible sur :<
https://www.tutorialspoint.com/javafx/javafx_application.htm > (Consulté le 17/05/2017).
[20] - IntelliJ IDEA, Wikipédia, l'encyclopédie libre [En ligne]. Disponible à
l’adresse :< https://fr.wikipedia.org/wiki/IntelliJ_IDEA> (Consulté le 18/05/2017).
[21] - La légion de Bouncy Castle [En ligne]. Disponible à l’adresse
:< http://www.bouncycastle.org/fr/documentation.html > (Consulté le 28/05/2017).
[22] - Tsai, M. H., & Chen, C. C. (2013, March). A study on secret image sharing.
In Proceedings of the 6th International Workshop on Image Media Quality and
its Applications, Tokyo, Japan. Citeseer.
[23] - Partage de clé secrète de Shamir, Wikipédia L’Encyclopédie libre [En ligne].
Disponible sur :<https://fr.wikipedia.org/wiki/Partage_de_clé_secrète_de_Shamir>
Consulté le (05/03/2017).
Références