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

Private GIT Repository
fin relecture sylvaine
[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 (section~\ref{sec:watermarking:security:probas}) 
7 et l'approche chaotique (section~\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 applicable à 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  [\mathsf{N}]^{\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 à chaque entier  $\mathsf{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 \mathsf{N} \times K^t \right \rfloor + 1$,
69  \item $\forall t > l, S^t = 0$,
70  \end{itemize}
71 où $F$  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 à 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 notera $(u^k(x))$ pour $(u^k)$ 
93 lorsque cela n'est pas ambigüe.
94 Il reste à partitionner 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 respectivement des 
101 \emph{bits les plus significatifs  (MSBs)} de $x$,
102 \emph{bits les moins significatifs (LSBs)} de $x$ 
103 \emph{bits passifs} de $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écomposition  
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$ et $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  $[\mathsf{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 fonction 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 son 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 instancié 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{Le schéma de marquage dhCI}
220 \label{fig:organigramme}
221 \end{figure}
222
223
224
225
226 \subsection{Détection d'un média 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 à soi un média 
231 $z$.
232
233
234 \begin{Def}[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)$ de $z$ est 
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{Def}
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. Parmi 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 probabiliste 
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{Def}[Stégo-Sécurité~\cite{Cayre2008}]
266 \label{Def:Stego-security} 
267 La fonction d'embarquement est \emph{stégo-sécure}
268 si la propriété $\forall K \in \mathds{K}, p(Y|K)=p(X)$ est établie.
269 \end{Def}
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 stégo-sécure à $\varepsilon$ près,
277 ce que précise le théorème suivant. La preuve de ce théorème est donnée 
278 en annexes~\ref{anx:marquage}.
279
280
281 \begin{restatable}[$\varepsilon$-stego sécurité]{theorem}{theoremstegoscureepsilon}
282 \label{th:stego}
283 Soit  $\varepsilon$ un nombre positif, 
284 $l$ un nombre de LSBs, 
285 $X   \sim \mathbf{U}\left(\mathbb{B}^l\right)$,
286 un adapteur de stratégie uniformément distribué indépendant de $X$
287 $f_l$ un mode tel que  
288 $\textsc{giu}(f_l)$ est fortement connexe et la 
289 matrice de Markov associée à  $f_l$ est doublement stochastique.
290 Il existe un nombre $q$ d'itérations tel que 
291 $|p(Y|K)- p(X)| < \varepsilon$. 
292 \end{restatable}
293
294
295
296 \section{Analyse de sécurité (chaos)}\label{sec:watermarking:security:chaos}
297 On rappelle uniquement la définition de chaos-sécurité
298 introduite dans~\cite{guyeuxphd}.
299
300
301 \begin{Def}[Chaos-sécurité]
302 \label{DefinitionChaosSecure}
303 Un schéma de marquage $S$ est chaos-sécure sur un espace topologique
304 $(\mathcal{X},\tau)$
305 si sa version itérative 
306 a un comportement chaotique sur celui-ci.
307 \end{Def}
308
309 Tout repose ainsi sur la capacité que l'on a à produire des fonctions 
310 dont le graphe des itérations unaires sera fortement connexe.
311 Ceci a déjà été traité au chapitre~\ref{chap:carachaos}.
312 La seule complexité est l'adaptabilité de la fonction au  nombre $l$ de LSBs.
313
314 On considère par exemple le  mode
315 $f_l: \Bool^l \rightarrow \Bool^l$ t.q. le $i^{\textrm{ème}}$ composant 
316 est défini par 
317 \begin{equation}
318 {f_l}(x)_i =
319 \left\{
320 \begin{array}{l}
321 \overline{x_i} \textrm{ si $i$ est impair} \\
322 x_i \oplus x_{i-1} \textrm{ si $i$ est pair}
323 \end{array}
324 \right.
325 \end{equation}\label{eq:fqq}
326
327 on peut déduire immédiatement du théorème~\ref{th:Adrien} (chap.~\ref{chap:carachaos})
328 que le graphe $\textsc{giu}(f_l)$ est fortement connexe.
329 La preuve de double-stochasticité de la matrice associée 
330 à $f_l$ est donnée en annexe~\ref{anx:marquage:dblesto}.
331 On dispose ainsi d'un nouvel algorithme de marquage $\varepsilon$-stégo-sécure et 
332 chaos-sécure.
333
334 \section{Applications aux domaines fréquentiels}\label{sec:watermarking:frequentiel}
335 Le schéma d'algorithme présenté dans ce chapitre a été appliqué au marquage d'images 
336 dans les coefficients DCT et les DWT.
337
338 \subsection{Fonction de signification pour l'embarquement dans les DCT} 
339  
340 On considère un hôte $x$ de taille $H \times L$ dans le domaine fréquentiel DCT.
341 Dans chaque bloc de taille $8\times 8$, à chaque bit
342 la fonction de signification $u$ associe
343
344 \begin{itemize}
345 \item 1 si c'est un bit apparaissant dans la représentation binaire de la valeur d'un coefficient dont les coordonnées appartiennent à $\{(1,1),(2,1),(1,2)\}$,
346 \item 1 si c'est un bit apparaissant dans la représentation binaire de la valeur 
347   d'un coefficient dont les 
348   coordonnées appartiennent à $\{(3,1),(2,2),(1,3)\}$ et qui n'est pas un des trois 
349   bits de poids faible de cette représentation,
350 \item -1 si c'est un bit apparaissant dans la représentation binaire
351 de la valeur d'un coefficient dont les 
352   coordonnées appartiennent à $\{(3,1),(2,2),(1,3)\}$ et qui est un des 
353  trois bits de poids faible  de cette valeur,
354 \item 0 sinon.
355 \end{itemize}
356 Le choix de l'importance de chaque coefficient est défini grâce aux seuils  
357 $(m,M)=(-0.5,0.5)$ 
358 permettant d'engendrer les MSBs, LSBs, et bits passifs.
359
360
361 \subsection{Fonction de signification pour l'embarquement dans les DWT} 
362
363 On considère un hôte dans le domaine des DWT. La fonction de signification 
364 se concentre sur les seconds niveaux de détail (\textit{i.e.}, LH2, HL2 et HH2).
365 Pour chaque bit, on dit qu'il est peu significatif si c'est un des trois bits de 
366 poids faible d'un coefficient de  LH2, HL2 ou de  HH2.
367 Formellement  à chaque bit
368 la fonction de signification $u$ associe
369
370 \begin{itemize}
371 \item 1 si c'est un bit apparaissant dans la représentation binaire de la valeur d'un coefficient de type LL2, 
372 \item 1 si c'est un bit apparaissant dans la représentation binaire de la valeur d'un coefficient de type LH2, HL2, HH2 et qui n'est pas un des trois 
373   bits de poids faible de cette représentation,
374 \item 0 si c'est un bit apparaissant dans la représentation binaire de la valeur d'un coefficient de type LH2, HL2, HH2 et qui est un des trois 
375   bits de poids faible de cette représentation,
376 \item -1 sinon.
377 \end{itemize}
378 Le choix de l'importance de chaque coefficient est encore défini grâce aux seuils  
379 $(m,M)=(-0.5,0.5)$ 
380 permettant d'engendrer les MSBs, LSBs, et bits passifs.
381
382
383 \subsection{Etude de robustesse}
384 Cette partie synthétise une étude de robustesse de la démarche présentée ci-avant.
385 Dans ce qui suit, {dwt}(neg), 
386 {dwt}(fl), {dct}(neg), {dct}(fl) 
387 correspondant respectivement aux embarquements en fréquentiels 
388 dans les domaines  DWT et  DCT 
389 avec le mode de négation et celui issu de la fonction $f_l$
390 détaillée à l'équation~\ref{eq:fqq}.
391
392 A chaque série d'expériences, un ensemble de 50 images est choisi aléatoirement 
393 de la base du concours BOSS~\cite{Boss10}. Chaque hôte est une image 
394 en $512\times 512$ en niveau de gris et la marque $y$ est une suite de
395 4096 bits.
396 La résistance à la robustesse est évaluée en appliquant successivement
397 sur l'image marquée des attaques de découpage, de compression, de 
398 transformations géométriques. 
399 Si les différences entre  $\hat{y}$ and $\varphi_m(z)$.
400 sont en dessous d'un seuil (que l'on définit), 
401 l'image est dite marquée (et non marquée dans le cas contraire).
402 Cette différence exprimée en pourcentage est rappelée pour chacune des attaques
403 à la figure~\ref{fig:atq:dhc}.
404
405
406 \begin{figure}[ht]
407   \centering
408   \subfigure[Découpage]{
409     \includegraphics[width=0.5\textwidth]{atq-dec}\label{Fig:atq:dec:curves}
410   }
411   \subfigure[Compression JPEG]{
412     \includegraphics[width=0.45\textwidth]{atq-jpg}\label{Fig:atq:jpg:curves}
413   }
414   \subfigure[Compression JPEG 2000]{
415     \includegraphics[width=0.45\textwidth]{atq-jp2}\label{Fig:atq:jp2:curves}
416   }
417   \subfigure[Modification du contraste]{
418     % \includegraphics[width=0.45\textwidth]{atq-contrast.pdf}\label{Fig:atq:cont:curve}}
419     \includegraphics[width=0.45\textwidth]{atq-contrast}\label{Fig:atq:cont:curve}
420   }
421   \subfigure[Accentuation des bords]{
422     % \includegraphics[width=0.45\textwidth]{atq-flou.pdf}\label{Fig:atq:sh:curve}}
423     \includegraphics[width=0.45\textwidth]{atq-flou}\label{Fig:atq:sh:curve}
424   }
425   \subfigure[Rotation]{
426     % \includegraphics[width=0.45\textwidth]{atq-rot.pdf}\label{Fig:atq:rot:curve}}
427     \includegraphics[width=0.45\textwidth]{atq-rot}\label{Fig:atq:rot:curve}
428   }
429 \caption{Illustration de la robustesse}\label{fig:atq:dhc}
430 \end{figure}
431
432
433 \subsection{Évaluation de l'embarquement}\label{sub:roc}
434 Pour évaluer le seuil qui permet de dire avec la plus grande précision 
435 si une image est marquée ou non, nous avons appliqué la démarche suivante.
436 A partir d'un ensemble de 100 images du challenge BOSS, les trois 
437 ensembles suivants sont construits: celui des images marquées $W$,
438 celui contenant des images marquées puis attaquée $\textit{WA}$,
439 et celui des images uniquement attaquées $A$. Les attaques sont choisies parmi 
440 celles données ci dessus.
441
442 Pour chaque entier $t$ entre 5 et 55 
443 et chaque  image $x \in \textit{WA} \cup A$,
444 on calcule la différence entre  $\hat{y}$ et $\varphi_m(z)$.
445 L'image est dite marquée si cette différence est en dessous du seuil $t$  considéré  
446 \begin{itemize}
447 \item si elle est dite marquée et si $x$ appartient  à $\textit{WA}$
448   c'est un vrai cas positif (TP);
449 \item si elle est dite non marquée et si $x$ appartient cependant à $\textit{WA}$
450   c'est un faux cas négatif (FN);
451 \item si elle est dite marquée et si $x$ appartient cependant à $\textit{A}$
452   c'est un faux cas positif (FP);
453 \item enfin si elle est dite non marquée et si $x$ appartient à $\textit{A}$
454   c'est un vrai cas négatif (TN).
455 \end{itemize}
456
457
458 \begin{figure}[ht]
459 \begin{center}
460 \includegraphics[width=7cm]{ROC}
461 \end{center}
462 \caption{Courbes ROC de seuils de détection}\label{fig:roc:dwt}
463 \end{figure}
464
465 La courbe ROC construite à partir des points de coordonnées (TP,FP) issus 
466 de ces seuils est 
467 donnée à la figure~\ref{fig:roc:dwt}. 
468 Pour la fonction $f_l$ et pour la fonction négation respectivement, 
469 la détection est optimale pour le seuil de 45\% correspondant au point (0.01, 0.88)
470 et pour le seuil de  46\%  correspondant au point (0.04, 0.85) 
471 dans le domaine DWT.
472 Pour les deux modes dans le domaine DCT, 
473 la détection est optimale pour le seuil de 44\% 
474 (correspondant aux points (0.05, 0.18) et (0.05, 0.28)).
475 On peut alors donner des intervalles de confiance pour les attaques évaluées.
476 L'approche est résistante:
477 \begin{itemize}
478 \item à tous les découpages où le pourcentage est inférieur à 85\%;
479 \item aux compression dont le ratio est supérieur à 82\% dans le domaine 
480   DWT et  67\% dans celui des DCT;
481 \item aux modifications du contraste lorsque le renforcement est dans 
482   $[0.76,1.2]$ dans le domaine DWT et  $[0.96,1.05]$ dans le domaine DCT;
483 \item à toutes les rotations dont l'angle est inférieur à 20 degrés dans le domaine DCT et 
484   celles dont l'angle est inférieur à 13 degrés dans le domaine DWT.
485 \end{itemize}
486
487
488 \section{Embarquons davantage qu'1 bit}\label{sec:watermarking:extension}
489 L'algorithme présenté dans les sections précédentes
490 ne  permet de savoir, \textit{in fine}, 
491 que si l'image est marquée ou pas. Cet algorithme ne permet pas
492 de retrouver le contenu de la marque à partir de l'image marquée.
493 C'est l'objectif de l'algorithme présenté dans cette section et introduit 
494 dans~\cite{fgb11:ip}.
495 Pour des raisons de lisibilité, il n'est pas 
496 présenté pas dans le formalisme de la première section et
497 est grandement synthétisé.
498 Il a cependant été prouvé comme étant chaos-sécure~\cite{fgb11:ip}.
499
500
501
502 Commençons par quelques conventions de notations: 
503 \begin{itemize}
504 \item $\mathbb{S}_\mathsf{k}$ est l'ensemble des stratégies unaire sur $[k]$;
505 \item $m^0 \in \mathbb{B}^{\mathsf{P}}$ est un vecteur de $\mathsf{P}$ bits
506   représentant la marque;
507 \item comme précédemment, 
508   $x^0 \in \mathbb{B}^\mathsf{N}$ est le vecteurs des
509    $\mathsf{N}$ bits sélectionnés où la marque est embarquée.
510  \item $S_p \in \mathbb{S}_\mathsf{N}$ 
511    est la \emph{stratégie de place} et définit quel 
512    élément de $x$ est modifié à chaque itération;
513   \item $S_c \in \mathbb{S}_\mathsf{P}$ est la \textbf{stratégie de  choix}
514     qui définit quel indice du vecteur de marque est embarqué à chaque 
515     itération;
516   \item $S_m \in \mathbb{S}_\mathsf{P}$ est la \textbf{stratégie de mélange}
517     qui précise quel élément de la marque est inversé à chaque itération.
518 \end{itemize}
519
520 % In what follows, $x^0$ and $m^0$ are sometimes replaced by
521 % $x$ and $m$ for the sake of brevity, 
522 % when such abridge does not introduce confusion. 
523
524
525 % \subsection{The $\CID$ scheme}\label{sub:ci2:scheme}
526 Le processus itératif modifiant $x$ est défini comme suit.
527 Pour chaque $(n,i,j) \in  
528 \mathds{N}^{\ast} \times \llbracket 0;\mathsf{N}-1\rrbracket \times \llbracket
529 0;\mathsf{P}-1\rrbracket$, on a:
530 \begin{equation*}
531 \left\{
532 \begin{array}{l}
533 x_i^n=\left\{
534 \begin{array}{ll}
535 x_i^{n-1} & \text{ si }S_p^n\neq i \\
536 m_{S_c^n}^{n-1} & \text{ si }S_p^n=i.
537 \end{array}
538 \right.
539 \\
540 \\
541 m_j^n=\left\{
542 \begin{array}{ll}
543 m_j^{n-1} & \text{ si }S_m^n\neq j \\
544  & \\
545 \overline{m_j^{n-1}} & \text{ si }S_m^n=j.
546 \end{array}
547 \right.
548 \end{array}
549 \right.
550 \end{equation*}
551 %\end{Def}
552 \noindent où $\overline{m_j^{n-1}}$ est la négation booléenne de $m_j^{n-1}$.
553 On impose de plus la contrainte suivante.
554 Soit $\Im(S_p) = \{S^1_p, S^2_p, \ldots,  S^l_p\}$ 
555 l'ensemble de cardinalité $k \leq l$ (les doublons sont supprimés).  
556 qui contient la liste des indices $i$, $1 \le i \le p$,
557 tels que $x_i$ a été modifié.
558 On considère $\Im(S_c)_{|D}= \{S^{d_1}_c, S^{d_2}_c, \ldots,  S^{d_k}_c\}$
559 où  
560 $d_i$ est la dernière date où l'élément $i \in \Im(S_p)$ a été modifié.   
561 Cet ensemble doit être égal à $\llbracket 0 ;\mathsf{P} -1 \rrbracket$.
562
563 Pour peu que l'on sache satisfaire la contrainte précédente,
564 on remplace $x $ par $x^l \in \mathbb{B}^{\mathsf{N}}$ dans
565 l'hôte et on obtient un contenu marqué.
566
567
568 Sans attaque, le schéma doit garantir qu'un utilisateur qui dispose des bonnes 
569 clefs de création des stratégies est capable d'extraire une marque et que 
570 celle-ci est la marque insérée.
571 Ceci correspond respectivement aux propriétés de complétude et de correction
572 de l'approche.
573 L'étude de ces propriétés est l'objectif de la section qui suit.
574
575
576
577
578
579
580 \subsection{Correction et complétude du schéma}\label{sub:ci2:discussion}
581
582 On ne donne ici que le théorème. La preuve est placée en annexes~\ref{anx:preuve:marquage:correctioncompletue}.
583
584 \begin{restatable}[Correction et complétude du marquage]{theorem}{marquagecorrectioncompl}
585 La condition de l'algorithme de marquage est nécessaire et suffisante
586 pour permettre l'extraction du message du média marqué.
587 \end{restatable}
588
589 Sous ces hypothèse, on peut donc extraire un message.
590 De plus,  le cardinal $k$ de  
591 $\Im(S_p)$ est supérieur ou égal à  $\mathsf{P}$.
592 Ainsi le bit  $j$ du message original $m^0$ peut être 
593 embarqué plusieurs fois dans $x^l$. 
594 Or, en comptant le nombre de fois où ce  bit a été inversé dans 
595 $S_m$, la valeur de $m_j$ peut se déduire en plusieurs places. 
596 Sans attaque, toutes ces valeurs sont identiques 
597 et le message est obtenu immédiatement.
598 Si attaque il y a, la valeur de $m_j$ peut s'obtenir en prenant la valeur 
599 moyenne de toutes les valeurs obtenues. 
600
601 \subsection{Détecter si le média est marqué}\label{sub:ci2:distances}
602 On considère un média $y$ marqué par un message $m$. 
603 Soit $y'$ une version altérée de $y$, c.-à-d. une version  
604 où certains bits ont été modifiés et soit
605 $m'$ le message extrait de   $y'$. 
606
607 Pour mesurer la distance entre $m'$ et $m$, on 
608 considère respectivement 
609 $M$ et $M'$ l'ensemble des indices de $m$ et de $m'$ 
610 où $m_i$ vaut 1 et ou $m'_1$ vaut 1.
611
612 Beaucoup de mesures de similarité~\cite{yule1950introduction,Anderberg-Cluster-1973,Rifqi:2000:DPM:342947.342970}, dépendent des ensembles
613 $a$, $b$, $c$ et $d$ définis par
614 $a = |M \cap M' |$, 
615 $b = |M \setminus M' |$,
616 $c = |M' \setminus M|$ et 
617 $d = |\overline{M} \cap \overline{M'}|$
618
619 Selon ~\cite{rifq/others03} la mesure de Fermi-Dirac $S_{\textit{FD}}$
620 est celle dont le pouvoir de discrimination est le plus fort, 
621 c.-à-d. celle qui permet la séparation la plus forte entre des vecteurs 
622 corrélés et des des vecteurs qui ne le sont pas.
623 La distance entre $m$ et $m'$ est construite selon cette mesure 
624 et produit un réel dans $[0;1]$. Si elle est inférieure à un certain 
625 seuil (à définir), le média $y'$ est déclaré 
626 comme marqué et le message doit pouvoir être extrait.
627
628 \subsection{Etude de robustesse}\label{sec:watermarking:robustesse} 
629 La méthode d'expérimentation de robustesse appliquée à la section précédente 
630 pourrait être réappliquée ici et nous pourrions obtenir, grâce aux courbes de 
631 ROC une valeur seuil pour déterminer si une marque est présente ou pas.
632 Dans~\cite{bcfg+13:ip}, nous n'avons cependant pas poussé
633 la démarche plus loin que dans la direction de l'embarquement 
634 dans les bits de poids faible en spatial et l'on sait que ceci est 
635 particulièrement peu robuste. 
636
637
638 \section{Conclusion}
639 Grâce à 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
640 attendues, à savoir stego-sécurité, chaos sécurité et une robustesse relative.
641 Pour étendre le champ applicatif, nous avons proposé un second algorithme
642 permettant de particulariser la marque à embarquer et donc à extraire.
643 Le chapitre suivant s'intéresse au marquage, mais dans un autre domaine que celui des images.
644