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

Private GIT Repository
jusqu'au chpitre 6
[hdrcouchot.git] / stabylo.tex
1 Dans cette partie, on s'intéresse toujours à la insérer un message dans 
2 une image hôte. 
3 Si l'objectif des exemples précédents était de marquer l'hôte de 
4 manière robuste (et peu visible), c'est ici l'imperceptibilité qui est visée. 
5 La \emph{stéganographie} est la famille des démarches qui visent à  
6 embarquer un message dans un hôte sans que l'on puisse discerner
7 un hôte vierge d'une image contenant un message.
8 Les outils les plus récents et les plus efficaces de cette famille  
9 sont  HUGO~\cite{DBLP:conf/ih/PevnyFB10}, WOW~\cite{conf/wifs/HolubF12} 
10 et UNIWARD~\cite{HFD14}.
11 Pour détecter de la présence ou non d'un message dans une image,
12 on peut demander l'oracle à un 
13 un \emph{stéganalyseur}~\cite{LHS08,DBLP:conf/ih/Ker05,FK12}.
14 Usuellement, un outil de cette fammille, après 
15 une démarche d'apprentissage, classifie les images
16 en fonction de caractéristiques numériques.
17
18
19
20 A partir de caractéristiques de voisinage nommées 
21 SPAM~\cite{DBLP:journals/tifs/PevnyBF10}, HUGO mesure la distortion 
22 qui serait induite par la modification
23 de chaque pixel. Similairement, 
24 WOW et UNIWARD construisent une carte de distortion mais celle-ci est  
25 issue caractéristiques directionnelles calculées à partir d'ondelettes.
26 A partir de ces cartes de distortions, chacun de ces algorithmes selectionne
27 les pixels dont les modifications induisent la distortion la plus faible 
28 possible. Ceci revient à définir une fonction de signification $u$.
29 La complexité du schéma de stéganographie est peu ou prou celle du calcul
30 de cette carte, et elle est élevée  dans le cas
31 de ces algorithmes.
32 Nous avons proposé un algorithme~\cite{ccg15:ij}
33 de complexité beaucoup plus faible 
34 et dont la détectabilité est satisfaisante.
35 Ce chapitre détaille les clefs de ce schéma 
36
37
38
39 \section{Présentation de l'approche} 
40
41 Le diagramme de flux donnés à la Fig.~\ref{fig:sch} résume l'approche 
42 du schéma STABYLO (pour STeganography with  Adaptive, Bbs, binarY embedding 
43 at LOw cost). L'embarquement est synthétisé à la Fig.~\ref{fig:sch:emb} et 
44 l'extraction à la Fig.~\ref{fig:sch:ext}.
45
46 \begin{figure*}%[t]
47   \begin{center}
48     \subfigure[Data Embedding]{
49       \begin{minipage}{0.4\textwidth}
50         \begin{center}
51             %\includegraphics[scale=0.45]{emb}
52             \includegraphics[scale=0.4]{images/emb}
53         \end{center}
54       \end{minipage}
55       \label{fig:sch:emb}
56     } 
57 \hfill
58     \subfigure[Data Extraction]{
59       \begin{minipage}{0.49\textwidth}
60         \begin{center}
61             \includegraphics[scale=0.4]{images/dec}
62         \end{center}
63       \end{minipage}
64       \label{fig:sch:ext}
65     }%\hfill
66   \end{center}
67   \caption{Présentation générale de STABYLO}
68   \label{fig:sch}
69 \end{figure*}
70
71
72 La sécurité de l'encryptage est garantie par le système asymmétrique 
73 de Blum-Goldwasser~\cite{Blum:1985:EPP:19478.19501} basé sur le PRNG
74 Blum Blum Shub~\cite{DBLP:conf/crypto/ShubBB82}.
75 Ainsi, à partir d'une clef $k$ et un message \textit{mess}, 
76 ce cryptosystem construit 
77 le message $m$.
78
79
80 \subsection{Un embarquement dans les bords}\label{sub:edge}
81 L'idée d'embarquer dans des bords dans une image
82 repose sur le fait que les pixels de ceux-ci représentent déjà une 
83 rupture de continuité entre pixels voisins. 
84 Une faible modification de ceux-ci n'a donc pas un grand impact sur la qualité
85 de l'image, condition nécéessaire lorsqu'on prétend être indétectable.
86
87 STABYLO est basé sur les 
88 filtres de Canny~\cite{Canny:1986:CAE:11274.11275}, comme démarche de détection 
89 de bords retenue pour sa complexité faible et ses possibilités d'implantation
90 sur plusieurs  supports (GPU, FPGA notamment). Rien n'interdirait cependant 
91 de  l'appliquer à d'autres approches de détection de bord (Sobel, à base de
92 logique floue~\cite{KF11},\ldots).
93 Cette détection de bords ne considère que les $b$
94 bits les plus significatifs (pratiquement $b$ vaut $6$ ou $7$)
95 et un masque de sélection $T$ $T=3,5,7$).
96 Plus élevée est la valeur de ce masque, plus grand est le nombre 
97 de pixels de bors mais plus grossière est l'approche.
98 Dans le diagramme de flux, cette étape de sélection 
99 est représentée par ``x=Edge Detection(b, T, X)''.
100 La section suivante montre comment le schéma s'adapte 
101 aux valeurs de $m$ et de $x$. 
102
103 \subsection{Un embarquement adaptif}\label{sub:adaptive}
104 Nous argumentons que le schéma d'embarquement doit s'adapter 
105 au message $m$ et au nombre de bits disponibles pour cet embarquement.
106 Deux stratégies sont possibles dans STABYLO. 
107 Dans la première, dite \emph{adaptive}, le taux d'embarquement 
108 (rapport entre le nombre de  bits embarqués par rapport au nombre de pixels 
109 modifiés) dépend du nombre de bits disponibles à l'issue de l'extraction 
110 des pixels de bords. Si ce nombre de bits est inférieur au double de
111 la taille du message, celui-ci est découpé en plusieurs parties.
112 La justification de ce rapport de 1 à 2 à donné ci dessous dans la partie STC.
113 Dans la seconde dite \emph{fixe}, ce taux est fixe et l'algorithme augmente 
114 iterativement la valeur de $T$ jusqu'à obtenir à nouveau deux fois plus de bits 
115 de bords qu'il n'y en a dans le message.
116
117 STABYLO applique alors 
118 par défaut  l'agorithme STC~\cite{DBLP:journals/tifs/FillerJF11}
119 pour ne modifier aussi peu que posible les bits parmi ceux dont il dispose.
120 Dans le cas où c'est la stratégie adaptive qui est choisie, le paramètre
121 $\rho$ de cet algorithme vaut 1 pour chaqun des bits.
122 Dans le cas contraire, la valeur de ce paramètre varie en 
123 fonction du seuil $T$ de l'algorithme de détection de bord comme suit:
124 $$  
125 \rho_X= \left\{ 
126 \begin{array}{l}
127 1 \textrm{ pour un bord défini par $T=3$,} \\
128 10 \textrm{ pour un bord défini par  $T=5$,} \\
129 100 \textrm{ pour un bord défini par  $T=7$.}
130 \end{array}
131 \right.
132 $$
133
134
135
136
137 \subsection{Extraction du message}\label{sub:extract}
138 Résumée à la figure~\ref{fig:sch:ext}, l'extraction du message 
139 reproduit le processus d'embarquement dans l'ordre inverse
140 puisque chaque étape est inversible.
141
142
143
144 \section{Analyse de Complexité}
145 Dans cette section, on justifie qualificatif \og LOw cost\fg{} de STABYLO en 
146 comparant l'ordre de grandeur de son temps d'exécution avec ceux des 
147 principaux schémas existants à savoir HUGO~\cite{DBLP:conf/ih/PevnyFB10},
148 WOW~\cite{conf/wifs/HolubF12} et UNIWARD~\cite{HFD14}.
149 Chacune de ces quatre méthodes commence par calculer un carte de distortion 
150 de l'ensemble des pixels et se termine en appliquant l'algorithme STC.
151 Comme cette dernière étape est commune à toutes les approches, on évalue 
152 sa complexité à part.
153 Dans tout ce qui suit, on considère une image carrée de taille
154 $n \times n$.
155 Les preuves de ces théorèmes sont données en annexes~\ref{anx:preuve:cplxt}.
156
157
158 \begin{theorem}\label{th:cplxt:hugo}
159 Le schéma HUGO a une complexité de l'ordre de 
160 $\theta(2 \times n^2(343^2 + \ln(n)))$
161 \end{theorem}
162
163 \begin{theorem}\label{th:cplxt:wow}
164 Le schéma WOW a une complexité de l'ordre de 
165 $\theta(6n^4\ln(n) + n^2)$.
166 \end{theorem}
167
168
169 \begin{theorem}\label{th:cplxt:uniward}
170 Le schéma UNIWARD a une complexité dont l'ordre est supérieur à
171 $\theta(6n^4\ln(n) + n^2)$.
172 \end{theorem}
173
174 \begin{theorem}\label{th:cplxt:stabylo}
175 Le schéma STABYLO a une complexité dont l'ordre est 
176 $\theta((5^3+4T+1)n^2)$.
177 \end{theorem}
178
179
180 D'après~\cite{DBLP:journals/tifs/FillerJF11}, la complexité de 
181 STC est le l'ordre de $\theta(2^h.n)$ où $h$
182 est la taille de la matrice dupliquée. Cett complexité linéaire 
183 est donc négligeable par rapport au reste.
184
185
186 La figure~\ref{fig:compared} représente graphiquement les complexités 
187 des étapes d'embarquement des schémas WOW/UNIWARD, HUGO, and STABYLO en
188 considérant des images de la taille $n \times n$ où $n$ varie entre 
189 512 et 4096. L'axe des $y$ est exprimé selon une échelle logarithmique.
190 Cette figure illustre bien le fait que le qualificatif de \og LOw cost\fg{} 
191 attribué à STABYLO. 
192 \begin{figure}
193 \begin{center}
194 \includegraphics[scale=0.4]{images/complexity}
195 \end{center}
196 \caption{Evaluation de la complexité de WOW/UNIWARD, HUGO et STABYLO}
197 \label{fig:compared} 
198 \end{figure}
199
200 \section{Stéganalyse de STABYLO}\label{sec:steg:stabylo}
201 Comme dans le chapitre~\ref{chap:watermarking}, 
202 la base BOSS~\cite{Boss10} de 10,000 images (au format RAW, de taille $512\times 512$ en niveau de gris) a été à nouveau prise pour évaluer 
203 le schéma face à une épreuve de  stéganalyse.
204 Pour des rapport entre le nombre de  bits embarqués par
205 rapport au nombre de pixels  entre 1/2 et 1/9, le choix de la 
206 la matrice dupliquée dans STC est celui énoncé dans les travaux de 
207 Filler~\cite{FillerJF11}.
208
209
210 Le schéma STABYLO a été systématiquement comparé à HUGO, 
211 EAISLSBMR~\cite{Luo:2010:EAI:1824719.1824720},  WOW et UNIWARD
212 pour les stratégies fixes (10\%) et adaptives.
213 Pour établir la valeur de cette dernière stratégie, le filtre de Canny a été 
214 paramétré avec une valeur de $T=3$. 
215 Lorsque $b$ vaut 7, la taile moyenne du message pouvant être embarqué est de 
216 16,445, \textit{i.e.},  un taux d'embarquement moyen de 6,35\%.
217 Pour chaque image, le nombre de bits embarqué par STABYLO est mémorisé et il 
218 est demandé à chacun des autres schémas d'embarquer ce même nombre de bits. 
219
220
221 \begin{table*}
222 \begin{center}
223 \begin{small}
224 \setlength{\tabcolsep}{3pt}
225 \begin{tabular}{|c|c|c|c|c|c|c|c|c|c|c|c|}
226 \hline
227 Schéma & \multicolumn{3}{c|}{STABYLO} & \multicolumn{2}{c|}{HUGO}& \multicolumn{2}{c|}{EAISLSBMR} &  \multicolumn{2}{c|}{WOW} &  \multicolumn{2}{c|}{UNIWARD}\\
228 \hline
229 Strétégie & fixe &   \multicolumn{2}{c|}{adapt. ($\approx$6.35\%)}  & fixe & adapt. & fixe & adapt. & fixe & adapt. & fixe & adapt. \\
230 \hline
231 Ratio & 10\% &     +STC(7) & +STC(6)   & 10\%& $\approx$6.35\%& 10\%& $\approx$6.35\% & 10\%& $\approx$6.35\%& 10\%& $\approx$6.35\%\\ 
232 \hline
233 Ensemble Classifier & 0.35 & 0.47 & 0.47     & 0.48 &  0.49  &  0.43  & 0.47 & 0.48 & 0.49 & 0.46 & 0.49 \\
234
235 \hline
236 \end{tabular}
237 \end{small}
238 \end{center}
239 \caption{Steganalyse de STABYLO\label{table:steganalyse}.} 
240 \end{table*}
241
242
243 Etant considéré  comme le plus exact 
244 stéganalyseur dans le domaine spatial, 
245 Ensemble Classifier~\cite{DBLP:journals/tifs/KodovskyFH12}
246 a été exécuté avec les caractéristiques  
247 CCPEV et  SPAM~\cite{DBLP:dblp_conf/mediaforensics/KodovskyPF10}.
248 Les valeurs des erreurs moyennes de la phase de test sont reprises    
249 au tableau~\ref{table:steganalyse}.
250 Les schémas HUGO,  WOW et UNIWARD sont moins facilement détectables que 
251 STABYLO (mais à quel prix concernant la complexité). 
252 EAILSBMR obtient des résultats semblables à STABYLO, mais encore pour 
253 une complexité plus élevée.
254 Pour être complet, la figure~\ref{fig:error} montre enfin 
255 que lorsque les  taux d'embarquement  sont plus élevés, 
256 STABYLO a une sécurité moindre par rapport 
257 aux quatre autres schémas.
258 \begin{figure}
259 \begin{center}
260 \includegraphics[scale=0.5]{images/error}
261 \end{center}
262 \caption{Erreurs moyennes lors des tests obtenus par Ensemble Classifier}
263 \label{fig:error} 
264 \end{figure}
265
266 \section{Conclusion}
267 Le schéma STABYLO a été présenté comme une méthode efficace de stéganographie
268 ayant des résultats comparables 
269 à HUGO, WOW et  UNIWARD.
270 pour de faibles taux d'embarquement.
271 L'accent a été mis sur la complexité de l'approche pour une implantation
272 effective, même sur des dispositifs à faible capacité de calcul.