X-Git-Url: https://bilbo.iut-bm.univ-fcomte.fr/and/gitweb/hdrcouchot.git/blobdiff_plain/d4e1bfa4290a182013268daf63d78c1f4fce5b55..14c1d10fe358cdd30da162c360362d5ca68b28a3:/intro.tex?ds=sidebyside diff --git a/intro.tex b/intro.tex index 90611ec..186faea 100644 --- a/intro.tex +++ b/intro.tex @@ -1,16 +1,212 @@ - -Introduire mathématiques discrètes -Systèmes dynamiques discrets +\section*{Motivations} -convergence vs divergence +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é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 +lesquels peut passer l'élément d'étude. Pour peu que l'on sache +identifier les seuils de son domaine (c'est-à-dire les valeurs +critiques permettant au système global de changer), +il est parfois suffisant de réduire le domaine de l'état de l'élément +à un ensemble fini d'intervalles définis par ces seuils. +Un élément passe d'un état $i$ à un état $j$ si dans la version continue il +passe d'un état de l'intervalle numéro $i$ à un état de l'intervalle numéro $j$. +En abstrayant à l'extrême, +on peut considérer pour chaque élément seulement deux états: +1 pour le fait d'être présent et 0 pour le fait d'être absent, ou bien +1 pour le fait d'avoir une valeur supérieure à un seuil et 0 pour le fait qu'elle y soit inférieure. +Ces réseaux particuliers sont qualifiés de \emph{réseaux booléens}. -chaos <=> aléa -PRNG +Soit ${\mathsf{N}}$ un entier naturel représentant le nombre +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 é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). -codes de Gray +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. +Une vérification \textit{a posteriori} s'impose, sauf si la méthode de +simulation a été prouvée comme exhaustive. -générateur c Sécurité informatique: régularité -> marquage +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 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 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 +pour espérer construire un générateur de nombres pseudo-aléatoires (PRNG) +à partir de fonctions au comportement chaotique? La réponse est certes +positive, mais pas triviale. Il est nécessaire de définir les propriétés +attendues de la sortie d'un PRNG et +l'uniformité de sa distribution est sans doute la première +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 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 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. + + +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} -Dérivées partielles discrete pour la sétagno