1 %% Use the standard UP-methodology class
2 %% with French language.
4 %% You may specify the option 'twoside' or 'oneside' for
7 %% See the documentation tex-upmethodology on
8 %% http://www.arakhne.org/tex-upmethodology/
9 %% for details about the macros that are provided by the class and
10 %% to obtain the list of the packages that are already included.
12 \documentclass[french]{spimufchdr}
18 \usepgfplotslibrary{groupplots}
20 %\usepackage[font=footnotesize]{subfig}
21 \usepackage[utf8]{inputenc}
22 \usepackage{thmtools, thm-restate}
24 \usepackage{algorithm2e}
25 \usepackage{mathtools}
27 %\declaretheorem{theorem}
29 %%--------------------
30 %% Search path for pictures
31 \graphicspath{{images/},{path2/}}
33 %%--------------------
34 %% Definition of the bibliography entries
35 \declarebiblio{J}{Journaux internationaux avec comités de lecture}{mabiblio}
37 %%--------------------
38 %% Title of the document
39 \declarehdr{Modèles discrets pour la sécurité informatique: des méthodes itératives à l'analyse vectorielle}{XX Mois XXXX}
41 %%--------------------
42 %% Set the author of the HDR
43 \addauthor[couchot@femto-st.fr]{Jean-François}{Couchot}
46 %%--------------------
47 %% Add a member of the jury
48 %% \addjury{Firstname}{Lastname}{Role in the jury}{Position}
49 \addjury{First}{Name}{Rapporteur}{Professeur à l'Université de XXX}
50 \addjury{First}{Name}{Examinateur}{Professeur à l'Université de XXX}
52 %%--------------------
53 %% Change the style of the text in the list of the members of the jury.
54 %% \Set{jurystyle}{ style of the text}
55 %\Set{jurystyle}{\small}
57 %%--------------------
58 %% Set the University where HDR was made
59 \hdrpreparedin{l'Université de Franche-Comté}
62 %%--------------------
63 %% Set the English abstract
64 \hdrabstract[english]{
65 Thanks to its conciseness, a discrete model may allow to reason with
66 problems that may not be handled without such a formalism. Discrete
67 dynamical systems (DDS) belong to this computer science area. In this
68 authorization to direct researches manuscript, we firstly present
69 contributions on convergence, convergence proof, and a new iteration
70 scheme of such systems. We further present contributions about
71 functions whose iterations can be chaotic. We particularly present a
72 set of methods leading to such functions. One of them built over Gray
73 codes allows to obtain a Markov chain that is doubly stochastic. This
74 last method permits to produce a large number of Pseudo-random Number
75 Generators (PRNG). Theoretical and practical contributions are
76 presented in this field. Information hiding area has been
77 strengthened in this manuscript and some contributions are thus
78 presented. Instances of such algorithms are given according to
79 functions that can achieve a large robustness. Finally, we have
80 proposed an new method to build distortion functions
81 that can be embedded in information hiding schemes
82 with analysis gradient but expressed in a
85 %%--------------------
86 %% Set the English keywords. They only appear if
87 %% there is an English abstract
88 \hdrkeywords[english]{discrete dynamical systems, pseudo random number
89 generators, information hiding.}
91 %%--------------------
92 %% Set the French abstract
94 Grâce à leur concision, les modèle discrets
95 permettent d'appréhender des problèmes informatiques qui ne seraient
96 parfois pas traitables autrement. Les systèmes dynamiques discrets
97 s'intègrent dans cette thématique. Dans cette habilitation,
98 nous présenterons tout d'abord des contributions concernant la
99 convergence, la preuve de convergence et un nouveau mode opératoire de
100 tels systèmes. Nous présenterons ensuite un ensemble de contributions
101 autour des fonctions dont les itérations peuvent être chaotiques.
102 Particulièrement, plusieurs méthodes permettant
103 d'obtenir de telles fonctions seront proposées,
104 dont une basée sur les codes de Gray,
105 permettant d'avoir en plus une chaîne de Markov doublement
106 stochastique. Cette dernière méthode nous permettra notamment
107 d'engendrer une grande famille de générateurs de nombres
108 pseudo-aléatoires (PRNG). Des contributions théoriques et pratiques
109 autour de ces PRNGs seront présentées. La thématique de masquage
110 d'information (déjà présente dans l'équipe) a été renforcée et des
111 contributions sur ce sujet seront présentées. Des instances de ces
112 algorithmes sont formalisés en sélectionnant les fonctions à itérer
113 pour garantir une robustesse élevée. Finalement, nous montrerons qu'on
114 peut construire de nouvelles fonctions de distorsion utilisables en
115 masquage d'information à l'aide de méthodes d'analyse par gradient
116 mais discret cette fois encore.
119 %%--------------------
120 %% Set the French keywords. They only appear if
121 %% there is an French abstract
122 \hdrkeywords[french]{systèmes dynamiques discrets, générateurs de nombres
123 pseudo aléatoires, masquage d'information.}
125 %%--------------------
126 %% Change the layout and the style of the text of the "primary" abstract.
127 %% If your document is written in French, the primary abstract is in French,
128 %% otherwise it is in English.
129 \Set{primaryabstractstyle}{\small}
131 %%--------------------
132 %% Change the layout and the style of the text of the "secondary" abstract.
133 %% If your document is written in French, the secondary abstract is in English,
134 %% otherwise it is in French.
135 %\Set{secondaryabstractstyle}{\tiny}
137 %%--------------------
138 %% Change the layout and the style of the text of the "primary" keywords.
139 %% If your document is written in French, the primary keywords are in French,
140 %% otherwise they are in English.
141 %\Set{primarykeywordstyle}{\tiny}
143 %%--------------------
144 %% Change the layout and the style of the text of the "secondary" keywords.
145 %% If your document is written in French, the secondary keywords are in English,
146 %% otherwise they are in French.
147 %\Set{secondarykeywordstyle}{\tiny}
149 %%--------------------
150 %% Change the speciality of the PhD thesis
151 \Set{speciality}{Informatique}
153 %%--------------------
154 %% Change the institution
155 %\Set{universityname}{Universit\'e de Technologie de Belfort-Montb\'eliard}
157 %%--------------------
158 %% Add the logo of a partner or a sponsor
159 %\addpartner{partner_logo}
160 \newcommand{\JFC}[1]{\begin{color}{green}\textit{#1}\end{color}}
161 \newcommand{\vectornorm}[1]{\ensuremath{\left|\left|#1\right|\right|_2}}
162 \newcommand{\ie}{\textit{i.e.}}
163 \newcommand{\Nats}[0]{\ensuremath{\mathbb{N}}}
164 \newcommand{\Reels}[0]{\ensuremath{\mathbb{R}}}
165 \newcommand{\Zed}[0]{\ensuremath{\mathbb{Z}}}
166 \newcommand{\Bool}[0]{\ensuremath{\mathds{B}}}
167 \newcommand{\rel}[0]{\ensuremath{{\mathcal{R}}}}
168 \newcommand{\Gall}[0]{\ensuremath{\mathcal{G}}}
169 \newcommand{\Sec}[1]{Section\,\ref{#1}}
170 \newcommand{\Fig}[1]{{\sc Figure}~\ref{#1}}
171 \newcommand{\Alg}[1]{Algorithme~\ref{#1}}
172 \newcommand{\Tab}[1]{Tableau~\ref{#1}}
173 \newcommand{\Equ}[1]{(\ref{#1})}
174 \newcommand{\deriv}{\mathrm{d}}
175 \newcommand{\class}[1]{\ensuremath{\langle #1\rangle}}
176 \newcommand{\dom}[0]{\ensuremath{\textit{dom}}}
177 \newcommand{\eqNode}[0]{\ensuremath{{\mathcal{R}}}}
180 \newcommand {\tv}[1] {\lVert #1 \rVert_{\rm TV}}
185 \def \ts {\tau_{\rm stop}}
188 \DeclarePairedDelimiter\abs{\lvert}{\rvert}%
189 \DeclarePairedDelimiter\norm{\lVert}{\rVert}%
191 % Swap the definition of \abs* and \norm*, so that \abs
192 % and \norm resizes the size of the brackets, and the
193 % starred version does not.
196 \def\abs{\@ifstar{\oldabs}{\oldabs*}}
199 \def\norm{\@ifstar{\oldnorm}{\oldnorm*}}
202 \newtheorem{theorem}{Théorème}
203 \newtheorem{lemma}{Lemme}
204 \newtheorem{corollary}{Corollaire}
205 \newtheorem*{xpl}{Exemple}
207 \newtheorem{Def}{Définition}
215 \chapter*{Introduction}
221 \part{Réseaux discrets}
223 \chapter{Iterations discrètes de réseaux booléens}\label{chap:sdd}
225 Ce chapitre formalise tout d'abord ce qu'est
226 un réseau booléen (section~\ref{sec:sdd:formalisation}. On y revoit
227 les différents modes opératoires, leur représentation à l'aide de
228 graphes et les résultats connus de convergence).
229 Ce chapitre montre ensuite à la section~\ref{sec:sdd:mixage}
230 comment combiner ces modes pour converger aussi
231 souvent, mais plus rapidement vers un point fixe. Les deux
232 dernières sections ont fait l'objet du rapport~\cite{BCVC10:ir}.
234 \section{Formalisation}\label{sec:sdd:formalisation}
237 \section{Combinaisons synchrones et asynchrones}\label{sec:sdd:mixage}
242 Introduire de l'asynchronisme peut permettre de réduire le temps
243 d'exécution global, mais peut aussi introduire de la divergence.
244 Dans ce chapitre, après avoir introduit les bases sur les réseaux booléens,
245 nous avons exposé comment construire un mode combinant les
246 avantages du synchronisme en terme de convergence avec les avantages
247 de l'asynchronisme en terme de vitesse de convergence.
252 \chapter{Preuve automatique de convergence}\label{chap:promela}
253 \input{modelchecking}
260 \part{Des systèmes dynamiques discrets
263 \chapter[Caractérisation des systèmes
264 discrets chaotiques]{Caractérisation des systèmes
265 discrets chaotiques pour les schémas unaires et généralisés}\label{chap:carachaos}
267 La suite de ce document se focalise sur des systèmes dynamiques discrets qui ne
268 convergent pas. Parmi ceux-ci se trouvent ceux qui sont \og chaotiques\fg{}.
269 La première section de ce chapitre rappelle ce que sont les systèmes
270 dynamiques chaotiques et leurs caractéristiques.
271 La section~\ref{sec:TIPE12}, qui est une reformulation de~\cite{guyeux10},
272 se focalise sur le schéma unaire. Elle est rappelée pour avoir un document se
273 suffisant à lui-même.
274 La section~\ref{sec:chaos:TSI} étend ceci au mode généralisé. Pour chacun de ces modes,
275 une métrique est définie. Finalement, la section~\ref{sec:11FCT}
276 exhibe des conditions suffisantes permettant d'engendrer
277 des fonctions chaotiques selon le mode unaire.
278 Les sections~\ref{sec:TIPE12} et~\ref{sec:11FCT} ont été publiées
279 dans~\cite{bcg11:ij,bcgr11:ip}.
282 \section{Systèmes dynamiques chaotiques selon Devaney}
283 \label{subsec:Devaney}
286 \section{Schéma unaire}\label{sec:TIPE12}
289 \section{Schéma généralisé}\label{sec:chaos:TSI}
293 \section{Générer des fonctions chaotiques}\label{sec:11FCT}
297 Ce chapitre a montré que les itérations unaires sont chaotiques si
298 et seulement si le graphe $\textsc{giu}(f)$ est fortement connexe et
299 que les itérations généralisées sont chaotiques si
300 et seulement si le graphe $\textsc{gig}(f)$ est aussi fortement connexe.
301 On dispose ainsi a priori d'une collection infinie de fonctions chaotiques.
302 Le chapitre suivant s'intéresse à essayer de prédire le comportement
306 \chapter{Prédiction des systèmes chaotiques}\label{chp:ANN}
312 \part{Applications à la génération de nombres pseudo aléatoires}
314 \chapter{Caractérisation des générateurs chaotiques}\label{chap:PRNG:chao}
317 \chapter{Les générateurs issus des codes de Gray}\label{chap:PRNG:gray}
322 \part{Application au masquage d'information}
325 \chapter{Des embarquements préservant le chaos}\label {chap:watermarking}
328 \chapter{Une démarche de marquage de PDF}\label{chap:watermarking:pdf}
331 \chapter[STABYLO] {Une démarche plus classique de dissimulation: STABYLO}\label{chap:stabylo}
334 \chapter[Stéganographie par dérivées secondes]{Schémas de stéganographie: les dérivées secondes}\label{chap:th:yousra}
339 \part*{Conclusion et Perspectives}
353 \chapter{Preuves sur les réseaux discrets}
355 \section{Convergence du mode mixte}\label{anx:mix}
356 \input{annexePreuveMixage}
359 \section{Correction et complétude de la
360 vérification de convergence par SPIN}\label{anx:promela}
361 \input{annexePromelaProof}
365 \chapter{Preuves sur les systèmes chaotiques}
368 %\section{Continuité de $G_f$ dans $(\mathcal{X}_u,d)$}\label{anx:cont}
369 %\input{annexecontinuite.tex}
372 %\section{Caractérisation des fonctions $f$ rendant chaotique $G_{f_u}$ dans $(\mathcal{X}_u,d)$}\label{anx:chaos:unaire}
373 %\input{caracunaire.tex}
375 \section{Preuve que $d$ est une distance sur $\mathcal{X}_g$}\label{anx:distance:generalise}
376 \input{preuveDistanceGeneralisee}
379 \section{Caractérisation des fonctions $f$ rendant chaotique $G_{f_g}$ dans $(\mathcal{X}_g,d)$}\label{anx:chaos:generalise}
380 \input{caracgeneralise.tex}
383 \section{Conditions suffisantes pour un $\textsc{giu}(f)$ fortement connexe \label{anx:sccg}}
387 \chapter{Preuves sur les générateurs de nombres pseudo-aléatoires}\label{anx:generateur}
388 \input{annexePreuveDistribution}
390 \section{Codes de Gray équilibrés par induction}
391 \input{annexePreuveGrayEquilibre}
393 \section{Majoration du temps de mixage}
394 \input{annexePreuveStopping}
396 \chapter{Preuves sur le marquage de média}\label{anx:marquage}
397 \section{Le marquage est $\epsilon$-stégo-sécure}
398 \input{annexePreuveMarquagedhci}
400 \section{Le mode $f_l$ est doublement stochastique}\label{anx:marquage:dblesto}
401 \input{annexePreuveMarquagefldblement}
403 \section{Le marquage est correct et complet}\label{anx:preuve:marquage:correctioncompletue}
404 \input{annexePreuveMarquageCorrectioncompletude}
406 % \section{Complexités d'algorithmes de stéganographie}
407 % \label{anx:preuve:cplxt}
408 % \input{annexePreuvesComplexiteStego}
412 \bibliographystyle{alpha}
413 \bibliography{abbrev,biblioand}