1 \JFC{Dire que c'est une synthèse du chapitre 22 de la thèse de Tof}
4 \section{Processus de marquage}
6 Par la suite, le message numérique qu'on cherche à embarquer est
7 noté $y$ et le support dans lequel se fait l'insertion est noté $x$.
9 Le processus de marquage est fondé sur les itérations unaires d'une fonction
10 selon une stratégie donnée. Cette fonction et cette stratégie
11 sont paramétrées par un entier naturel permettant à la méthode d'être
12 appliquable à un média de n'importe quelle taille.
13 On parle alors respectivement de \emph{mode} et d'\emph{adapteur de stratégies}
15 \subsection{Embarquement}
20 Soit $\mathsf{N}$ un entier naturel.
21 Un mode est une application de $\mathds{B}^{\mathsf{N}}$
27 \begin{Def}[Adapteur de Stratégie]
28 \label{def:strategy-adapter}
30 Un \emph{adapteur de stratégie} est une fonction $\mathcal{S}$
31 de $\Nats$ dans l'ensemble des séquences d'entiers
32 qui associe à chaque entier naturel
34 $S \in \llbracket 1, n\rrbracket^{\mathds{N}}$.
38 On définit par exemple l'adapteur CIIS (\emph{Chaotic Iterations with Independent Strategy})
39 paramétré par $(K,y,\alpha,l) \in [0,1]\times [0,1] \times ]0, 0.5[ \times \mathds{N}$
40 qui associe à chque entier $n \in \Nats$ la suite
41 $(S^t)^{t \in \mathds{N}}$ définie par:
43 \item $K^0 = \textit{bin}(y) \oplus \textit{bin}(K)$: $K^0$ est le nombre binaire (sur 32 bits)
44 égal au ou exclusif (xor)
45 entre les décompositions binaires sur 32 bits des réels $y$ et $K$
46 (il est aussi compris entre 0 et 1),
47 \item $\forall t \leqslant l, K^{t+1} = F(K^t,\alpha)$,
48 \item $\forall t \leqslant l, S^t = \left \lfloor n \times K^t \right \rfloor + 1$,
49 \item $\forall t > l, S^t = 0$,
51 où est la fonction chaotique linéaire par morceau~\cite{Shujun1}.
52 Les paramètres $K$ et $\alpha$ de cet adapteur de stratégie peuvent être vus
54 On remarque que cette stratégie est unaire.
59 On peut attribuer à chaque bit du média hôte $x$ sa valeur d'importance
60 sous la forme d'un réel.
61 Ceci se fait à l'aide d'une fonction de signification.
64 \begin{Def}[Fonction de signification ]
65 Une \emph{fonction de signification }
66 est une fonction $u$ qui a toute
67 séquence finie de bit $x$ associe la séquence
68 $(u^k(x))$ de taille $\mid x \mid$ à valeur dans les réels.
69 Cette fonction peut dépendre du message $y$ à embarquer, ou non.
72 Pour alléger le discours, par la suite, on nottera $(u^k(x))$ pour $(u^k)$
73 lorsque cela n'est pas ambigüe.
74 Il reste à partionner les bits de $x$ selon qu'ils sont
75 peu, moyennement ou très significatifs.
77 \begin{Def}[Signification des bits]\label{def:msc,lsc}
78 Soit $u$ une fonction de signification,
79 $m$ et $M$ deux réels t.q. $m < M$. Alors:
80 $u_M$, $u_m$ et $u_p$ sont les vecteurs finis respectivements des
81 \emph{bits les plus significatifs (MSBs)} de $x$,
82 \emph{bits les moins significatifs (LSBs)} de $x$
83 \emph{bits passifs} of $x$ définis par:
85 u_M &=& \left( k ~ \big|~ k \in \mathds{N} \textrm{ et } u^k
86 \geqslant M \textrm{ et } k \le \mid x \mid \right) \\
87 u_m &=& \left( k ~ \big|~ k \in \mathds{N} \textrm{ et } u^k
88 \le m \textrm{ et } k \le \mid x \mid \right) \\
89 u_p &=& \left( k ~ \big|~ k \in \mathds{N} \textrm{ et }
90 u^k \in ]m;M[ \textrm{ et } k \le \mid x \mid \right)
94 On peut alors définir une fonction de décompostion
95 puis de recomposition pour un hôte $x$:
98 \begin{Def}[Fonction de décomposition ]
99 Soit $u$ une fonction de signification,
100 $m$ et $M$ deux réels t.q $m < M$.
101 Tout hôte $x$ peut se décomposer en
102 $(u_M,u_m,u_p,\phi_{M},\phi_{m},\phi_{p})$
105 \item $u_M$, $u_m$, et $u_p$ construits comme à la définition~\label{def:msc,lsc},
106 \item $\phi_{M} = \left( x^{u^1_M}, x^{u^2_M}, \ldots,x^{u^{|u_M|}_M}\right)$,
107 \item $\phi_{m} = \left( x^{u^1_m}, x^{u^2_m}, \ldots,x^{u^{|u_m|}_m} \right)$,
108 \item $\phi_{p} =\left( x^{u^1_p}, x^{u^2_p}, \ldots,x^{u^{|u_p|}_p}\right) $.
110 La fonction qui associe $(u_M,u_m,u_p,\phi_{M},\phi_{m},\phi_{p})$
111 pour chaque hôte $x$ est la \emph{fonction de décomposition}, plus tard notée
112 $\textit{dec}(u,m,M)$ puisqu'elle est paramétrée par
117 \begin{Def}[Recomposition]
119 $(u_M,u_m,u_p,\phi_{M},\phi_{m},\phi_{p}) \in
128 \item les ensembles $u_M$, $u_m$ et $u_p$ forment une partition de $[n]$;
129 \item $|u_M| = |\varphi_M|$, $|u_m| = |\varphi_m|$ et $|u_p| = |\varphi_p|$.
131 Soit la base canonique sur l'espace vectoriel $\mathds{R}^{\mid x \mid}$ composée des vecteurs
132 $e_1, \ldots, e_{\mid x \mid}$.
133 On peut construire le vecteur
136 \sum_{i=1}^{|u_M|} \varphi^i_M . e_{{u^i_M}} +
137 \sum_{i=1}^{|u_m|} \varphi^i_m .e_{{u^i_m}} +
138 \sum_{i=1}^{|u_p|} \varphi^i_p. e_{{u^i_p}}
140 La fonction qui associe $x$ à chaque sextuplet
141 $(u_M,u_m,u_p,\phi_{M},\phi_{m},\phi_{p})$ défini comme ci-dessus est appelée
142 \emph{fonction de recomposition}.
145 Un embarquement consiste à modifier les valeurs de
146 $\phi_{m}$ (de $x$) en tenant compte de $y$.
147 Cela se formalise comme suit:
149 \begin{Def}[Embarquement de message]
150 Soit une fonction de décomposition $\textit{dec}(u,m,M)$,
152 $(u_M,u_m,u_p,\phi_{M},\phi_{m},\phi_{p})$ son image par $\textit{dec}(u,m,M)$,
153 et $y$ un média numérique de taille $|u_m|$.
154 Le média $z$ résultant de l'embarquement d'$y$ dans $x$ est l'image de
155 $(u_M,u_m,u_p,\phi_{M},y,\phi_{p})$
156 par la fonction de recomposition $\textit{rec}$.
158 % $g : \Bool^{|u_m|} \times \Bool^{|u_m|} \to \Bool^{|u_m|} $
159 % est la fonction de modification des bits de $u_m$ selon $y$.
163 On peut étendre l'algorithme dhCI~\cite{gfb10:ip} d'embarquement de message comme suit:
165 \begin{Def}[Embarquement dhCI étendu]
167 Soit $\textit{dec}(u,m,M)$ une function de décomposition,
169 $\mathcal{S}$ un adapteur de stratégie,
171 $(u_M,u_m,u_p,\phi_{M},\phi_{m},\phi_{p})$
172 sont image par $\textit{dec}(u,m,M)$,
173 $q$ un entier naturel positif
174 et $y$ un média numérique de taille $l=|u_m|$.
176 L'algorithme d'embarquement de message associe à chaque
177 couple $(x,y)$ le média $z$ résultat de l'embarquement de
178 $\hat{y}$ dans $x$, t. q.:
181 \item le mode $f$ est instancié avec le paramètre $l=|u_m|$, engendrant la
182 fonction $f_{l}:\Bool^{l} \rightarrow \Bool^{l}$;
183 \item l'adapteur de stratégie $\mathcal{S}$ est intancié avec le paramètre
184 $y$, engendrant une stratégie $S_y \in [l]$;
185 \item on itère la fonction $G_{f_l}$ en prenant la configuration
186 initiale $(S_y,\phi_{m})$ selon le schéma défini
187 à l'équation~(\ref{eq:sch:unaire}).
188 \item $\hat{y}$ est le second membre du $q^{\textrm{ème}}$ terme obtenu.
193 La figure~\ref{fig:organigramme} synthétise la démarche.
197 %\includegraphics[width=8.5cm]{organigramme2.pdf}
198 \includegraphics[width=8.5cm]{organigramme22}
199 \caption{The dhCI dissimulation scheme}
200 \label{fig:organigramme}
206 \subsection{Détection d'un media marqué}\label{sub:wmdecoding}
208 On caractérise d'abord ce qu'est un média marqué selon la méthode énoncée
209 à la section précédente. On considère que l'on connaît
210 la marque à embarquer $y$, le support $x$ et que l'on a face à soit un média
214 \begin{definition}[Média marqué]
215 Soit $\textit{dec}(u,m,M)$ une fonction de décomposition
217 $\mathcal{S}$ un adapteur de stratégie
218 $q$ un entier naturel strictement positif,
219 $y$ un média digital et soit
220 $(u_M,u_m,u_p,\phi_{M},\phi_{m},\phi_{p})$ l'image par
221 $\textit{dec}(u,m,M)$ du média $x$.
222 Alors, $z$ est \emph{marqué} avec $y$ si l'image
223 par $\textit{dec}(u,m,M)$ of $z$ is
224 $(u_M,u_m,u_p,\phi_{M},\hat{y},\phi_{p})$, où
225 $\hat{y}$ est le second membre de $G_{f_l}^q(S_y,\phi_{m})$.
228 % Plusieurs stratégies peuvent être utilisées pour déterminer si une image $z$
229 % est marquée, en particulier si l'image a été attaquée entre temps.
230 % On s'intéressera aux mesures de similarité entre $x$ et $z$.
232 \section{Analyse de sécurité}\label{sec:security}
237 As far as we know, Cachin~\cite{Cachin2004}
238 produces the first fundamental work in information hiding security:
239 in the context of steganography, the attempt of an attacker to distinguish
240 between an innocent image and a stego-content is viewed as an hypothesis
242 Mittelholzer~\cite{Mittelholzer99} next proposed the first theoretical
243 framework for analyzing the security of a watermarking scheme.
244 Clarification between robustness and security
245 and classifications of watermarking attacks
246 have been firstly presented by Kalker~\cite{Kalker2001}.
247 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.
249 More recently~\cite{Cayre2005,Perez06} classified the information hiding
250 attacks into categories, according to the type of information the attacker (Eve)
253 \item in Watermarked Only Attack (WOA) she only knows embedded contents $z$;
254 \item in Known Message Attack (KMA) she knows pairs $(z,y)$ of embedded
255 contents and corresponding messages;
256 \item in Known Original Attack (KOA) she knows several pairs $(z,x)$
257 of embedded contents and their corresponding original versions;
258 \item in Constant-Message Attack (CMA) she observes several embedded
259 contents $z^1$,\ldots,$z^k$ and only knows that the unknown
260 hidden message $y$ is the same in all contents.
263 To the best of our knowledge,
264 KMA, KOA, and CMA have not already been studied
265 due to the lack of theoretical framework.
266 In the opposite, security of data hiding against WOA can be evaluated,
267 by using a probabilistic approach recalled below.
272 \subsection{Stego-security}\label{sub:stegosecurity}
273 %\input{stegosecurity}
276 In the Simmons' prisoner problem~\cite{Simmons83}, Alice and Bob are in jail and
277 they want to, possibly, devise an escape plan by exchanging hidden messages in
278 innocent-looking cover contents. These messages are to be conveyed to one
279 another by a common warden named Eve, who eavesdrops all contents and can choose
280 to interrupt the communication if they appear to be stego-contents.
282 Stego-security, defined in this well-known context, is the highest security
283 class in Watermark-Only Attack setup, which occurs when Eve has only access to
284 several marked contents~\cite{Cayre2008}.
287 Let $\mathds{K}$ be the set of embedding keys, $p(X)$ the probabilistic model of
288 $N_0$ initial host contents, and $p(Y|K)$ the probabilistic model of $N_0$
289 marked contents s.t. each host content has been marked
290 with the same key $K$ and the same embedding function.
292 \begin{definition}[Stego-Security~\cite{Cayre2008}]
293 \label{Def:Stego-security} The embedding function is \emph{stego-secure}
294 if $\forall K \in \mathds{K}, p(Y|K)=p(X)$ is established.
301 %Let $\mathds{K}$ be the set of embedding keys, $p(X)$ the probabilistic model of
302 %$N_0$ initial host contents, and $p(Y|K)$ the probabilistic model of $N_0$
303 %marked contents s.t. each host content has been marked
304 %with the same key $K$ and the same embedding function.
306 %\begin{definition}[Stego-Security]
307 %\label{Def:Stego-security} The embedding function is \emph{stego-secure}
308 %if $\forall K \in \mathds{K}, p(Y|K)=p(X)$ is established.
311 Stego-security states that the knowledge of $K$ does not help to make the
312 difference between $p(X)$ and $p(Y)$. This definition implies the following
314 $$p(Y|K_1)= \cdots = p(Y|K_{N_k})=p(Y)=p(X)$$
315 This property is equivalent to a zero Kullback-Leibler divergence, which is the
316 accepted definition of the "perfect secrecy" in steganography~\cite{Cachin2004}.
319 \subsection{The negation mode is stego-secure}
320 To make this article self-contained, this section recalls theorems and proofs of stego-security for negation mode published in~\cite{gfb10:ip}.
322 \begin{proposition} \emph{dhCI dissimulation} of Definition \ref{def:dhCI} with
323 negation mode and CIIS strategy-adapter is stego-secure, whereas it is not the
324 case when using CIDS strategy-adapter.
328 \begin{proof} On the one hand, let us suppose that $X \sim
329 \mathbf{U}\left(\mathbb{B}^n\right)$ when using \linebreak CIIS$(K,\_,\_,l)$.
331 mathematical induction that $\forall t \in \mathds{N}, X^t \sim
332 \mathbf{U}\left(\mathbb{B}^n\right)$.
334 The base case is immediate, as $X^0 = X \sim
335 \mathbf{U}\left(\mathbb{B}^n\right)$. Let us now suppose that the statement $X^t
336 \sim \mathbf{U}\left(\mathbb{B}^n\right)$ holds until for some $t$.
338 \mathbb{B}^n$ and \linebreak $\mathbf{B}_k=(0,\cdots,0,1,0,\cdots,0) \in
339 \mathbb{B}^n$ (the digit $1$ is in position $k$).
342 $P\left(X^{t+1}=e\right)=\sum_{k=1}^n
343 P\left(X^t=e\oplus\mathbf{B}_k,S^t=k\right)$ where
344 $\oplus$ is again the bitwise exclusive or.
345 These two events are independent when
346 using CIIS strategy-adapter
347 (contrary to CIDS, CIIS is not built by using $X$),
349 $$P\left(X^{t+1}=e\right)=\sum_{k=1}^n
350 P\left(X^t=e\oplus\mathbf{B}_k\right) \times P\left(S^t=k\right).$$
353 inductive hypothesis: $P\left(X^{n+1}=e\right)=\frac{1}{2^n} \sum_{k=1}^n
354 P\left(S^t=k\right)$. The set of events $\left \{ S^t=k \right \}$ for $k \in
355 \llbracket 1;n \rrbracket$ is a partition of the universe of possible, so
356 $\sum_{k=1}^n P\left(S^t=k\right)=1$. Finally,
357 $P\left(X^{t+1}=e\right)=\frac{1}{2^n}$, which leads to $X^{t+1} \sim
358 \mathbf{U}\left(\mathbb{B}^n\right)$. This result is true for all $t \in
359 \mathds{N}$ and then for $t=l$.
361 Since $P(Y|K)$ is $P(X^l)$ that is proven to be equal to $P(X)$,
362 we thus have established that,
363 $$\forall K \in [0;1], P(Y|K)=P(X^{l})=P(X).$$
364 So dhCI dissimulation with CIIS
365 strategy-adapter is stego-secure.
367 On the other hand, due to the definition of CIDS, we have \linebreak
368 $P(Y=(1,1,\cdots,1)|K)=0$.
369 %\JFC{Pourquoi? Justifier davantage là ou dans la def de CIDS}
370 So there is no uniform repartition for the stego-contents $Y|K$.
375 To sum up, Alice and Bob can counteract Eve's attacks in WOA setup, when using
376 dhCI dissimulation with CIIS strategy-adapter. To our best knowledge, this is
377 the second time an information hiding scheme has been proven to be stego-secure:
378 the former was the spread-spectrum technique in natural marking
379 configuration with $\eta$ parameter equal to 1 \cite{Cayre2008}.
385 \subsection{A new class of $\varepsilon$-stego-secure schemes}
388 \begin{theorem}\label{th:stego}
389 Let $\epsilon$ be positive,
390 $l$ be any size of LSCs,
391 $X \sim \mathbf{U}\left(\mathbb{B}^l\right)$,
392 $f_l$ be an image mode s.t.
393 $\Gamma(f_l)$ is strongly connected and
394 the Markov matrix associated to $f_l$
395 is doubly stochastic.
396 In the instantiated \emph{dhCI dissimulation} algorithm
397 with any uniformly distributed (u.d.) strategy-adapter
398 that is independent from $X$,
399 there exists some positive natural number $q$ s.t.
400 $|p(X^q)- p(X)| < \epsilon$.
405 Let $\textit{deci}$ be the bijection between $\Bool^{l}$ and
406 $\llbracket 0, 2^l-1 \rrbracket$ that associates the decimal value
407 of any binary number in $\Bool^{l}$.
408 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
409 $(p(\textit{deci}(X^t)= 0,\dots,p(\textit{deci}(X^t)= 2^l-1))$ further denoted by $\pi^t$.
410 Let $i \in \llbracket 0, 2^l -1 \rrbracket$,
411 the probability $p(\textit{deci}(X^{t+1})= i)$ is
413 \sum\limits^{2^l-1}_{j=0}
414 \sum\limits^{l}_{k=1}
415 p(\textit{deci}(X^{t}) = j , S^t = k , i =_k j , f_k(j) = i_k )
418 where $ i =_k j $ is true iff the binary representations of
419 $i$ and $j$ may only differ for the $k$-th element,
421 $i_k$ abusively denotes, in this proof, the $k$-th element of the binary representation of
424 Next, due to the proposition's hypotheses on the strategy,
425 $p(\textit{deci}(X^t) = j , S^t = k , i =_k j, f_k(j) = i_k )$ is equal to
426 $\frac{1}{l}.p(\textit{deci}(X^t) = j , i =_k j, f_k(j) = i_k)$.
427 Finally, since $i =_k j$ and $f_k(j) = i_k$ are constant during the
428 iterative process and thus does not depend on $X^t$, we have
430 \pi^{t+1}_i = \sum\limits^{2^l-1}_{j=0}
432 \sum\limits^{l}_{k=1}
433 p(i =_k j, f_k(j) = i_k ).
438 \sum\limits^{l}_{k=1}
439 p(i =_k j, f_k(j) = i_k )
440 $ is equal to $M_{ji}$ where $M$ is the Markov matrix associated to
443 \pi^{t+1}_i = \sum\limits^{2^l-1}_{j=0}
444 \pi^t_j. M_{ji} \textrm{ and thus }
445 \pi^{t+1} = \pi^{t} M.
448 % The calculus of $p(X^{t+1} = e)$ is thus equal to
452 since the graph $\Gamma(f)$ is strongly connected,
453 then for all vertices $i$ and $j$, a path can
454 be found to reach $j$ from $i$ in at most $2^l$ steps.
455 There exists thus $k_{ij} \in \llbracket 1, 2^l \rrbracket$ s.t.
456 ${M}_{ij}^{k_{ij}}>0$.
457 As all the multiples $l \times k_{ij}$ of $k_{ij}$ are such that
458 ${M}_{ij}^{l\times k_{ij}}>0$,
459 we can conclude that, if
460 $k$ is the least common multiple of $\{k_{ij} \big/ i,j \in \llbracket 1, 2^l \rrbracket \}$ thus
461 $\forall i,j \in \llbracket 1, 2^l \rrbracket, {M}_{ij}^{k}>0$ and thus
462 $M$ is a regular stochastic matrix.
465 Let us now recall the following stochastic matrix theorem:
466 \begin{theorem}[Stochastic Matrix]
467 If $M$ is a regular stochastic matrix, then $M$
468 has an unique stationary probability vector $\pi$. Moreover,
469 if $\pi^0$ is any initial probability vector and
470 $\pi^{t+1} = \pi^t.M $ for $t = 0, 1,\dots$ then the Markov chain $\pi^t$
471 converges to $\pi$ as $t$ tends to infinity.
474 Thanks to this theorem, $M$
475 has an unique stationary probability vector $\pi$.
476 By hypothesis, since $M$ is doubly stochastic we have
477 $(\frac{1}{2^l},\dots,\frac{1}{2^l}) = (\frac{1}{2^l},\dots,\frac{1}{2^l})M$
478 and thus $\pi = (\frac{1}{2^l},\dots,\frac{1}{2^l})$.
479 Due to the matrix theorem, there exists some
481 $|\pi^q- \pi| < \epsilon$
482 and the proof is established.
483 Since $p(Y| K)$ is $p(X^q)$ the method is then $\epsilon$-stego-secure
484 provided the strategy-adapter is uniformly distributed.
487 This section has focused on security with regards to probabilistic behaviors.
488 Next section studies it in the perspective of topological ones.
492 %\subsection{Security in KMA, KOA and CMA setups}