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

Private GIT Repository
fin travail bittar
[hdrcouchot.git] / stabylo.tex
index 4a904dfe43a17a7ae7567e201922e68ca88d45e8..dda07a403c4544505b2c6c53bdd0816a93710474 100644 (file)
@@ -20,15 +20,253 @@ en fonction de caractéristiques numériques.
 A partir de caractéristiques de voisinage nommées 
 SPAM~\cite{DBLP:journals/tifs/PevnyBF10}, HUGO mesure la distortion 
 qui serait induite par la modification
-de chaque pixel. A partir de cette carte de distortion, il selectionne
-Les pixels les moins  
-
-
- features.
-Thus a distortion measure for each
-pixel is individually determined as the sum of the differences between
-the features of the SPAM computed from the cover and from the stego images.
-The features embedded in WOW and UNIWARD are based on Wavelet-based 
-directional filter. Thus, similarly, the distortion function is 
-the sum  of the differences between these wavelet coefficients  
-computed from the cover and from the stego images.
\ No newline at end of file
+de chaque pixel. Similairement, 
+WOW et UNIWARD construisent une carte de distortion mais celle-ci est  
+issue caractéristiques directionnelles calculées à partir d'ondelettes.
+A partir de ces cartes de distortions, chacun de ces algorithmes selectionne
+les pixels dont les modifications induisent la distortion la plus faible 
+possible. Ceci revient à définir une fonction de signification $u$.
+La complexité du schéma de stéganographie est peu ou prou celle du calcul
+de cette carte, et elle est élevée (cf partie~\ref{XXXXXXXX}) dans le cas
+de ces algorithmes.
+Nous avons proposé un algorithme~\cite{ccg15:ij}
+de complexité beaucoup plus faible 
+et dont la détectabilité est satisfaisante.
+Ce chapitre détaille les clefs de ce schéma 
+
+
+
+\section{Présentation de l'approche} 
+
+Le diagramme de flux donnés à la Fig.~\ref{fig:sch} résume l'approche 
+du schéma STABYLO (pour STeganography with  Adaptive, Bbs, binarY embedding 
+at LOw cost). L'embarquement est synthétisé à la Fig.~\ref{fig:sch:emb} et 
+l'extraction à la Fig.~\ref{fig:sch:ext}.
+
+\begin{figure*}%[t]
+  \begin{center}
+    \subfigure[Data Embedding]{
+      \begin{minipage}{0.4\textwidth}
+        \begin{center}
+            %\includegraphics[scale=0.45]{emb}
+            \includegraphics[scale=0.4]{images/emb}
+        \end{center}
+      \end{minipage}
+      \label{fig:sch:emb}
+    } 
+\hfill
+    \subfigure[Data Extraction]{
+      \begin{minipage}{0.49\textwidth}
+        \begin{center}
+            \includegraphics[scale=0.4]{images/dec}
+        \end{center}
+      \end{minipage}
+      \label{fig:sch:ext}
+    }%\hfill
+  \end{center}
+  \caption{Présentation générale de STABYLO}
+  \label{fig:sch}
+\end{figure*}
+
+
+La sécurité de l'encryptage est garantie par le système asymmétrique 
+de Blum-Goldwasser~\cite{Blum:1985:EPP:19478.19501} basé sur le PRNG
+Blum Blum Shub~\cite{DBLP:conf/crypto/ShubBB82}.
+Ainsi, à partir d'une clef $k$ et un message \textit{mess}, 
+ce cryptosystem construit 
+le message $m$.
+
+
+\subsection{Un embarquement dans les bords}\label{sub:edge}
+L'idée d'embarquer dans des bords dans une image
+repose sur le fait que les pixels de ceux-ci représentent déjà une 
+rupture de continuité entre pixels voisins. 
+Une faible modification de ceux-ci n'a donc pas un grand impact sur la qualité
+de l'image, condition nécéessaire lorsqu'on prétend être indétectable.
+
+STABYLO est basé sur les 
+filtres de Canny~\cite{Canny:1986:CAE:11274.11275}, comme démarche de détection 
+de bords retenue pour sa complexité faible et ses possibilités d'implantation
+sur plusieurs  supports (GPU, FPGA notamment). Rien n'interdirait cependant 
+de  l'appliquer à d'autres approches de détection de bord (Sobel, à base de
+logique floue~\cite{KF11},\ldots).
+Cette détection de bords ne considère que les $b$
+bits les plus significatifs (pratiquement $b$ vaut $6$ ou $7$)
+et un masque de sélection $T$ $T=3,5,7$).
+Plus élevée est la valeur de ce masque, plus grand est le nombre 
+de pixels de bors mais plus grossière est l'approche.
+Dans le diagramme de flux, cette étape de sélection 
+est représentée par ``x=Edge Detection(b, T, X)''.
+La section suivante montre comment le schéma s'adapte 
+aux valeurs de $m$ et de $x$. 
+
+\subsection{Un embarquement adaptif}\label{sub:adaptive}
+Nous argumentons que le schéma d'embarquement doit s'adapter 
+au message $m$ et au nombre de bits disponibles pour cet embarquement.
+Deux stratégies sont possibles dans STABYLO. 
+Dans la première, dite \emph{adaptive}, le taux d'embarquement 
+(rapport entre le nombre de  bits embarqués par rapport au nombre de pixels 
+modifiés) dépend du nombre de bits disponibles à l'issue de l'extraction 
+des pixels de bords. Si ce nombre de bits est inférieur au double de
+la taille du message, celui-ci est découpé en plusieurs parties.
+La justification de ce rapport de 1 à 2 à donné ci dessous dans la partie STC.
+Dans la seconde dite \emph{fixe}, ce taux est fixe et l'algorithme augmente 
+iterativement la valeur de $T$ jusqu'à obtenir à nouveau deux fois plus de bits 
+de bords qu'il n'y en a dans le message.
+
+STABYLO applique alors 
+par défaut  l'agorithme STC~\cite{DBLP:journals/tifs/FillerJF11}
+pour ne modifier aussi peu que posible les bits parmi ceux dont il dispose.
+Dans le cas où c'est la stratégie adaptive qui est choisie, le paramètre
+$\rho$ de cet algorithme vaut 1 pour chaqun des bits.
+Dans le cas contraire, la valeur de ce paramètre varie en 
+fonction du seuil $T$ de l'algorithme de détection de bord comme suit:
+$$  
+\rho_X= \left\{ 
+\begin{array}{l}
+1 \textrm{ pour un bord défini par $T=3$,} \\
+10 \textrm{ pour un bord défini par  $T=5$,} \\
+100 \textrm{ pour un bord défini par  $T=7$.}
+\end{array}
+\right.
+$$
+
+
+
+
+\subsection{Extraction du message}\label{sub:extract}
+Résumée à la figure~\ref{fig:sch:ext}, l'extraction du message 
+reproduit le processus d'embarquement dans l'ordre inverse
+puisque chaque étape est inversible.
+
+
+
+\section{Analyse de Complexité}
+Dans cette section, on justifie qualificatif \og LOw cost\fg{} de STABYLO en 
+comparant l'ordre de grandeur de son temps d'exécution avec ceux des 
+principaux schémas existants à savoir HUGO~\cite{DBLP:conf/ih/PevnyFB10},
+WOW~\cite{conf/wifs/HolubF12} et UNIWARD~\cite{HFD14}.
+Chacune de ces quatre méthodes commence par calculer un carte de distortion 
+de l'ensemble des pixels et se termine en appliquant l'algorithme STC.
+Comme cette dernière étape est commune à toutes les approches, on évalue 
+sa complexité à part.
+Dans tout ce qui suit, on considère une image carrée de taille
+$n \times n$.
+Les preuves de ces théorèmes sont données en annexes~\ref{anx:preuve:cplxt}.
+
+
+\begin{theorem}\label{th:cplxt:hugo}
+Le schéma HUGO a une complexité de l'ordre de 
+$\theta(2 \times n^2(343^2 + \ln(n)))$
+\end{theorem}
+
+\begin{theorem}\label{th:cplxt:wow}
+Le schéma WOW a une complexité de l'ordre de 
+$\theta(6n^4\ln(n) + n^2)$.
+\end{theorem}
+
+
+\begin{theorem}\label{th:cplxt:uniward}
+Le schéma UNIWARD a une complexité dont l'ordre est supérieur à
+$\theta(6n^4\ln(n) + n^2)$.
+\end{theorem}
+
+\begin{theorem}\label{th:cplxt:stabylo}
+Le schéma STABYLO a une complexité dont l'ordre est 
+$\theta((5^3+4T+1)n^2)$.
+\end{theorem}
+
+
+D'après~\cite{DBLP:journals/tifs/FillerJF11}, la complexité de 
+STC est le l'ordre de $\theta(2^h.n)$ où $h$
+est la taille de la matrice dupliquée. Cett complexité linéaire 
+est donc négligeable par rapport au reste.
+
+
+La figure~\ref{fig:compared} représente graphiquement les complexités 
+des étapes d'embarquement des schémas WOW/UNIWARD, HUGO, and STABYLO en
+considérant des images de la taille $n \times n$ où $n$ varie entre 
+512 et 4096. L'axe des $y$ est exprimé selon une échelle logarithmique.
+Cette figure illustre bien le fait que le qualificatif de \og LOw cost\fg{} 
+attribué à STABYLO. 
+\begin{figure}
+\begin{center}
+\includegraphics[scale=0.4]{images/complexity}
+\end{center}
+\caption{Evaluation de la complexité de WOW/UNIWARD, HUGO et STABYLO}
+\label{fig:compared} 
+\end{figure}
+
+\section{Stéganalyse de STABYLO}\label{sec:steg:stabylo}
+Comme dans le chapitre~\ref{chap:watermarking}, 
+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 
+le schéma face à une épreuve de  stéganalyse.
+Pour des rapport entre le nombre de  bits embarqués par
+rapport au nombre de pixels  entre 1/2 et 1/9, le choix de la 
+la matrice dupliquée dans STC est celui énoncé dans les travaux de 
+Filler~\cite{FillerJF11}.
+
+
+Le schéma STABYLO a été systématiquement comparé à HUGO, 
+EAISLSBMR~\cite{Luo:2010:EAI:1824719.1824720},  WOW et UNIWARD
+pour les stratégies fixes (10\%) et adaptives.
+Pour établir la valeur de cette dernière stratégie, le filtre de Canny a été 
+paramétré avec une valeur de $T=3$. 
+Lorsque $b$ vaut 7, la taile moyenne du message pouvant être embarqué est de 
+16,445, \textit{i.e.},  un taux d'embarquement moyen de 6,35\%.
+Pour chaque image, le nombre de bits embarqué par STABYLO est mémorisé et il 
+est demandé à chacun des autres schémas d'embarquer ce même nombre de bits. 
+
+
+\begin{table*}
+\begin{center}
+\begin{small}
+\setlength{\tabcolsep}{3pt}
+\begin{tabular}{|c|c|c|c|c|c|c|c|c|c|c|c|}
+\hline
+Schéma & \multicolumn{3}{c|}{STABYLO} & \multicolumn{2}{c|}{HUGO}& \multicolumn{2}{c|}{EAISLSBMR} &  \multicolumn{2}{c|}{WOW} &  \multicolumn{2}{c|}{UNIWARD}\\
+\hline
+Strétégie & fixe &   \multicolumn{2}{c|}{adapt. ($\approx$6.35\%)}  & fixe & adapt. & fixe & adapt. & fixe & adapt. & fixe & adapt. \\
+\hline
+Ratio & 10\% &     +STC(7) & +STC(6)   & 10\%& $\approx$6.35\%& 10\%& $\approx$6.35\% & 10\%& $\approx$6.35\%& 10\%& $\approx$6.35\%\\ 
+\hline
+Ensemble Classifier & 0.35 & 0.47 & 0.47     & 0.48 &  0.49  &  0.43  & 0.47 & 0.48 & 0.49 & 0.46 & 0.49 \\
+
+\hline
+\end{tabular}
+\end{small}
+\end{center}
+\caption{Steganalyse de STABYLO\label{table:steganalyse}.} 
+\end{table*}
+
+
+Etant considéré  comme le plus exact 
+stéganalyseur dans le domaine spatial, 
+Ensemble Classifier~\cite{DBLP:journals/tifs/KodovskyFH12}
+a été exécuté avec les caractéristiques  
+CCPEV et  SPAM~\cite{DBLP:dblp_conf/mediaforensics/KodovskyPF10}.
+Les valeurs des erreurs moyennes de la phase de test sont reprises    
+au tableau~\ref{table:steganalyse}.
+Les schémas HUGO,  WOW et UNIWARD sont moins facilement détectables que 
+STABYLO (mais à quel prix concernant la complexité). 
+EAILSBMR obtient des résultats semblables à STABYLO, mais encore pour 
+une complexité plus élevée.
+Pour être complet, la figure~\ref{fig:error} montre enfin 
+que lorsque les  taux d'embarquement  sont plus élevés, 
+STABYLO a une sécurité moindre par rapport 
+aux quatre autres schémas.
+\begin{figure}
+\begin{center}
+\includegraphics[scale=0.5]{images/error}
+\end{center}
+\caption{Erreurs moyennes lors des tests obtenus par Ensemble Classifier}
+\label{fig:error} 
+\end{figure}
+
+\section{Conclusion}
+Le schéma STABYLO a été présenté comme une méthode efficace de stéganographie
+ayant des résultats comparables 
+à HUGO, WOW et  UNIWARD.
+pour de faibles taux d'embarquement.
+L'accent a été mis sur la complexité de l'approche pour une implantation
+effective, même sur des dispositifs à faible capacité de calcul.
\ No newline at end of file