]> AND Private Git Repository - hdrcouchot.git/blob - oxford.tex
Logo AND Algorithmique Numérique Distribuée

Private GIT Repository
correction prng chaos chap 5
[hdrcouchot.git] / oxford.tex
1 La propriété de régularité des fonctions chaotiques est à l'origine du marquage de documents numériques: de tout média, même tronqué, on peut réextraire la 
2 marque. 
3 Dans ce chapitre, le processus d'embarquement d'un message dans 
4 un média est formalisé en section~\ref{sec:watermarking:formulation}.
5 La sécurité des approches de watermarking est étudiée selon deux approches:
6 l'approche probabiliste~\ref{sec:watermarking:security:probas} 
7 et l'approche chaotique~\ref{sec:watermarking:security:chaos}.
8 Une proposition d'embarquement dans le domaine fréquentiel est abordée
9 en section~\ref{sec:watermarking:frequentiel}.
10
11 On remarque cependant que l'algorithme formalisé dans ces sections ne permet
12 d'embarquer \textit{in fine} qu'un bit qui est vrai si l'image est marquée 
13 et faux dans le cas contraire. 
14 Il ne permet pas d'extraire le contenu du message initial à partir de
15 l'image marquée. La section~\ref{sec:watermarking:extension}
16 propose une solution à ce problème.
17
18 Les trois premières sections de ce chapitre sont une reformulation 
19 du chapitre 22 de~\cite{guyeux10}. Elles ont été publiées à~\cite{bcg11:ij}.
20 L'extension a quant à elle été publiée dans~\cite{bcfg+13:ip}.
21
22
23
24 \section{Processus de marquage binaire}\label{sec:watermarking:formulation}
25
26 Par la suite, le message numérique qu'on cherche à embarquer est 
27 noté $y$ et le support dans lequel se fait l'insertion est noté $x$. 
28
29 Le processus de marquage est fondé sur les itérations unaires d'une fonction 
30 selon une stratégie donnée.  Cette fonction et cette stratégie 
31 sont paramétrées par un entier naturel permettant à la méthode d'être
32 appliquable à un média de n'importe quelle taille.
33 On parle alors respectivement de \emph{mode} et d'\emph{adapteur de stratégies} 
34
35 \subsection{Embarquement}
36
37
38 \begin{Def}[Mode]
39 \label{def:mode}
40 Soit $\mathsf{N}$ un entier naturel. 
41 Un mode est une application de $\mathds{B}^{\mathsf{N}}$
42 dans lui même.
43 \end{Def}
44
45
46
47 \begin{Def}[Adapteur de Stratégie]
48   \label{def:strategy-adapter}
49   
50   Un  \emph{adapteur de stratégie} est une fonction $\mathcal{S}$ 
51   de  $\Nats$ dans l'ensemble des séquences d'entiers 
52   qui associe à chaque entier naturel
53   $\mathsf{N}$ la suite 
54   $S \in  \llbracket 1, n\rrbracket^{\mathds{N}}$.
55 \end{Def}
56
57
58 On définit par exemple  l'adapteur CIIS (\emph{Chaotic Iterations with Independent Strategy})
59 paramétré par $(K,y,\alpha,l) \in [0,1]\times [0,1] \times ]0, 0.5[ \times \mathds{N}$
60 qui associe à chque entier  $n \in \Nats$  la suite
61 $(S^t)^{t \in \mathds{N}}$ définie par:
62  \begin{itemize}
63  \item $K^0 = \textit{bin}(y) \oplus \textit{bin}(K)$: $K^0$ est le nombre binaire (sur 32 bits)
64    égal au ou exclusif (xor) 
65    entre les décompositions binaires sur 32 bits des réels $y$ et  $K$
66    (il est aussi compris entre 0 et 1),
67  \item $\forall t \leqslant l, K^{t+1} = F(K^t,\alpha)$,
68  \item $\forall t \leqslant l, S^t = \left \lfloor n \times K^t \right \rfloor + 1$,
69  \item $\forall t > l, S^t = 0$,
70  \end{itemize}
71 où  est la fonction chaotique linéaire par morceau~\cite{Shujun1}.
72 Les paramètres $K$ et $\alpha$ de cet adapteur de stratégie peuvent être vus
73 comme des clefs. 
74 On remarque que cette stratégie est unaire.
75
76
77
78
79 On peut attribuer à chaque bit du média hôte $x$ sa valeur d'importance 
80 sous la forme d'un réel.
81 Ceci se fait à l'aide d'une fonction de signification. 
82
83
84 \begin{Def}[Fonction de signification ]
85 Une  \emph{fonction de signification } 
86 est une fonction $u$ qui a toute 
87 séquence finie de bit $x$ associe la séquence 
88 $(u^k(x))$ de taille $\mid x \mid$ à valeur dans les réels.
89 Cette fonction peut dépendre du message $y$ à embarquer, ou non.
90 \end{Def}
91
92 Pour alléger le discours, par la suite, on nottera $(u^k(x))$ pour $(u^k)$ 
93 lorsque cela n'est pas ambigüe.
94 Il reste à partionner les bits  de $x$ selon qu'ils sont 
95 peu, moyennement ou très significatifs. 
96
97 \begin{Def}[Signification des bits]\label{def:msc,lsc}
98 Soit $u$ une fonction de signification, 
99 $m$ et  $M$ deux réels  t.q. $m < M$.  Alors:
100 $u_M$, $u_m$ et $u_p$ sont les vecteurs finis respectivements des 
101 \emph{bits les plus significatifs  (MSBs)} de $x$,
102 \emph{bits les moins significatifs (LSBs)} de $x$ 
103 \emph{bits passifs} of $x$ définis par:
104 \begin{eqnarray*}
105   u_M &=& \left( k ~ \big|~ k \in \mathds{N} \textrm{ et } u^k 
106     \geqslant M \textrm{ et }  k \le \mid x \mid \right) \\
107   u_m &=& \left( k ~ \big|~ k \in \mathds{N} \textrm{ et } u^k 
108   \le m \textrm{ et }  k \le \mid x \mid \right) \\
109    u_p &=& \left( k ~ \big|~ k \in \mathds{N} \textrm{ et } 
110 u^k \in ]m;M[ \textrm{ et }  k \le \mid x \mid \right)
111 \end{eqnarray*}
112  \end{Def}
113
114 On peut alors définir une fonction de décompostion  
115 puis de recomposition pour un hôte $x$:
116
117
118 \begin{Def}[Fonction de décomposition ]
119 Soit $u$ une fonction de signification, 
120 $m$ et $M$ deux réels t.q  $m < M$.  
121 Tout hôte $x$ peut se décomposer en
122 $(u_M,u_m,u_p,\phi_{M},\phi_{m},\phi_{p})$
123 avec 
124 \begin{itemize}
125 \item $u_M$, $u_m$, et  $u_p$ construits comme à la définition~\label{def:msc,lsc},
126 \item $\phi_{M} = \left( x^{u^1_M}, x^{u^2_M}, \ldots,x^{u^{|u_M|}_M}\right)$,
127 \item $\phi_{m} = \left( x^{u^1_m}, x^{u^2_m}, \ldots,x^{u^{|u_m|}_m} \right)$,
128 \item $\phi_{p} =\left( x^{u^1_p}, x^{u^2_p}, \ldots,x^{u^{|u_p|}_p}\right) $.
129 \end{itemize}
130 La fonction qui associe $(u_M,u_m,u_p,\phi_{M},\phi_{m},\phi_{p})$
131 pour chaque hôte $x$ est la  \emph{fonction de décomposition}, plus tard notée 
132 $\textit{dec}(u,m,M)$ puisqu'elle est paramétrée par 
133 $u$, $m$ and $M$. 
134 \end{Def} 
135
136
137 \begin{Def}[Recomposition]
138 Soit un sextuplet 
139 $(u_M,u_m,u_p,\phi_{M},\phi_{m},\phi_{p}) \in 
140 \mathfrak{N} \times 
141 \mathfrak{N} \times 
142 \mathfrak{N} \times 
143 \mathfrak{B} \times 
144 \mathfrak{B} \times 
145 \mathfrak{B} 
146 $ tel que
147 \begin{itemize}
148 \item les ensembles $u_M$, $u_m$ et  $u_p$ forment une partition de  $[n]$;
149 \item $|u_M| = |\varphi_M|$, $|u_m| = |\varphi_m|$ et $|u_p| = |\varphi_p|$.  
150 \end{itemize}
151 Soit la base canonique sur l'espace vectoriel $\mathds{R}^{\mid x \mid}$ composée des vecteurs 
152  $e_1, \ldots, e_{\mid x \mid}$.
153 On peut construire le vecteur 
154 \[
155 x = 
156 \sum_{i=1}^{|u_M|} \varphi^i_M . e_{{u^i_M}} +  
157 \sum_{i=1}^{|u_m|} \varphi^i_m .e_{{u^i_m}} +  
158 \sum_{i=1}^{|u_p|} \varphi^i_p. e_{{u^i_p}} 
159 \]
160 La fonction qui associe $x$ à chaque sextuplet 
161 $(u_M,u_m,u_p,\phi_{M},\phi_{m},\phi_{p})$ défini comme ci-dessus est appelée 
162 \emph{fonction de recomposition}.
163 \end{Def}
164
165 Un embarquement consiste à modifier les valeurs de  
166 $\phi_{m}$ (de $x$) en tenant compte de $y$. 
167 Cela se formalise comme suit:
168
169 \begin{Def}[Embarquement de message]
170 Soit une fonction de décomposition  $\textit{dec}(u,m,M)$,  
171 $x$ un support, 
172 $(u_M,u_m,u_p,\phi_{M},\phi_{m},\phi_{p})$ son image par $\textit{dec}(u,m,M)$, 
173 et $y$ un média numérique de taille $|u_m|$.
174 Le média $z$ résultant de l'embarquement d'$y$ dans $x$ est l'image de 
175 $(u_M,u_m,u_p,\phi_{M},y,\phi_{p})$
176 par la fonction de recomposition $\textit{rec}$.
177 %  avec 
178 % $g : \Bool^{|u_m|} \times \Bool^{|u_m|} \to \Bool^{|u_m|} $
179 % est la fonction de modification des bits de $u_m$ selon $y$.
180 \end{Def}
181
182  
183 On peut étendre l'algorithme dhCI~\cite{gfb10:ip} d'embarquement de message comme suit:  
184
185 \begin{Def}[Embarquement dhCI étendu]
186  \label{def:dhCI:ext}
187 Soit $\textit{dec}(u,m,M)$ une function de décomposition,
188 $f$ un mode, 
189 $\mathcal{S}$ un adapteur de stratégie,
190 $x$ un hôte, 
191 $(u_M,u_m,u_p,\phi_{M},\phi_{m},\phi_{p})$ 
192 sont image par  $\textit{dec}(u,m,M)$,
193 $q$ un entier naturel positif
194 et $y$ un média numérique de taille $l=|u_m|$.
195
196 L'algorithme d'embarquement de message associe à chaque 
197 couple $(x,y)$  le média  $z$ résultat de l'embarquement de 
198 $\hat{y}$ dans $x$, t. q.:
199
200 \begin{itemize}
201 \item le mode $f$ est instancié avec le paramètre $l=|u_m|$, engendrant la 
202   fonction $f_{l}:\Bool^{l} \rightarrow \Bool^{l}$;
203 \item l'adapteur de stratégie $\mathcal{S}$ est intancié avec le paramètre
204 $y$, engendrant une stratégie $S_y \in [l]$;
205 \item on itère la fonction $G_{f_l}$ en prenant la configuration
206   initiale $(S_y,\phi_{m})$ selon le schéma défini 
207   à l'équation~(\ref{eq:sch:unaire}). 
208 \item $\hat{y}$ est le second membre du $q^{\textrm{ème}}$ terme obtenu.
209 \end{itemize}
210 \end{Def}
211
212
213 La figure~\ref{fig:organigramme} synthétise la démarche.
214
215 \begin{figure}[ht]
216 \centering
217 %\includegraphics[width=8.5cm]{organigramme2.pdf}
218 \includegraphics[width=8.5cm]{organigramme22}
219 \caption{The dhCI dissimulation scheme}
220 \label{fig:organigramme}
221 \end{figure}
222
223
224
225
226 \subsection{Détection d'un media marqué}\label{sub:wmdecoding}
227
228 On caractérise d'abord ce qu'est un média marqué selon la méthode énoncée 
229 à la section précédente. On considère que l'on connaît
230 la marque à embarquer $y$, le support $x$ et que l'on a face à soit un média 
231 $z$.
232
233
234 \begin{definition}[Média marqué]
235 Soit $\textit{dec}(u,m,M)$ une fonction de décomposition
236 $f$ un  mode, 
237 $\mathcal{S}$ un adapteur de stratégie
238 $q$ un entier naturel strictement positif,
239 $y$ un média digital et soit  
240 $(u_M,u_m,u_p,\phi_{M},\phi_{m},\phi_{p})$ l'image par 
241 $\textit{dec}(u,m,M)$  du média  $x$. 
242 Alors, $z$ est \emph{marqué} avec $y$ si l'image 
243 par $\textit{dec}(u,m,M)$ of $z$ is 
244 $(u_M,u_m,u_p,\phi_{M},\hat{y},\phi_{p})$, où
245 $\hat{y}$ est le second membre de  $G_{f_l}^q(S_y,\phi_{m})$.
246 \end{definition}
247
248 % Plusieurs stratégies peuvent être utilisées pour déterminer si une image $z$ 
249 % est marquée, en particulier si l'image a été attaquée entre temps.
250 % On s'intéressera aux mesures de similarité entre $x$ et $z$.
251
252 \section{Analyse de sécurité (probabilistes)}\label{sec:watermarking:security:probas}
253
254
255 Récemment~\cite{Cayre2005,Perez06} ont proposé des classes de sécurité pour le
256 marquage d'information. Parmis celles-ci, la stego-sécurité a été au centre 
257 des travaux puisqu'elle représente la classe la plus élevée dans le contexte où
258 l'attaquant n'a accès qu'à l'hôte marqué $z$.
259
260 Cette définition probabiliste est rappelée ci-après.
261 Soit $\mathds{K}$ un ensemble de clefs, $p(X)$ un modèle porbabiliste 
262 de $N_0$ hôtes,  et $p(Y|K)$ le modèle probabiliste de $N_0$ contenus marqués avec la 
263 même clé $K$ et le même algorithme d'embarquement.
264
265 \begin{definition}[Stégo-Sécurité~\cite{Cayre2008}]
266 \label{Def:Stego-security} 
267 La fonction d'embarquement is \emph{stégo-sécure}
268 si la propriété $\forall K \in \mathds{K}, p(Y|K)=p(X)$ est établie.
269 \end{definition}
270
271 Il a déjà été démontré~\cite{guyeuxphd,gfb10:ip}
272 que l'algorithme de marquage dont le mode est la fonction 
273 négation est stégo-sécure. 
274 Un des intérêts de l'algorithme présenté ici est qu'il est paramétré par un mode.
275 Lorsque celui-ci a les même propriétés que celles vues pour la création de PRNG (\textit{i.e.} graphe des itérations fortement connexes et matrice de Markov doublement 
276 stochastique), on a un marquage qui peut être rendu stego-secure à $\epsilon$ pret,
277 ce que précise le théorème suivant:
278
279 \begin{theorem}\label{th:stego}
280 Soit  $\epsilon$ un nombre positif, 
281 $l$ un nombre de LSBs, 
282 $X   \sim \mathbf{U}\left(\mathbb{B}^l\right)$,
283 un adapteur de stratégie uniformémement distribué indépendant de $X$
284 $f_l$ un mode tel que  
285 $\textsc{giu}(f_l)$ est fortement connexe et la 
286 matrice de Markov associée à  $f_l$ est doublement stochastique.
287 Il existe un nombre $q$ d'itérations tel que 
288 $|p(Y|K)- p(X)| < \epsilon$. 
289 \end{theorem}
290
291
292
293 \section{Analyse de sécurité (chaos)}\label{sec:watermarking:security:chaos}
294 On rappelle uniquement la définition de chaos-sécurité
295 introduite dans~\cite{guyeuxphd}.
296
297
298 \begin{definition}[Chaos-sécurité]
299 \label{DefinitionChaosSecure}
300 Un schéma de marquage $S$ est chaos-sécure sur un espace topologique
301 $(\mathcal{X},\tau)$
302 si sa version itérative 
303 a un comprtement chaotique sur celui-ci.
304 \end{definition}
305
306 Tout repose ainsi sur la capacité que l'on a à produire des fonctions 
307 dont le graphe des itérations unaires sera fortement connexe.
308 Ceci a déjà été traité au chapitre~\ref{chap:carachaos}.
309 La seule complexité est l'adaptabilité de la fonction au  nombre $l$ de LSBs.
310
311 On considère par exemple le  mode
312 $f_l: \Bool^l \rightarrow \Bool^l$ t.q. le $i^{\textrm{ème}}$ composant 
313 est défini par 
314 \begin{equation}
315 {f_l}(x)_i =
316 \left\{
317 \begin{array}{l}
318 \overline{x_i} \textrm{ si $i$ est impair} \\
319 x_i \oplus x_{i-1} \textrm{ si $i$ est pair}
320 \end{array}
321 \right.
322 \end{equation}\label{eq:fqq}
323
324 on peut déduire imédiatement du théorème~\ref{th:Adrien} (chap.~\ref{chap:carachaos})
325 que le graphe $\textsc{giu}(f_l)$ est fortement connexe.
326 La preuve de double-stochasiticité de la matrice associée 
327 à $f_l$ est donnée en annexes~\ref{anx:marquage:dblesto}.
328 On dispose ainsi d'un nouvel algorithme de marquage $\epsilon$-stego-secure et 
329 chaos-sécure.
330
331 \section{Applications aux domaines fréquentiels}\label{sec:watermarking:frequentiel}
332 Le schéma d'algorithme présenté dans ce chapitre a été appliqué au marquage d'images 
333 dans les coefficients DCT et les DWT.
334
335 \subsection{Fonction de signification pour l'embarquement dans les DCT} 
336  
337 On considère un hôte $x$ de taille $H \times L$ dans le domaine fréqentiel DCT.
338 Dans chaque bloc de taille $8\times 8$, à chaque bit
339 la fonction de signification $u$ associe
340
341 \begin{itemize}
342 \item 1 si c'est un bit appraissant dans la représentation binaire de la valeur d'un coefficient dont les coordonnées appartiennent à $\{(1,1),(2,1),(1,2)\}$,
343 \item 1 si c'est un bit appraissant dans la représentation binaire de la valeur 
344   d'un coefficient dont les 
345   coordonnées appartiennent à $\{(3,1),(2,2),(1,3)\}$ et qui n'est pas un des trois 
346   bits de poids faible de cette représentation,
347 \item -1 si c'est un bit appraissant dans la représentation binaire
348 de la valeur d'un coefficient dont les 
349   coordonnées appartiennent à $\{(3,1),(2,2),(1,3)\}$ et qui est un des 
350  des trois bits de poids faible  de cette valeur,
351 \item 0 sinon.
352 \end{itemize}
353 Le choix de l'importance de chaque coefficient est défini grâce aux seuils  
354 $(m,M)=(-0.5,0.5)$ 
355 permetant d'engendrer les MSBs, LSBs, et bits passifs.
356
357
358 \subsection{Fonction de signification pour l'embarquement dans les DWT} 
359
360 On considère un hôte dnas le domaine des DWT. La fonction de signification 
361 se concentre sur les seconds niveaux de détail (\textit{i.e.}, LH2, HL2 et HH2).
362 Pour chaque bit, on dit qu'il est peu significatif si c'est un des trois bits de 
363 poids faible d'un coefficient de  LH2, HL2 ou de  HH2.
364 Formellement  à chaque bit
365 la fonction de signification $u$ associe
366
367 \begin{itemize}
368 \item 1 si c'est un bit appraissant dans la représentation binaire de la valeur d'un coefficient de type LL2, 
369 \item 1 si c'est un bit appraissant dans la représentation binaire de la valeur d'un coefficient de type LH2, HL2, HH2 et qui n'est pas un des trois 
370   bits de poids faible de cette représentation,
371 \item 1 si c'est un bit appraissant dans la représentation binaire de la valeur d'un coefficient de type LH2, HL2, HH2 et qui est un des trois 
372   bits de poids faible de cette représentation,
373 \item 0 sinon.
374 \end{itemize}
375 Le choix de l'importance de chaque coefficient est encore défini grâce aux seuils  
376 $(m,M)=(-0.5,0.5)$ 
377 permetant d'engendrer les MSBs, LSBs, et bits passifs.
378
379
380 \subsection{Etude de robustesse}
381 Cette partie synthétise une étude de robustesse de la démarche présentée ci-avant.
382 Dans ce qui suit, {dwt}(neg), 
383 {dwt}(fl), {dct}(neg), {dct}(fl) 
384 correpondent respectivement aux embarquements en fréquenciel 
385 dans les domaines  DWT et  DCT 
386 avec le mode de négation et celui issu de la fonction $f_l$
387 détaillé à l'équation~\ref{eq:fqq}.
388
389 A chaque série d'expériences, un ensemble de 50 images est choisi aléatoirement 
390 de la base du concours BOSS~\cite{Boss10}. Chaque hôte est une image 
391 en $512\times 512$ en niveau de gris et la marque $y$ est une suite de
392 4096 bits.
393 La resistance à la robustesse est évaluée en appliquant successivement
394 sur l'image marquée des attaques de découpage, de compression, de 
395 transformations géométriques. 
396 Si les différences entre  $\hat{y}$ and $\varphi_m(z)$.
397 sont en desous d'un seuil(que l'on définit), 
398 l'image est dite marquée (et non marquée dans le cas contraire).
399 Cette différence exprimée en pourcentage est rappellée pour chacune des ataques
400 à la figure~\ref{fig:atq:dhc}.
401
402
403 \begin{figure}[ht]
404   \centering
405   \subfigure[Découpage]{
406     \includegraphics[width=0.5\textwidth]{atq-dec}\label{Fig:atq:dec:curves}
407   }
408   \subfigure[Compression JPEG]{
409     \includegraphics[width=0.45\textwidth]{atq-jpg}\label{Fig:atq:jpg:curves}
410   }
411   \subfigure[Compression JPEG 2000]{
412     \includegraphics[width=0.45\textwidth]{atq-jp2}\label{Fig:atq:jp2:curves}
413   }
414   \subfigure[Modification du contrast]{
415     % \includegraphics[width=0.45\textwidth]{atq-contrast.pdf}\label{Fig:atq:cont:curve}}
416     \includegraphics[width=0.45\textwidth]{atq-contrast}\label{Fig:atq:cont:curve}
417   }
418   \subfigure[Accentuation des bords]{
419     % \includegraphics[width=0.45\textwidth]{atq-flou.pdf}\label{Fig:atq:sh:curve}}
420     \includegraphics[width=0.45\textwidth]{atq-flou}\label{Fig:atq:sh:curve}
421   }
422   \subfigure[Rotation]{
423     % \includegraphics[width=0.45\textwidth]{atq-rot.pdf}\label{Fig:atq:rot:curve}}
424     \includegraphics[width=0.45\textwidth]{atq-rot}\label{Fig:atq:rot:curve}
425   }
426 \caption{Illustration de la robustesse}\label{fig:atq:dhc}
427 \end{figure}
428
429
430 \subsection{Evaluation de l'embarquement}\label{sub:roc}
431 Pour évaluer le seuil qui permet de dire avec la plus grande précision 
432 si une image est marquée ou non, nous avons appliqué la démarche suivante.
433 A partir d'un ensemble de 100 images du challenge BOSS, les trois 
434 ensembles suivants sont construits: celui des images marquées $W$,
435 celui contenant des imges marquées puis attaquée $\textit{WA}$,
436 et celui des images uniquement attaquées $A$. Les attaques sont choisiés parmi 
437 celles données ci dessus.
438
439 Pour chaque entier $t$ entre 5 et 55 
440 et chaque  image $x \in \textit{WA} \cup A$,
441 on calcule la différence entre  $\hat{y}$ et $\varphi_m(z)$.
442 L'image est dite marquée si cette différence est en dessous du seuil $t$  considéré  
443 \begin{itemize}
444 \item si elle est dite marquée et si $x$ appartient  à $\textit{WA}$
445   c'est un vrai cas positif (TP);
446 \item si elle est dite non marquée et si $x$ appartient cependant à $\textit{WA}$
447   c'est un faux cas négatif (FN);
448 \item si elle est dite marquée et si $x$ appartient cependant à $\textit{A}$
449   c'est un faux cas positif (FP);
450 \item enfin si elle est dite non marquée et si $x$ appartient à $\textit{A}$
451   c'est un vrai cas négatif (TN).
452 \end{itemize}
453
454
455 \begin{figure}[ht]
456 \begin{center}
457 \includegraphics[width=7cm]{ROC}
458 \end{center}
459 \caption{Courbes ROC de seuils de détection}\label{fig:roc:dwt}
460 \end{figure}
461
462 La courbe ROC construite à partir des points de coordonnées (TP,FP) issus 
463 de ces seuils est 
464 donnée à la figure~\ref{fig:roc:dwt}. 
465 Pour la fonction $f_l$ et pour la fonction négation respectivement, 
466 la détection est optimale pour le seuil de 45\% correspondant au point (0.01, 0.88)
467 et pour le seuil de  46\%  correspondant au point (0.04, 0.85) 
468 dans le domaine DWT.
469 Pour les deux modes dans le domaine DCT, 
470 la détection est optimale pour le seuil de 44\% 
471 (correspondant aux points (0.05, 0.18) et (0.05, 0.28)).
472 On peut alors donner des intervales de confiance pour les attaques évaluées.
473 L'approche est résistante à:
474 \begin{itemize}
475 \item tous les découpages où le pourcentage est inférieur à 85\%;
476 \item les compression dont le ratio est supérieur à 82\% dans le domaine 
477   DWT et  67\% dans celui des DCT;
478 \item les modifications du contraste lorsque le renforcement est dans 
479   $[0.76,1.2]$ dans le domaine DWT et  $[0.96,1.05]$ dans le domaine DCT;
480 \item toutes les rotations dont l'angle est inférieur à 20 degrés dans le domaine DCT et 
481   celles dont l'angle est inférieur à 13 degrés dans le domaine DWT.
482 \end{itemize}
483
484
485 \section{Embarquons d'avantage qu'1 bit}\label{sec:watermarking:extension}
486 L'algorithme présenté dans les sections précédentes
487 ne  permet de savoir, \textit{in fine}, 
488 que si l'image est marquée ou pas. Cet algorithme ne permet pas
489 de retrouver le contenu de la marque à partir de l'image marquée.
490 C'est l'bjectif de l'algorithme présenté dans cette section et introduit 
491 dans~\cite{fgb11:ip}.
492 On des raisons de lisibilité, il n'est pas 
493 présenté pas dans le formalisme de la première section et
494 est grandement synthétisé.
495 Il a cependant été prouvé comme étant chaos-sécure~\cite{fgb11:ip}.
496
497
498
499 Commençons par quelques conventions de notations: 
500 \begin{itemize}
501 \item $\mathbb{S}_\mathsf{k}$ est l'ensemble des stratégies unaire sur $[k]$;
502 \item $m^0 \in \mathbb{B}^{\mathsf{P}}$ est un vecteur de $\mathsf{P}$ bits
503   représentant la marque;
504 \item comme précédement, 
505   $x^0 \in \mathbb{B}^\mathsf{N}$ est le vecteurs des
506    $\mathsf{N}$ bits sélectionnés où la marque est embarquée.
507  \item $S_p \in \mathbb{S}_\mathsf{N}$ 
508    est la \emph{stratégie de place} et définit quel 
509    élément de $x$ est modifié à chaque itération;
510   \item $S_c \in \mathbb{S}_\mathsf{P}$ est la \textbf{stratégie de  choix}
511     qui définit quel indice du vecteur de marque est embarqué à chaque 
512     itération;
513   \item $S_m \in \mathbb{S}_\mathsf{P}$ est la \textbf{stratégie de mélange}
514     qui précise quel élément de la marque est inversé à chaque itération.
515 \end{itemize}
516
517 % In what follows, $x^0$ and $m^0$ are sometimes replaced by
518 % $x$ and $m$ for the sake of brevity, 
519 % when such abridge does not introduce confusion. 
520
521
522 % \subsection{The $\CID$ scheme}\label{sub:ci2:scheme}
523 Le processus itératif modifiant $x$ est défini comme suit.
524 Pour chaque $(n,i,j) \in  
525 \mathds{N}^{\ast} \times \llbracket 0;\mathsf{N}-1\rrbracket \times \llbracket
526 0;\mathsf{P}-1\rrbracket$, on a:
527 \begin{equation*}
528 \left\{
529 \begin{array}{l}
530 x_i^n=\left\{
531 \begin{array}{ll}
532 x_i^{n-1} & \text{ if }S_p^n\neq i \\
533 m_{S_c^n}^{n-1} & \text{ if }S_p^n=i.
534 \end{array}
535 \right.
536 \\
537 \\
538 m_j^n=\left\{
539 \begin{array}{ll}
540 m_j^{n-1} & \text{ if }S_m^n\neq j \\
541  & \\
542 \overline{m_j^{n-1}} & \text{ if }S_m^n=j.
543 \end{array}
544 \right.
545 \end{array}
546 \right.
547 \end{equation*}
548 %\end{definition}
549 \noindent où $\overline{m_j^{n-1}}$ est la négation booléenne de $m_j^{n-1}$.
550 On impose de plus la contrainte suivante.
551 Soit $\Im(S_p) = \{S^1_p, S^2_p, \ldots,  S^l_p\}$ 
552 l'ensemble de cardinalité $k \leq l$ (les doublons sont supprimés).  
553 qui contient la liste des indices $i$, $1 \le i \le p$,
554 tels que $x_i$ a été modifié.
555 On considère $\Im(S_c)_{|D}= \{S^{d_1}_c, S^{d_2}_c, \ldots,  S^{d_k}_c\}$
556 où  
557 $d_i$ est la dernière date où l'élément $i \in \Im(S_p)$ a été modifié.   
558 Cet ensemble doit être égal à $\llbracket 0 ;\mathsf{P} -1 \rrbracket$.
559
560 Pour peu que l'on sache satisfaire la contrainte précédente,
561 on remplace $x $ par $x^l \in \mathbb{B}^{\mathsf{N}}$ dans
562 l'hôte et on obtient un contenu marqué.
563
564
565 Sans attaque, le schéma doit garantir qu'un utilisateur qui dispose des bonnes 
566 clefs de création des stratégies est capable d'extraire une marque et que 
567 celle-ci est la marque insérée.
568 Ceci correspond respectivement aux propriétés de complétudes et de correction
569 de l'approche.
570 L'étude de ces propriétés est l'objectif de la section qui suit.
571
572
573
574
575
576
577 \subsection{Correction et complétude du schéma}\label{sub:ci2:discussion}
578
579 On ne donne ici que le théorème. La preuve est placée en annexes~\ref{anx:preuve:marquage:correctioncompletue}.
580
581 \begin{theorem}
582 La condition de l'algorithme de marquage est nécressaire et suffisante
583 pour permettre l'extraction du message du média marqué.
584 \end{theorem}
585
586 Sous ces hypothèes, on peut donc extraire un message.
587 De plus,  le cardinal $k$ de  
588 $\Im(S_p)$ est supérieur ou égal à  $\mathsf{P}$.
589 Ainsi le bit  $j$ du message original $m^0$ peut être 
590 embarqué plusieur fois dans $x^l$. 
591 Or, en compte le nombrede fois où ce  bit a été inversé dans 
592 $S_m$, la valeur de $m_j$ peut se déduire en plusieurs places. 
593 Sans attaque, toutes ces valeurs sont identiques 
594 et le messageest obtenus immédiatement.
595 Si attaque il y a, la valeur de $m_j$ peut s'obtenir en prenant la valeur 
596 moyenne de toutes les valeurs obtenues. On a donc la correction et la complétude.
597
598 \subsection{Détecter si le média est marqué}\label{sub:ci2:distances}
599 On considère un média $y$ marqué par un message $m$. 
600 Soit $y'$ une version altérée de $y$, c.-à-d. une version  
601 où certains bits on été modifiés et soit
602 $m'$ le message extrait de from $y'$. 
603
604 Pour mesurer la distance entre $m'$ et $m$, on 
605 considère repsectivement 
606 $M$ et $M$ l'ensemble des indices de $m$ et de $m'$ 
607 où $m_i$ vaut 1 et ou $m'_1$ vaut 1.
608
609 Beaucoup de mesures de similarité~\cite{yule1950introduction,Anderberg-Cluster-1973,Rifqi:2000:DPM:342947.342970}, dépendent des ensembles
610 $a$, $b$, $c$ et $d$ définis par
611 $a = |M \cap M' |$, 
612 $b = |M \setminus M' |$,
613 $c = |M' \setminus M|$, and
614 $d = |\overline{M} \cap \overline{M'}|$
615
616 Selon ~\cite{rifq/others03} la mesure de Fermi-Dirac $S_{\textit{FD}}$
617 est celle dont le pouvoir de discrimination est le plus fort, 
618 c.-à-d. celui qui permet la séparation la plus forte entre des vecteurs 
619 corrélés et des ceux qui ne le sont pas.
620 La distance entre $m$ et $m'$ est construite selon cette mesure 
621 et produit un réel dans $[0;1]$. Si elle est inférieure à un certain 
622 seuil (à définir), le média $y'$ est declaré 
623 comme marqué et le message doit pouvoir être extrait.
624
625 \subsection{Etude de robustesse}\label{sec:watermarking:robustesse} 
626 La méthode d'expérimentation de robustesse appliquée à la section précédente 
627 pourrait être réappliquée ici et nous pourrions obtenir, grâce aux courbes de 
628 ROC une valeur seuil pour déterminer si une marque est présente ou pas.
629 Dans~\cite{bcfg+13:ip}, nous n'avons cependant pas poussé
630 la démarche plus loin que de l'embarquement 
631 dans les bits de poids faible en spatial et l'on sait que ceci est 
632 particulièrement peu robuste. 
633
634
635 \section{Conclusion}
636 Grace à la formalisation du processus de watermarking par itérations discrètes, nous avons pu dans ce chapitre montrer que le processus possédait les propriétés
637 attendues, à savoir stego-sécurité, chaos sécurité et une robustesse relative.
638 Pour étendre le champ applicatif, nous avons proposé un second algorithme
639 permettant de particulariser la marque à embarquer et donc à extraire.
640 Le chapitre suivant s'intéresse au marquage, mais dans un autre domaine que celui des images.
641