X-Git-Url: https://bilbo.iut-bm.univ-fcomte.fr/and/gitweb/hdrcouchot.git/blobdiff_plain/0d1c31c9837325e2dad26554c2cde3a457455158..fcbc9202a51285ff17060f4d330eca0d57b2a3c1:/intro.tex diff --git a/intro.tex b/intro.tex index 9ddd63c..186faea 100644 --- a/intro.tex +++ b/intro.tex @@ -1,9 +1,10 @@ -% Modèles discrets pour la sécurité inforamtique: des méthodes itératives à l'analyse vectorielle + +\section*{Motivations} Les informations traitées par un ordinateur ne sont, \textit{in fine}, que discrètes: les flottants (sur un nombre fini de bits) sont une -interprétation des réels, les \textit{longs} une interpréation finie -des entiers\ldots. +interprétation des réels, les \textit{longs} une interprétation finie +des entiers\ldots Les phénomènes physiques ou naturels peuvent aussi être modélisés par des approches discrètes: il n'est parfois pas nécessaire de suivre exactement tous les états par @@ -22,20 +23,20 @@ Ces réseaux particuliers sont qualifiés de \emph{réseaux booléens}. Soit ${\mathsf{N}}$ un entier naturel représentant le nombre -d'éléments étudiés (le nombre bits qu'un générateur veut engendrer, -le nombre de pixel que l'on veut modifier\ldots) un réseau booléen est +d'éléments étudiés (le nombre de bits qu'un générateur veut engendrer, +le nombre de pixels que l'on veut modifier\ldots) un réseau booléen est défini à partir d'une fonction booléenne $f:\Bool^{\mathsf{N}}\to\Bool^{\mathsf{N}}$ et un mode de mise à jour. A chaque étape, on peut intuitivement ne modifier qu'une partie des $\mathsf{N}$ éléments. -En fonction des élements qui sont susceptibles d'être modifiés à chaque étape, -on peut se poser les questions de savoir si le réseau atteint un point fixe (ét qu'il peut donc converger) ou +En fonction des éléments qui sont susceptibles d'être modifiés à chaque étape, +on peut se poser les questions de savoir si le réseau atteint un point fixe (et qu'il peut donc converger) ou s'il possède des attracteurs cycliques (et qu'il diverge donc). -Détecter la convergence ou son contraire peut se faire \textit{ a priori} dans -certain cas. En effet, de nombreux travaux ont énoncé des conditions -suffisantes sur les réseaux bouléens garantissant leur convergence -ou leur divergence . Lorsqu'aucune d'entre elle ne s'applique, on peut penser +Détecter la convergence ou son contraire peut se faire \textit{a priori} dans +certains cas. En effet, de nombreux travaux ont énoncé des conditions +suffisantes sur les réseaux booléens garantissant leur convergence +ou leur divergence. Lorsqu'aucune d'entre elles ne s'applique, on peut penser à étendre ces résultats théoriques et compléter ceci par des simulations. Lorsque la convergence est pratiquement observée, il reste à vérifier que celle-ci est indépendante du choix des parties à modifier, par exemple. @@ -45,12 +46,13 @@ simulation a été prouvée comme exhaustive. Une fonction qui admet un attracteur cyclique égal à l'ensemble des sommets diverge. Admet-il cependant un comportement chaotique? Les théories mathématiques du chaos ont énoncé des critères permettant -de décider si une fonction est chaotique ou non, et plus récemment -si certains réseaux bouléens étaient l'étaient. Se pose légitimement -la question de savoir si cette caractérisation s'étend quelque soient +de décider si le comportement d'une fonction est chaotique +ou non, et plus récemment +si certains réseaux booléens l'étaient. Se pose légitimement +la question de savoir si cette caractérisation s'étend quels que soient les parties modifiées à chaque étape. Naturellement, ceci n'a un sens -pratique que si le nombre de réseaux bouléens qui possèdent cette -caractéristique est suffisament grand et que l'on sache engendrer +pratique que si le nombre de réseaux booléens qui possèdent cette +caractéristique est suffisamment grand et que l'on sait engendrer algorithmiquement de tels réseaux. Les liens entre chaos et aléas sont certes intuitifs, mais sont-ils suffisants @@ -63,15 +65,148 @@ des propriétés à assurer. Comment alors générer des fonctions chaotiques dont les itérations peuvent converger vers une distribution uniforme? Combien d'itérations suffit-il alors -d'effectuer pour s'approcher suffisament de celle-ci? +d'effectuer pour s'approcher suffisamment de celle-ci? Les liens entre chaos et marquage d'information sont aussi faciles à établir: de tout média marqué même attaqué, la marque doit pouvoir être extraite. -Cette propriété du marquage est proche en effet de celle de régularité des opérateurs chaotique. Il est alors naturel d'envisager exploiter les +Cette propriété du marquage est proche en effet de celle de régularité +des opérateurs chaotiques. Il est alors naturel d'envisager exploiter les fonctions chaotiques extraites dans ce contexte et donc de modifier certains bits d'un média pour y insérer de l'information: la marque. -On -Les compétences acquise dans l'étude des algorithme d'insertion d'une marque -dans une image nous permettent aussi d'adresser le problème d'insérer un message dans une image, mais en priviligeant cette fois l'imperceptibilité et -non plus la robustesse. \ No newline at end of file + +Les compétences acquises dans l'étude des algorithmes d'insertion d'une marque +dans une image nous permettent aussi d'adresser le problème d'insérer un message dans une image. Cependant, il s'agit de privilégier +cette fois l'imperceptibilité et non plus la robustesse. Ainsi, tandis que +l'idée principale était d'étaler le message sur un ensemble conséquent +de pixels pour garantir la robustesse, il s'agit ici de sélectionner finement +ceux dont les modifications seraient le moins perceptibles possible. +On pense immédiatement à insérer ces messages dans les pixels +contenant les zones les plus perturbées. +Les outils mathématiques d'analyse permettant d'identifier les lignes de niveaux +pour ensuite voir lesquelles sont les moins régulières (les plus perturbées) +sont le gradient et la matrice Hessienne. +Cependant, ces modèles d'analyse ne sont définis que pour des fonctions de $\R^n$ dans $\R$. +Se pose alors la question sur la possibilité de les adapter au cadre discret +puisque les images à traiter sont construites à partir de pixels dont les +valeurs sont discrètes. + + +\section*{Organisation de ce mémoire} +Ce mémoire est organisé en quatre parties. + +La première partie sur les réseaux discrets. +Dans celle-ci, le chapitre~\ref{chap:sdd} formalise la notion de réseaux booléens +et leurs modes opératoires. On y définit notamment un nouveau mode opératoire +assurant la convergence et ce en un temps réduit. Les résultats de convergence suffisants à la compréhension de ce mémoire y sont rappelés et ceux relatifs à ce nouveau mode y sont prouvés. + +Le chapitre~\ref{chap:promela} montre comment nous avons développé une démarche +de preuve automatique de convergence de réseaux discrets. La démarche est +prouvée correcte et complète: le verdict donné par l'outil est celui qui serait +donné par une preuve mathématique. + +La seconde partie établit globalement le lien entre les réseaux discrets et +le chaos. Le chapitre~\ref{chap:carachaos} rappelle tout d'abord les notions +suffisantes concernant la théorie du chaos. Une caractérisation des fonctions engendrant des itérations +chaotiques y est donnée, selon le mode unaire et le mode généralisé, +les deux modes au c{\oe}ur de ce mémoire. Un théorème, +démontré, propose un algorithme permettant de générer des fonctions possédant +cette caractéristique. + +Les itérations unaires de telles fonctions étant chaotiques, nous avons étudié +au chapitre~\ref{chp:ANN} la possibilité de les faire apprendre par un réseau de neurones, plus précisement par un perceptron multi-couches. + +Le titre de la troisième partie donne une idée de la conclusion de +cette étude puisqu'on y étudie une famille PRNG construite à partir de fonctions +dont les itérations sont chaotiques. +Plus précisément, le chapitre~\ref{chap:PRNG:chao} caractérise les PRNG +construits à partir de réseaux booléens qui sont chaotiques en donnant +des conditions suffisantes sur la fonction à itérer. +Le chapitre~\ref{chap:PRNG:gray} s'intéresse donc à générer +ce type de fonction de manière autrement plus efficace qu'à partir de +la méthode décrite au chapitre~\ref{chap:carachaos}. On y présente aussi un +majorant du nombre d'itérations à effectuer pour obtenir une distribution +uniforme. + +Comme annoncé dans les motivations à ce travail, les itérations chaotiques +peuvent s'appliquer au marquage de média et plus généralement +au masquage d'information. C'est l'objectif de la quatrième partie. + +Dans le premier chapitre de celle-ci (chapitre~\ref{chap:watermarking}), nous +formalisons le processus de marquage d'information. Grâce à cette formalisation, +nous pouvons étudier des propriétés de stégo-securité et chaos-sécurité. + +Les deux chapitres suivants (chapitre~\ref{chap:watermarking:pdf} et +chapitre~\ref{chap:stabylo}) sont une parenthèse +au domaine discret puisqu'on s'intéresse au marquage de document PDF par une +méthode classique et au masquage d'information par une technique de détection +de bords. + +Le dernier chapitre des contributions (chapitre~\ref{chap:th:yousra}) +retourne dans le monde discret. Il montre qu'on peut approximer efficacement +à l'aide de matrices discrètes des calculs de gradients pour, \textit{in fine}, +construire des lignes de niveau et embarquer de l'information dans les lignes +de niveau les moins régulières. + +Une conclusion et des perspectives sont données en dernière partie. + +\section*{Publications en tant qu'enseignant-chercheur} +Le tableau de la figure~\ref{fig:bilan} donné +ci dessous synthétise les références auxquelles j'ai participé +depuis mon intégration en tant qu'enseignant chercheur. + +\begin{figure}[h] +\begin{center} +\begin{tabular}{|c|c|} +\hline +%& \multicolumn{2}{|c|}{Internationaux} & {Nationaux} & \\ +%\hline + Journaux & Conférences \\ + internationaux & internationales +\\ \hline +%journaux +\cite{bcg12:ij,bcg11:ij,bcgs12:ij} +& +% conf inter +\cite{aagc+15:ip,bcfg12a:ip,bcfg12b:ip,bcfg+13:ip,bcg11:ip} + + + +\\ +%journaux +\cite{cds13:ij,ccg15:ij,BDCC16} +& +% conf inter + + +\cite{bcg11b:ip,acgs13:onp,chgw+14:onp} + + +\\ %\hline + +%journaux +\cite{ccgh16} +& +% conf inter +\cite{bcgr11:ip,bcgw11:ip,cds12:ip,chgw+14:oip,fccg15:ip} + + +\\ %\hline + +%journaux + +& +% conf inter +\cite{accfg15:ip,DBLP:conf/secrypt/MohammedCG16,ccfg16:ip,kcm16:ip} + + + +%%%%%%%%%%%%% + + +\\ \hline +\end{tabular} +\end{center} +\caption{Bilan synthétique des publications}\label{fig:bilan} +\end{figure} +