X-Git-Url: https://bilbo.iut-bm.univ-fcomte.fr/and/gitweb/hdrcouchot.git/blobdiff_plain/1d675a69268d7b43ff2d7321c7bd44413f1c10a5..refs/heads/master:/stabylo.tex diff --git a/stabylo.tex b/stabylo.tex index 62f203b..5afb2ec 100644 --- a/stabylo.tex +++ b/stabylo.tex @@ -1,4 +1,4 @@ -Dans cette partie, on s'intéresse toujours à la insérer un message dans +Dans cette partie, on s'intéresse toujours à insérer un message dans une image hôte. Si l'objectif des exemples précédents était de marquer l'hôte de manière robuste (et peu visible), c'est ici l'imperceptibilité qui est visée. @@ -8,27 +8,253 @@ un hôte vierge d'une image contenant un message. Les outils les plus récents et les plus efficaces de cette famille sont HUGO~\cite{DBLP:conf/ih/PevnyFB10}, WOW~\cite{conf/wifs/HolubF12} et UNIWARD~\cite{HFD14}. -Pour détecter de la présence ou non d'un message dans une image, -on peut demander l'oracle à un +Pour détecter la présence ou non d'un message dans une image, +on peut demander l'oracle à un \emph{stéganalyseur}~\cite{LHS08,DBLP:conf/ih/Ker05,FK12}. -Usuellement, un outil de cette fammille, après +Usuellement, un outil de cette famille, après une démarche d'apprentissage, classifie les images 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 +SPAM~\cite{DBLP:journals/tifs/PevnyBF10}, HUGO mesure la distorsion qui serait induite par la modification 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 +WOW et UNIWARD construisent une carte de distorsion mais celle-ci est +issue de caractéristiques directionnelles calculées à partir d'ondelettes. +A partir de ces cartes de distorsion, chacun de ces algorithmes sélectionne +les pixels dont les modifications induisent la distorsion 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 cette carte, et elle est élevée 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é à 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 asymé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 les bords d'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'aurait donc pas un grand impact sur la qualité +de l'image, condition nécessaire 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 bord 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 adaptatif}\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{adaptative}, le taux d'embarquement +(rapport entre le nombre de bits embarqués et le 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 +itérativement 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'algorithme STC~\cite{DBLP:journals/tifs/FillerJF11} +pour modifier aussi peu que possible les bits parmi ceux dont il dispose. +Dans le cas où c'est la stratégie adaptative qui est choisie, le paramètre +$\rho$ de cet algorithme vaut 1 pour chacun 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 distorsion +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 dans~\cite{ccg15:ij} + + +\begin{restatable}[Complexité d'algorithmes de stéganographie]{theorem}{theocplstegano} +\label{th:cplxt:stegano} +\begin{itemize} +\item Le schéma HUGO a une complexité de l'ordre de $\theta(2 \times n^2(343^2 + \ln(n)))$ +\item Les schémas WOW et UNIWARD ont une complexité de l'ordre de +$\theta(6n^4\ln(n) + n^2)$. +\item Le schéma STABYLO a une complexité dont l'ordre est $\theta((5^3+4T+1)n^2)$. +\end{itemize} +\end{restatable} + +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. Cette 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 qualificatif de \og LOw cost\fg{} +attribué à STABYLO. +\begin{figure} +\begin{center} +\includegraphics[scale=0.4]{images/complexity} +\end{center} +\caption{Évaluation 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 rapports entre le nombre de bits embarqués et le +nombre de pixels entre 1/2 et 1/9, le choix de +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 adaptatives. +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 taille 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 +Straté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{Stéganalyse de STABYLO\label{table:steganalyse}.} +\end{table*} + + +Étant 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