From: Jean-François Couchot Date: Wed, 14 Oct 2015 11:50:08 +0000 (+0200) Subject: ahmad -> décodage X-Git-Url: https://bilbo.iut-bm.univ-fcomte.fr/and/gitweb/hdrcouchot.git/commitdiff_plain/84295a275db55cdbf5a40b2021a3029eff78919a?ds=sidebyside ahmad -> décodage --- diff --git a/ahmad.tex b/ahmad.tex index 6aed620..b94f1b9 100644 --- a/ahmad.tex +++ b/ahmad.tex @@ -1,4 +1,4 @@ -En étudiant le watermarking, +En étudiant les schémas de watermarking, nous avons constaté que très peu de travaux ciblaient les documents PDF qui représentent cependant une part non anecdotique des données échangées en ligne. @@ -13,7 +13,7 @@ le positionnements des caractères. D'autres éléments de postionnement sont intégrés dans~\cite{WT08}. Une attaque qui remodifierait aléatoirement de manière faible ces positions détruirait la marque dans les deux cas. -La quantification (au sens du traitemetn du signal) est une réponse +La quantification (au sens du traitement du signal) est une réponse à ces attaques: des positions modifiées de manière mal intentionnée peuvent grâce cette démarche être rapprochées (abstraites) en des positions préétablies et conserver ainsi leur information et donc la marque. @@ -22,25 +22,24 @@ STDM~\cite{CW01} est une instance de ces schémas de marquage. Ce chapitre présente une application de STDM au marquage de documents PDFs. \JFC{annonce du plan} -\section{Rappels sur STDM} - -\section{Spread Transform Dither Modulation} +\section{Rappels sur la Spread Transform Dither Modulation} \label{sec:STDM} Les paramètres de ce schéma sont \begin{itemize} -\item le facteur de quantification $\Delta$ est un réel positif; plus $\Delta$ +\item le facteur de quantification $\Delta$ qui est un réel positif; plus $\Delta$ est grand, plus la distortion peut être importante; \item le niveau d'indécision $d_0$ qui est un réel dans $[-\dfrac{\Delta}{2},\dfrac{\Delta}{2}]$; plus ce nombre a une valeur absolue élevée, plus les erreurs peuvent être corrigées; -On définit $d_1$ par +on définit $d_1$ par $$d_1 = \begin{cases} d_0 + \Delta/2, & \textrm{ si }~~d_0<0 \\ d_0 - \Delta/2, & \textrm{ sinon } \end{cases} $$ -\item un nombre $L$ d'éléments dans lequel chaque bit est embarqué; -\item un vecteur $p$ de projection de taille $L$; +\item un nombre $L$ d'éléments dans lequel chaque bit de la marque + est embarqué; +\item un vecteur $p$ de projection de taille $L$. \end{itemize} @@ -55,7 +54,7 @@ x' = f(x,m) = x+ ((\lfloor(\frac{(x^T p) -d_m}{\Delta})\rfloor\Delta +d_m )~ - x Avec les mêmes paramètres $\Delta$, $d_0$ , $L$ et $p$ le message $\hat{m}$ extrait de $x'$ de taille $L$ est défini par: -\begin{equation} +\begin{equation}\label{eq:stdm:ext} \hat{m} = arg \min_{ m \in \{0, 1\}} \mid x'^T p - f(x,m) \mid \end{equation} @@ -63,9 +62,77 @@ Les auteurs de~\cite{CW01} ont montré que la variance de l'erreur est égale à $\Delta^2/12L$ lorsque chacun des $L$ éléments de $x$ suit une ditribution uniforme $U(\Delta)$. - +Tous les éléments sont en place pour embarquer une marque +dans un fichier PDF selon le schéma STDM. \section{Application au marquage de documents PDF} +On détaille successivement comment insérer une marque dans un document PDF, +puis comment l'extraire. + +\subsection{Insertion de la marque} + +On cherche à ajouter à un document PDF une marque $m$ de $k$ bits +déjà codée (cryptée, correction d'erreurs incluse). +L'insertion de celle-ci dans le document s'effectue +en quatre étapes. + +On considère comme fixés les paramètres +$\Delta$, $d_0$ et la manière de construire le vecteur $p$ pour une taille +$L$. + + +\begin{enumerate} +\item Le vecteur hôte $x$ de taille $N$ + est constitué de l'abscice (flottante) + de chaque caractère rencontré dans le document PDF. + La dimension $L$ est calculée comme la partie entière de $N/k$. + +\item Un générateur pseudo aléatoire (initialisé par une clef) +construit $k$ ensembles $M_1$, \ldots, $M_k$ +de taille $L$ mutuellement disjoints dans $[1,N]$. Ainsi +$\bigcup_{1\le i \le k} M_i \subseteq [N]$. + + +\item Pour chacun des ensembles $M_i$, $ 1 \le i \le k$, + de l'étape précédente, le vecteur $\dot{x} = (x_{j_1}, \ldots ,x_{j_L})$, + est construit où $\{j_1, \ldots, j_L\} = M_i$. + Le vecteur $\dot{x'} = f(\dot{x},m_i)$ est + construit selon l'équation~(\ref{eq:stdm}). + Dans $x$, chacun des $x_{j_1}, \ldots, x_{j_L}$ est remplacé par + $\dot{x'}_{j_1}, \ldots, \dot{x'}_{j_L}$. + +\item L'abscisse de chaque caractère est ainsi redéfini + selon le nouveau vecteur de positions ${x'}$. +\end{enumerate} + +Voyons comment extraire une marque d'une document PDF. + +\subsection{Exctraction de la marque} + +On considère comme connue la taille de la marque: c'est $k$ bits. +Les paramètres $\Delta$, $d_0$ et la manière de construire +$p$ en fonction de $L$ sont les mêmes qu'à l'étape précédente d'insertion de +marque. + +\begin{enumerate} +\item on récupère le vecteur $x'$ (de taille $N$ lui aussi) des abscices des + caractères du document PDF comme dans la phase d'insertion. + la valeur de $L$ est définie comme précédement. + +\item le même générateur pseudo aléatoire (initialisé avec la même clef) +construit les $k$ mêmes ensembles $M_1$, \ldots, $M_k$ +de taille $L$ mutuellement disjoints dans $[1,N]$. + +\item Pour chacun des ensembles $M_i$, $ 1 \le i \le k$, + de l'étape précédente, le vecteur $\dot{x'} = (x'_{j_1}, \ldots, x'_{j_L})$, + est construit où $\{j_1, \ldots, j_L\} = M_i$. + Le bit $\hat{m}_i$ est défini selon l'équation~(\ref{eq:stdm:ext}) + en remplaçant $x'$ par $\dot{x'}$ . +\end{enumerate} +\section{Choix des paramètres} +Le schéma de marquage est paramétré par $\Delta$, $d_0$ et la manière de construire le vecteur $p$ pour une taille $L$. +Les travaux réalisés se sont focalisés sur l'influence du paramètre +$\Delta$ dans l'algorithme.