X-Git-Url: https://bilbo.iut-bm.univ-fcomte.fr/and/gitweb/hdrcouchot.git/blobdiff_plain/1f464e74c8a635f445b2acf2825ee2b61405e46e..ac26aa33009d503bf9c04a2b00244c5bf723e694:/oxford.tex?ds=sidebyside diff --git a/oxford.tex b/oxford.tex index 1f18e05..b440d77 100644 --- a/oxford.tex +++ b/oxford.tex @@ -1,7 +1,28 @@ -\JFC{Dire que c'est une synthèse du chapitre 22 de la thèse de Tof} +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 +sur tout le support. Ainsi, de tout média, même tronqué, +on peut la réextraire. +Dans ce chapitre, le processus d'embarquement d'un message dans +un média est formalisé en section~\ref{sec:watermarking:formulation}. +La sécurité des approches de watermarking est étudiée selon deux critères: +probabiliste d'une part (section~\ref{sec:watermarking:security:probas}) +et chaotique (section~\ref{sec:watermarking:security:chaos}) d'autre part. +Une proposition d'embarquement dans le domaine fréquentiel est abordée +en section~\ref{sec:watermarking:frequentiel}. +On remarque cependant que l'algorithme formalisé dans ces sections ne permet +d'embarquer \textit{in fine} qu'un bit qui est vrai si l'image est marquée +et faux dans le cas contraire. +Il ne permet pas d'extraire le contenu du message initial à partir de +l'image marquée. La section~\ref{sec:watermarking:extension} +propose une solution à ce problème. -\section{Processus de marquage} +Les trois premières sections de ce chapitre sont une reformulation +du chapitre 22 de~\cite{guyeuxphd}. Elles ont été publiées à~\cite{bcg11:ij}. +L'extension a quant à elle été publiée dans~\cite{bcfg+13:ip}. + + + +\section{Processus de marquage binaire}\label{sec:watermarking:formulation} Par la suite, le message numérique qu'on cherche à embarquer est noté $y$ et le support dans lequel se fait l'insertion est noté $x$. @@ -9,7 +30,7 @@ noté $y$ et le support dans lequel se fait l'insertion est noté $x$. Le processus de marquage est fondé sur les itérations unaires d'une fonction selon une stratégie donnée. Cette fonction et cette stratégie sont paramétrées par un entier naturel permettant à la méthode d'être -appliquable à un média de n'importe quelle taille. +applicable à un média de n'importe quelle taille. On parle alors respectivement de \emph{mode} et d'\emph{adapteur de stratégies} \subsection{Embarquement} @@ -31,13 +52,13 @@ dans lui même. de $\Nats$ dans l'ensemble des séquences d'entiers qui associe à chaque entier naturel $\mathsf{N}$ la suite - $S \in \llbracket 1, n\rrbracket^{\mathds{N}}$. + $S \in [\mathsf{N}]^{\mathds{N}}$. \end{Def} On définit par exemple l'adapteur CIIS (\emph{Chaotic Iterations with Independent Strategy}) paramétré par $(K,y,\alpha,l) \in [0,1]\times [0,1] \times ]0, 0.5[ \times \mathds{N}$ -qui associe à chque entier $n \in \Nats$ la suite +qui associe à chaque entier $\mathsf{N} \in \Nats$ la suite $(S^t)^{t \in \mathds{N}}$ définie par: \begin{itemize} \item $K^0 = \textit{bin}(y) \oplus \textit{bin}(K)$: $K^0$ est le nombre binaire (sur 32 bits) @@ -45,10 +66,10 @@ $(S^t)^{t \in \mathds{N}}$ définie par: entre les décompositions binaires sur 32 bits des réels $y$ et $K$ (il est aussi compris entre 0 et 1), \item $\forall t \leqslant l, K^{t+1} = F(K^t,\alpha)$, - \item $\forall t \leqslant l, S^t = \left \lfloor n \times K^t \right \rfloor + 1$, + \item $\forall t \leqslant l, S^t = \left \lfloor \mathsf{N} \times K^t \right \rfloor + 1$, \item $\forall t > l, S^t = 0$, \end{itemize} -où est la fonction chaotique linéaire par morceau~\cite{Shujun1}. +où $F$ est la fonction chaotique linéaire par morceau~\cite{Shujun1}. Les paramètres $K$ et $\alpha$ de cet adapteur de stratégie peuvent être vus comme des clefs. On remarque que cette stratégie est unaire. @@ -63,24 +84,24 @@ Ceci se fait à l'aide d'une fonction de signification. \begin{Def}[Fonction de signification ] Une \emph{fonction de signification } -est une fonction $u$ qui a toute +est une fonction $u$ qui à toute séquence finie de bit $x$ associe la séquence $(u^k(x))$ de taille $\mid x \mid$ à valeur dans les réels. Cette fonction peut dépendre du message $y$ à embarquer, ou non. \end{Def} -Pour alléger le discours, par la suite, on nottera $(u^k(x))$ pour $(u^k)$ +Pour alléger le discours, par la suite, on notera $(u^k(x))$ pour $(u^k)$ lorsque cela n'est pas ambigüe. -Il reste à partionner les bits de $x$ selon qu'ils sont +Il reste à partitionner les bits de $x$ selon qu'ils sont peu, moyennement ou très significatifs. \begin{Def}[Signification des bits]\label{def:msc,lsc} Soit $u$ une fonction de signification, $m$ et $M$ deux réels t.q. $m < M$. Alors: -$u_M$, $u_m$ et $u_p$ sont les vecteurs finis respectivements des +$u_M$, $u_m$ et $u_p$ sont les vecteurs finis respectivement des \emph{bits les plus significatifs (MSBs)} de $x$, \emph{bits les moins significatifs (LSBs)} de $x$ -\emph{bits passifs} of $x$ définis par: +\emph{bits passifs} de $x$ définis par: \begin{eqnarray*} u_M &=& \left( k ~ \big|~ k \in \mathds{N} \textrm{ et } u^k \geqslant M \textrm{ et } k \le \mid x \mid \right) \\ @@ -91,7 +112,7 @@ u^k \in ]m;M[ \textrm{ et } k \le \mid x \mid \right) \end{eqnarray*} \end{Def} -On peut alors définir une fonction de décompostion +On peut alors définir une fonction de décomposition puis de recomposition pour un hôte $x$: @@ -110,7 +131,7 @@ avec La fonction qui associe $(u_M,u_m,u_p,\phi_{M},\phi_{m},\phi_{p})$ pour chaque hôte $x$ est la \emph{fonction de décomposition}, plus tard notée $\textit{dec}(u,m,M)$ puisqu'elle est paramétrée par -$u$, $m$ and $M$. +$u$, $m$ et $M$. \end{Def} @@ -125,7 +146,7 @@ $(u_M,u_m,u_p,\phi_{M},\phi_{m},\phi_{p}) \in \mathfrak{B} $ tel que \begin{itemize} -\item les ensembles $u_M$, $u_m$ et $u_p$ forment une partition de $[n]$; +\item les ensembles $u_M$, $u_m$ et $u_p$ forment une partition de $[\mathsf{N}]$; \item $|u_M| = |\varphi_M|$, $|u_m| = |\varphi_m|$ et $|u_p| = |\varphi_p|$. \end{itemize} Soit la base canonique sur l'espace vectoriel $\mathds{R}^{\mid x \mid}$ composée des vecteurs @@ -164,12 +185,12 @@ On peut étendre l'algorithme dhCI~\cite{gfb10:ip} d'embarquement de message com \begin{Def}[Embarquement dhCI étendu] \label{def:dhCI:ext} -Soit $\textit{dec}(u,m,M)$ une function de décomposition, +Soit $\textit{dec}(u,m,M)$ une fonction de décomposition, $f$ un mode, $\mathcal{S}$ un adapteur de stratégie, $x$ un hôte, $(u_M,u_m,u_p,\phi_{M},\phi_{m},\phi_{p})$ -sont image par $\textit{dec}(u,m,M)$, +son image par $\textit{dec}(u,m,M)$, $q$ un entier naturel positif et $y$ un média numérique de taille $l=|u_m|$. @@ -180,7 +201,7 @@ $\hat{y}$ dans $x$, t. q.: \begin{itemize} \item le mode $f$ est instancié avec le paramètre $l=|u_m|$, engendrant la fonction $f_{l}:\Bool^{l} \rightarrow \Bool^{l}$; -\item l'adapteur de stratégie $\mathcal{S}$ est intancié avec le paramètre +\item l'adapteur de stratégie $\mathcal{S}$ est instancié avec le paramètre $y$, engendrant une stratégie $S_y \in [l]$; \item on itère la fonction $G_{f_l}$ en prenant la configuration initiale $(S_y,\phi_{m})$ selon le schéma défini @@ -196,298 +217,429 @@ La figure~\ref{fig:organigramme} synthétise la démarche. \centering %\includegraphics[width=8.5cm]{organigramme2.pdf} \includegraphics[width=8.5cm]{organigramme22} -\caption{The dhCI dissimulation scheme} +\caption{Le schéma de marquage dhCI} \label{fig:organigramme} \end{figure} -\subsection{Détection d'un media marqué}\label{sub:wmdecoding} +\subsection{Détection d'un média marqué}\label{sub:wmdecoding} On caractérise d'abord ce qu'est un média marqué selon la méthode énoncée à la section précédente. On considère que l'on connaît -la marque à embarquer $y$, le support $x$ et que l'on a face à soit un média +la marque à embarquer $y$, le support $x$ et que l'on a face à soi un média $z$. -\begin{definition}[Média marqué] -Soit $\textit{dec}(u,m,M)$ une fonction de décomposition +\begin{Def}[Média marqué] +Soit $\textit{dec}(u,m,M)$ une fonction de décomposition, $f$ un mode, -$\mathcal{S}$ un adapteur de stratégie +$\mathcal{S}$ un adapteur de stratégie, $q$ un entier naturel strictement positif, $y$ un média digital et soit $(u_M,u_m,u_p,\phi_{M},\phi_{m},\phi_{p})$ l'image par $\textit{dec}(u,m,M)$ du média $x$. Alors, $z$ est \emph{marqué} avec $y$ si l'image -par $\textit{dec}(u,m,M)$ of $z$ is +par $\textit{dec}(u,m,M)$ de $z$ est $(u_M,u_m,u_p,\phi_{M},\hat{y},\phi_{p})$, où $\hat{y}$ est le second membre de $G_{f_l}^q(S_y,\phi_{m})$. -\end{definition} +\end{Def} % Plusieurs stratégies peuvent être utilisées pour déterminer si une image $z$ % est marquée, en particulier si l'image a été attaquée entre temps. % On s'intéressera aux mesures de similarité entre $x$ et $z$. -\section{Analyse de sécurité}\label{sec:security} - - - - -As far as we know, Cachin~\cite{Cachin2004} -produces the first fundamental work in information hiding security: -in the context of steganography, the attempt of an attacker to distinguish -between an innocent image and a stego-content is viewed as an hypothesis -testing problem. -Mittelholzer~\cite{Mittelholzer99} next proposed the first theoretical -framework for analyzing the security of a watermarking scheme. -Clarification between robustness and security -and classifications of watermarking attacks -have been firstly presented by Kalker~\cite{Kalker2001}. -This work has been deepened by Furon \emph{et al.}~\cite{Furon2002}, who have translated Kerckhoffs' principle (Alice and Bob shall only rely on some previously shared secret for privacy), from cryptography to data hiding. - -More recently~\cite{Cayre2005,Perez06} classified the information hiding -attacks into categories, according to the type of information the attacker (Eve) -has access to: -\begin{itemize} -\item in Watermarked Only Attack (WOA) she only knows embedded contents $z$; -\item in Known Message Attack (KMA) she knows pairs $(z,y)$ of embedded - contents and corresponding messages; -\item in Known Original Attack (KOA) she knows several pairs $(z,x)$ - of embedded contents and their corresponding original versions; -\item in Constant-Message Attack (CMA) she observes several embedded - contents $z^1$,\ldots,$z^k$ and only knows that the unknown - hidden message $y$ is the same in all contents. -\end{itemize} - -To the best of our knowledge, -KMA, KOA, and CMA have not already been studied -due to the lack of theoretical framework. -In the opposite, security of data hiding against WOA can be evaluated, -by using a probabilistic approach recalled below. - - - - -\subsection{Stego-security}\label{sub:stegosecurity} -%\input{stegosecurity} +\section{Analyse de sécurité (probabilistes)}\label{sec:watermarking:security:probas} -In the Simmons' prisoner problem~\cite{Simmons83}, Alice and Bob are in jail and -they want to, possibly, devise an escape plan by exchanging hidden messages in -innocent-looking cover contents. These messages are to be conveyed to one -another by a common warden named Eve, who eavesdrops all contents and can choose -to interrupt the communication if they appear to be stego-contents. +Récemment~\cite{Cayre2005,Perez06} ont proposé des classes de sécurité pour le +marquage d'information. Parmi celles-ci, la stego-sécurité a été au centre +des travaux puisqu'elle représente la classe la plus élevée dans le contexte où +l'attaquant n'a accès qu'à l'hôte marqué $z$. -Stego-security, defined in this well-known context, is the highest security -class in Watermark-Only Attack setup, which occurs when Eve has only access to -several marked contents~\cite{Cayre2008}. +Cette définition probabiliste est rappelée ci-après. +Soit $\mathds{K}$ un ensemble de clefs, $p(X)$ un modèle probabiliste +de $N_0$ hôtes, et $p(Y|K)$ le modèle probabiliste de $N_0$ contenus marqués avec la +même clé $K$ et le même algorithme d'embarquement. +\begin{Def}[Stégo-Sécurité~\cite{Cayre2008}] +\label{Def:Stego-security} +La fonction d'embarquement est \emph{stégo-sécure} +si la propriété $\forall K \in \mathds{K}, p(Y|K)=p(X)$ est établie. +\end{Def} -Let $\mathds{K}$ be the set of embedding keys, $p(X)$ the probabilistic model of -$N_0$ initial host contents, and $p(Y|K)$ the probabilistic model of $N_0$ -marked contents s.t. each host content has been marked -with the same key $K$ and the same embedding function. - -\begin{definition}[Stego-Security~\cite{Cayre2008}] -\label{Def:Stego-security} The embedding function is \emph{stego-secure} -if $\forall K \in \mathds{K}, p(Y|K)=p(X)$ is established. -\end{definition} +Il a déjà été démontré~\cite{guyeuxphd,gfb10:ip} +que l'algorithme de marquage dont le mode est la fonction +négation est stégo-sécure. +Un des intérêts de l'algorithme présenté ici est qu'il est paramétré par un mode. +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 +stochastique), on a un marquage qui peut être rendu stégo-sécure à $\varepsilon$ près, +ce que précise le théorème suivant. La preuve de ce théorème est donnée +en annexes~\ref{anx:marquage}. +\begin{restatable}[$\varepsilon$-stego sécurité]{theorem}{theoremstegoscureepsilon} +\label{th:stego} +Soit $\varepsilon$ un nombre positif, +$l$ un nombre de LSBs, +$X \sim \mathbf{U}\left(\mathbb{B}^l\right)$, +un adapteur de stratégie uniformément distribué indépendant de $X$ +$f_l$ un mode tel que +$\textsc{giu}(f_l)$ est fortement connexe et la +matrice de Markov associée à $f_l$ est doublement stochastique. +Il existe un nombre $q$ d'itérations tel que +$|p(Y|K)- p(X)| < \varepsilon$. +\end{restatable} -%Let $\mathds{K}$ be the set of embedding keys, $p(X)$ the probabilistic model of -%$N_0$ initial host contents, and $p(Y|K)$ the probabilistic model of $N_0$ -%marked contents s.t. each host content has been marked -%with the same key $K$ and the same embedding function. +\section{Analyse de sécurité (chaos)}\label{sec:watermarking:security:chaos} +On rappelle uniquement la définition de chaos-sécurité +introduite dans~\cite{guyeuxphd}. -%\begin{definition}[Stego-Security] -%\label{Def:Stego-security} The embedding function is \emph{stego-secure} -%if $\forall K \in \mathds{K}, p(Y|K)=p(X)$ is established. -%\end{definition} - Stego-security states that the knowledge of $K$ does not help to make the - difference between $p(X)$ and $p(Y)$. This definition implies the following - property: - $$p(Y|K_1)= \cdots = p(Y|K_{N_k})=p(Y)=p(X)$$ - This property is equivalent to a zero Kullback-Leibler divergence, which is the - accepted definition of the "perfect secrecy" in steganography~\cite{Cachin2004}. +\begin{Def}[Chaos-sécurité] +\label{DefinitionChaosSecure} +Un schéma de marquage $S$ est chaos-sécure sur un espace topologique +$(\mathcal{X},\tau)$ +si sa version itérative +a un comportement chaotique sur celui-ci. +\end{Def} +Tout repose ainsi sur la capacité que l'on a à produire des fonctions +dont le graphe des itérations unaires sera fortement connexe. +Ceci a déjà été traité au chapitre~\ref{chap:carachaos}. +La seule complexité est l'adaptabilité de la fonction au nombre $l$ de LSBs. + +On considère par exemple le mode +$f_l: \Bool^l \rightarrow \Bool^l$ t.q. le $i^{\textrm{ème}}$ composant +est défini par +\begin{equation} +{f_l}(x)_i = +\left\{ +\begin{array}{l} +\overline{x_i} \textrm{ si $i$ est impair} \\ +x_i \oplus x_{i-1} \textrm{ si $i$ est pair} +\end{array} +\right. +\end{equation}\label{eq:fqq} + +on peut déduire immédiatement du théorème~\ref{th:Adrien} (chap.~\ref{chap:carachaos}) +que le graphe $\textsc{giu}(f_l)$ est fortement connexe. +La preuve de double-stochasticité de la matrice associée +à $f_l$ est donnée en annexe~\ref{anx:marquage:dblesto}. +On dispose ainsi d'un nouvel algorithme de marquage $\varepsilon$-stégo-sécure et +chaos-sécure. + +\section{Applications aux domaines fréquentiels}\label{sec:watermarking:frequentiel} +Le schéma d'algorithme présenté dans ce chapitre a été appliqué au marquage d'images +dans les coefficients DCT et les DWT. + +\subsection{Fonction de signification pour l'embarquement dans les DCT} + +On considère un hôte $x$ de taille $H \times L$ dans le domaine fréquentiel DCT. +Dans chaque bloc de taille $8\times 8$, à chaque bit +la fonction de signification $u$ associe -\subsection{The negation mode is stego-secure} -To make this article self-contained, this section recalls theorems and proofs of stego-security for negation mode published in~\cite{gfb10:ip}. +\begin{itemize} +\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)\}$, +\item 1 si c'est un bit apparaissant dans la représentation binaire de la valeur + d'un coefficient dont les + coordonnées appartiennent à $\{(3,1),(2,2),(1,3)\}$ et qui n'est pas un des trois + bits de poids faible de cette représentation, +\item -1 si c'est un bit apparaissant dans la représentation binaire +de la valeur d'un coefficient dont les + coordonnées appartiennent à $\{(3,1),(2,2),(1,3)\}$ et qui est un des + trois bits de poids faible de cette valeur, +\item 0 sinon. +\end{itemize} +Le choix de l'importance de chaque coefficient est défini grâce aux seuils +$(m,M)=(-0.5,0.5)$ +permettant d'engendrer les MSBs, LSBs, et bits passifs. -\begin{proposition} \emph{dhCI dissimulation} of Definition \ref{def:dhCI} with -negation mode and CIIS strategy-adapter is stego-secure, whereas it is not the -case when using CIDS strategy-adapter. -\end{proposition} +\subsection{Fonction de signification pour l'embarquement dans les DWT} -\begin{proof} On the one hand, let us suppose that $X \sim -\mathbf{U}\left(\mathbb{B}^n\right)$ when using \linebreak CIIS$(K,\_,\_,l)$. -We prove by a -mathematical induction that $\forall t \in \mathds{N}, X^t \sim -\mathbf{U}\left(\mathbb{B}^n\right)$. +On considère un hôte dans le domaine des DWT. La fonction de signification +se concentre sur les seconds niveaux de détail (\textit{i.e.}, LH2, HL2 et HH2). +Pour chaque bit, on dit qu'il est peu significatif si c'est un des trois bits de +poids faible d'un coefficient de LH2, HL2 ou de HH2. +Formellement à chaque bit +la fonction de signification $u$ associe -The base case is immediate, as $X^0 = X \sim -\mathbf{U}\left(\mathbb{B}^n\right)$. Let us now suppose that the statement $X^t -\sim \mathbf{U}\left(\mathbb{B}^n\right)$ holds until for some $t$. -Let $e \in -\mathbb{B}^n$ and \linebreak $\mathbf{B}_k=(0,\cdots,0,1,0,\cdots,0) \in -\mathbb{B}^n$ (the digit $1$ is in position $k$). +\begin{itemize} +\item 1 si c'est un bit apparaissant dans la représentation binaire de la valeur d'un coefficient de type LL2, +\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 + bits de poids faible de cette représentation, +\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 + bits de poids faible de cette représentation, +\item -1 sinon. +\end{itemize} +Le choix de l'importance de chaque coefficient est encore défini grâce aux seuils +$(m,M)=(-0.5,0.5)$ +permettant d'engendrer les MSBs, LSBs, et bits passifs. + + +\subsection{Etude de robustesse} +Cette partie synthétise une étude de robustesse de la démarche présentée ci-avant. +Dans ce qui suit, {dwt}(neg), +{dwt}(fl), {dct}(neg), {dct}(fl) +correspondant respectivement aux embarquements en fréquentiels +dans les domaines DWT et DCT +avec le mode de négation et celui issu de la fonction $f_l$ +détaillée à l'équation~\ref{eq:fqq}. + +A chaque série d'expériences, un ensemble de 50 images est choisi aléatoirement +de la base du concours BOSS~\cite{Boss10}. Chaque hôte est une image +en $512\times 512$ en niveau de gris et la marque $y$ est une suite de +4096 bits. +La résistance à la robustesse est évaluée en appliquant successivement +sur l'image marquée des attaques de découpage, de compression, de +transformations géométriques. +Si les différences entre $\hat{y}$ and $\varphi_m(z)$. +sont en dessous d'un seuil (que l'on définit), +l'image est dite marquée (et non marquée dans le cas contraire). +Cette différence exprimée en pourcentage est rappelée pour chacune des attaques +à la figure~\ref{fig:atq:dhc}. -So -$P\left(X^{t+1}=e\right)=\sum_{k=1}^n -P\left(X^t=e\oplus\mathbf{B}_k,S^t=k\right)$ where -$\oplus$ is again the bitwise exclusive or. -These two events are independent when -using CIIS strategy-adapter -(contrary to CIDS, CIIS is not built by using $X$), - thus: -$$P\left(X^{t+1}=e\right)=\sum_{k=1}^n -P\left(X^t=e\oplus\mathbf{B}_k\right) \times P\left(S^t=k\right).$$ -According to the -inductive hypothesis: $P\left(X^{n+1}=e\right)=\frac{1}{2^n} \sum_{k=1}^n -P\left(S^t=k\right)$. The set of events $\left \{ S^t=k \right \}$ for $k \in -\llbracket 1;n \rrbracket$ is a partition of the universe of possible, so -$\sum_{k=1}^n P\left(S^t=k\right)=1$. Finally, -$P\left(X^{t+1}=e\right)=\frac{1}{2^n}$, which leads to $X^{t+1} \sim -\mathbf{U}\left(\mathbb{B}^n\right)$. This result is true for all $t \in -\mathds{N}$ and then for $t=l$. +\begin{figure}[ht] + \centering + \subfigure[Découpage]{ + \includegraphics[width=0.5\textwidth]{atq-dec}\label{Fig:atq:dec:curves} + } + \subfigure[Compression JPEG]{ + \includegraphics[width=0.45\textwidth]{atq-jpg}\label{Fig:atq:jpg:curves} + } + \subfigure[Compression JPEG 2000]{ + \includegraphics[width=0.45\textwidth]{atq-jp2}\label{Fig:atq:jp2:curves} + } + \subfigure[Modification du contraste]{ + % \includegraphics[width=0.45\textwidth]{atq-contrast.pdf}\label{Fig:atq:cont:curve}} + \includegraphics[width=0.45\textwidth]{atq-contrast}\label{Fig:atq:cont:curve} + } + \subfigure[Accentuation des bords]{ + % \includegraphics[width=0.45\textwidth]{atq-flou.pdf}\label{Fig:atq:sh:curve}} + \includegraphics[width=0.45\textwidth]{atq-flou}\label{Fig:atq:sh:curve} + } + \subfigure[Rotation]{ + % \includegraphics[width=0.45\textwidth]{atq-rot.pdf}\label{Fig:atq:rot:curve}} + \includegraphics[width=0.45\textwidth]{atq-rot}\label{Fig:atq:rot:curve} + } +\caption{Illustration de la robustesse}\label{fig:atq:dhc} +\end{figure} -Since $P(Y|K)$ is $P(X^l)$ that is proven to be equal to $P(X)$, -we thus have established that, -$$\forall K \in [0;1], P(Y|K)=P(X^{l})=P(X).$$ -So dhCI dissimulation with CIIS -strategy-adapter is stego-secure. -On the other hand, due to the definition of CIDS, we have \linebreak -$P(Y=(1,1,\cdots,1)|K)=0$. -%\JFC{Pourquoi? Justifier davantage là ou dans la def de CIDS} -So there is no uniform repartition for the stego-contents $Y|K$. -\end{proof} +\subsection{Évaluation de l'embarquement}\label{sub:roc} +Pour évaluer le seuil qui permet de dire avec la plus grande précision +si une image est marquée ou non, nous avons appliqué la démarche suivante. +A partir d'un ensemble de 100 images du challenge BOSS, les trois +ensembles suivants sont construits: celui des images marquées $W$, +celui contenant des images marquées puis attaquée $\textit{WA}$, +et celui des images uniquement attaquées $A$. Les attaques sont choisies parmi +celles données ci dessus. +Pour chaque entier $t$ entre 5 et 55 +et chaque image $x \in \textit{WA} \cup A$, +on calcule la différence entre $\hat{y}$ et $\varphi_m(z)$. +L'image est dite marquée si cette différence est en dessous du seuil $t$ considéré +\begin{itemize} +\item si elle est dite marquée et si $x$ appartient à $\textit{WA}$ + c'est un vrai cas positif (TP); +\item si elle est dite non marquée et si $x$ appartient cependant à $\textit{WA}$ + c'est un faux cas négatif (FN); +\item si elle est dite marquée et si $x$ appartient cependant à $\textit{A}$ + c'est un faux cas positif (FP); +\item enfin si elle est dite non marquée et si $x$ appartient à $\textit{A}$ + c'est un vrai cas négatif (TN). +\end{itemize} -To sum up, Alice and Bob can counteract Eve's attacks in WOA setup, when using -dhCI dissimulation with CIIS strategy-adapter. To our best knowledge, this is -the second time an information hiding scheme has been proven to be stego-secure: -the former was the spread-spectrum technique in natural marking -configuration with $\eta$ parameter equal to 1 \cite{Cayre2008}. +\begin{figure}[ht] +\begin{center} +\includegraphics[width=7cm]{ROC} +\end{center} +\caption{Courbes ROC de seuils de détection}\label{fig:roc:dwt} +\end{figure} +La courbe ROC construite à partir des points de coordonnées (TP,FP) issus +de ces seuils est +donnée à la figure~\ref{fig:roc:dwt}. +Pour la fonction $f_l$ et pour la fonction négation respectivement, +la détection est optimale pour le seuil de 45\% correspondant au point (0.01, 0.88) +et pour le seuil de 46\% correspondant au point (0.04, 0.85) +dans le domaine DWT. +Pour les deux modes dans le domaine DCT, +la détection est optimale pour le seuil de 44\% +(correspondant aux points (0.05, 0.18) et (0.05, 0.28)). +On peut alors donner des intervalles de confiance pour les attaques évaluées. +L'approche est résistante: +\begin{itemize} +\item à tous les découpages où le pourcentage est inférieur à 85\%; +\item aux compression dont le ratio est supérieur à 82\% dans le domaine + DWT et 67\% dans celui des DCT; +\item aux modifications du contraste lorsque le renforcement est dans + $[0.76,1.2]$ dans le domaine DWT et $[0.96,1.05]$ dans le domaine DCT; +\item à toutes les rotations dont l'angle est inférieur à 20 degrés dans le domaine DCT et + celles dont l'angle est inférieur à 13 degrés dans le domaine DWT. +\end{itemize} +\section{Embarquons davantage qu'1 bit}\label{sec:watermarking:extension} +L'algorithme présenté dans les sections précédentes +ne permet de savoir, \textit{in fine}, +que si l'image est marquée ou pas. Cet algorithme ne permet pas +de retrouver le contenu de la marque à partir de l'image marquée. +C'est l'objectif de l'algorithme présenté dans cette section et introduit +dans~\cite{fgb11:ip}. +Pour des raisons de lisibilité, il n'est pas +présenté dans le formalisme de la première section et +est grandement synthétisé. +Il a cependant été prouvé comme étant chaos-sécure~\cite{fgb11:ip}. -\subsection{A new class of $\varepsilon$-stego-secure schemes} -Let us prove that, -\begin{theorem}\label{th:stego} -Let $\epsilon$ be positive, -$l$ be any size of LSCs, -$X \sim \mathbf{U}\left(\mathbb{B}^l\right)$, -$f_l$ be an image mode s.t. -$\Gamma(f_l)$ is strongly connected and -the Markov matrix associated to $f_l$ -is doubly stochastic. -In the instantiated \emph{dhCI dissimulation} algorithm -with any uniformly distributed (u.d.) strategy-adapter -that is independent from $X$, -there exists some positive natural number $q$ s.t. -$|p(X^q)- p(X)| < \epsilon$. -\end{theorem} - - -\begin{proof} -Let $\textit{deci}$ be the bijection between $\Bool^{l}$ and -$\llbracket 0, 2^l-1 \rrbracket$ that associates the decimal value -of any binary number in $\Bool^{l}$. -The probability $p(X^t) = (p(X^t= e_0),\dots,p(X^t= e_{2^l-1}))$ for $e_j \in \Bool^{l}$ is thus equal to -$(p(\textit{deci}(X^t)= 0,\dots,p(\textit{deci}(X^t)= 2^l-1))$ further denoted by $\pi^t$. -Let $i \in \llbracket 0, 2^l -1 \rrbracket$, -the probability $p(\textit{deci}(X^{t+1})= i)$ is -\[ - \sum\limits^{2^l-1}_{j=0} -\sum\limits^{l}_{k=1} -p(\textit{deci}(X^{t}) = j , S^t = k , i =_k j , f_k(j) = i_k ) -\] -\noindent -where $ i =_k j $ is true iff the binary representations of -$i$ and $j$ may only differ for the $k$-th element, -and where -$i_k$ abusively denotes, in this proof, the $k$-th element of the binary representation of -$i$. - -Next, due to the proposition's hypotheses on the strategy, -$p(\textit{deci}(X^t) = j , S^t = k , i =_k j, f_k(j) = i_k )$ is equal to -$\frac{1}{l}.p(\textit{deci}(X^t) = j , i =_k j, f_k(j) = i_k)$. -Finally, since $i =_k j$ and $f_k(j) = i_k$ are constant during the -iterative process and thus does not depend on $X^t$, we have -\[ -\pi^{t+1}_i = \sum\limits^{2^l-1}_{j=0} -\pi^t_j.\frac{1}{l} -\sum\limits^{l}_{k=1} -p(i =_k j, f_k(j) = i_k ). -\] +Commençons par quelques conventions de notations: +\begin{itemize} +\item $\mathbb{S}_\mathsf{k}$ est l'ensemble des stratégies unairesx sur $[k]$; +\item $m^0 \in \mathbb{B}^{\mathsf{P}}$ est un vecteur de $\mathsf{P}$ bits + représentant la marque; +\item comme précédemment, + $x^0 \in \mathbb{B}^\mathsf{N}$ est le vecteurs des + $\mathsf{N}$ bits sélectionnés où la marque est embarquée. + \item $S_p \in \mathbb{S}_\mathsf{N}$ + est la \emph{stratégie de place} et définit quel + élément de $x$ est modifié à chaque itération; + \item $S_c \in \mathbb{S}_\mathsf{P}$ est la \textbf{stratégie de choix} + qui définit quel indice du vecteur de marque est embarqué à chaque + itération; + \item $S_m \in \mathbb{S}_\mathsf{P}$ est la \textbf{stratégie de mélange} + qui précise quel élément de la marque est inversé à chaque itération. +\end{itemize} -Since -$\frac{1}{l} -\sum\limits^{l}_{k=1} -p(i =_k j, f_k(j) = i_k ) -$ is equal to $M_{ji}$ where $M$ is the Markov matrix associated to - $f_l$ we thus have -\[ -\pi^{t+1}_i = \sum\limits^{2^l-1}_{j=0} -\pi^t_j. M_{ji} \textrm{ and thus } -\pi^{t+1} = \pi^{t} M. -\] +% In what follows, $x^0$ and $m^0$ are sometimes replaced by +% $x$ and $m$ for the sake of brevity, +% when such abridge does not introduce confusion. + + +% \subsection{The $\CID$ scheme}\label{sub:ci2:scheme} +Le processus itératif modifiant $x$ est défini comme suit. +Pour chaque $(n,i,j) \in +\mathds{N}^{\ast} \times \llbracket 0;\mathsf{N}-1\rrbracket \times \llbracket +0;\mathsf{P}-1\rrbracket$, on a: +\begin{equation*} +\left\{ +\begin{array}{l} +x_i^n=\left\{ +\begin{array}{ll} +x_i^{n-1} & \text{ si }S_p^n\neq i \\ +m_{S_c^n}^{n-1} & \text{ si }S_p^n=i. +\end{array} +\right. +\\ +\\ +m_j^n=\left\{ +\begin{array}{ll} +m_j^{n-1} & \text{ si }S_m^n\neq j \\ + & \\ +\overline{m_j^{n-1}} & \text{ si }S_m^n=j. +\end{array} +\right. +\end{array} +\right. +\end{equation*} +%\end{Def} +\noindent où $\overline{m_j^{n-1}}$ est la négation booléenne de $m_j^{n-1}$. +On impose de plus la contrainte suivante. +Soit $\Im(S_p) = \{S^1_p, S^2_p, \ldots, S^l_p\}$ +l'ensemble de cardinalité $k \leq l$ (les doublons sont supprimés). +qui contient la liste des indices $i$, $1 \le i \le p$, +tels que $x_i$ a été modifié. +On considère $\Im(S_c)_{|D}= \{S^{d_1}_c, S^{d_2}_c, \ldots, S^{d_k}_c\}$ +où +$d_i$ est la dernière date où l'élément $i \in \Im(S_p)$ a été modifié. +Cet ensemble doit être égal à $\llbracket 0 ;\mathsf{P} -1 \rrbracket$. + +Pour peu que l'on sache satisfaire la contrainte précédente, +on remplace $x $ par $x^l \in \mathbb{B}^{\mathsf{N}}$ dans +l'hôte et on obtient un contenu marqué. + + +Sans attaque, le schéma doit garantir qu'un utilisateur qui dispose des bonnes +clefs de création des stratégies est capable d'extraire une marque et que +celle-ci est la marque insérée. +Ceci correspond respectivement aux propriétés de complétude et de correction +de l'approche. +L'étude de ces propriétés est l'objectif de la section qui suit. + + + + + + +\subsection{Correction et complétude du schéma}\label{sub:ci2:discussion} + +On ne donne ici que le théorème. La preuve est placée en annexes~\ref{anx:preuve:marquage:correctioncompletue}. + +\begin{restatable}[Correction et complétude du marquage]{theorem}{marquagecorrectioncompl} +La condition de l'algorithme de marquage est nécessaire et suffisante +pour permettre l'extraction du message du média marqué. +\end{restatable} + +Sous ces hypothèse, on peut donc extraire un message. +De plus, le cardinal $k$ de +$\Im(S_p)$ est supérieur ou égal à $\mathsf{P}$. +Ainsi le bit $j$ du message original $m^0$ peut être +embarqué plusieurs fois dans $x^l$. +Or, en comptant le nombre de fois où ce bit a été inversé dans +$S_m$, la valeur de $m_j$ peut se déduire en plusieurs places. +Sans attaque, toutes ces valeurs sont identiques +et le message est obtenu immédiatement. +Si attaque il y a, la valeur de $m_j$ peut s'obtenir en prenant la valeur +moyenne de toutes les valeurs obtenues. + +\subsection{Détecter si le média est marqué}\label{sub:ci2:distances} +On considère un média $y$ marqué par un message $m$. +Soit $y'$ une version altérée de $y$, c.-à-d. une version +où certains bits ont été modifiés et soit +$m'$ le message extrait de $y'$. + +Pour mesurer la distance entre $m'$ et $m$, on +considère respectivement +$M$ et $M'$ l'ensemble des indices de $m$ et de $m'$ +où $m_i$ vaut 1 et ou $m'_1$ vaut 1. + +Beaucoup de mesures de similarité~\cite{yule1950introduction,Anderberg-Cluster-1973,Rifqi:2000:DPM:342947.342970}, dépendent des ensembles +$a$, $b$, $c$ et $d$ définis par +$a = |M \cap M' |$, +$b = |M \setminus M' |$, +$c = |M' \setminus M|$ et +$d = |\overline{M} \cap \overline{M'}|$ + +Selon ~\cite{rifq/others03} la mesure de Fermi-Dirac $S_{\textit{FD}}$ +est celle dont le pouvoir de discrimination est le plus fort, +c.-à-d. celle qui permet la séparation la plus forte entre des vecteurs +corrélés et des des vecteurs qui ne le sont pas. +La distance entre $m$ et $m'$ est construite selon cette mesure +et produit un réel dans $[0;1]$. Si elle est inférieure à un certain +seuil (à définir), le média $y'$ est déclaré +comme marqué et le message doit pouvoir être extrait. + +\subsection{Etude de robustesse}\label{sec:watermarking:robustesse} +La méthode d'expérimentation de robustesse appliquée à la section précédente +pourrait être réappliquée ici et nous pourrions obtenir, grâce aux courbes de +ROC une valeur seuil pour déterminer si une marque est présente ou pas. +Dans~\cite{bcfg+13:ip}, nous n'avons cependant pas poussé +la démarche plus loin que dans la direction de l'embarquement +dans les bits de poids faible en spatial et l'on sait que ceci est +particulièrement peu robuste. + + +\section{Conclusion} +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 +attendues, à savoir stego-sécurité, chaos sécurité et une robustesse relative. +Pour étendre le champ applicatif, nous avons proposé un second algorithme +permettant de particulariser la marque à embarquer et donc à extraire. +Le chapitre suivant s'intéresse au marquage, mais dans un autre domaine que celui des images. -% The calculus of $p(X^{t+1} = e)$ is thus equal to -% $\pi^{t+1}_i$. - -First of all, -since the graph $\Gamma(f)$ is strongly connected, -then for all vertices $i$ and $j$, a path can -be found to reach $j$ from $i$ in at most $2^l$ steps. -There exists thus $k_{ij} \in \llbracket 1, 2^l \rrbracket$ s.t. -${M}_{ij}^{k_{ij}}>0$. -As all the multiples $l \times k_{ij}$ of $k_{ij}$ are such that -${M}_{ij}^{l\times k_{ij}}>0$, -we can conclude that, if -$k$ is the least common multiple of $\{k_{ij} \big/ i,j \in \llbracket 1, 2^l \rrbracket \}$ thus -$\forall i,j \in \llbracket 1, 2^l \rrbracket, {M}_{ij}^{k}>0$ and thus -$M$ is a regular stochastic matrix. - - -Let us now recall the following stochastic matrix theorem: -\begin{theorem}[Stochastic Matrix] - If $M$ is a regular stochastic matrix, then $M$ - has an unique stationary probability vector $\pi$. Moreover, - if $\pi^0$ is any initial probability vector and - $\pi^{t+1} = \pi^t.M $ for $t = 0, 1,\dots$ then the Markov chain $\pi^t$ - converges to $\pi$ as $t$ tends to infinity. -\end{theorem} - -Thanks to this theorem, $M$ -has an unique stationary probability vector $\pi$. -By hypothesis, since $M$ is doubly stochastic we have -$(\frac{1}{2^l},\dots,\frac{1}{2^l}) = (\frac{1}{2^l},\dots,\frac{1}{2^l})M$ -and thus $\pi = (\frac{1}{2^l},\dots,\frac{1}{2^l})$. -Due to the matrix theorem, there exists some -$q$ s.t. -$|\pi^q- \pi| < \epsilon$ -and the proof is established. -Since $p(Y| K)$ is $p(X^q)$ the method is then $\epsilon$-stego-secure -provided the strategy-adapter is uniformly distributed. - \end{proof} - -This section has focused on security with regards to probabilistic behaviors. -Next section studies it in the perspective of topological ones. - - - -%\subsection{Security in KMA, KOA and CMA setups} -%\input{KMOA.tex}