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

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