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

Private GIT Repository
ahmad -> décodage
[hdrcouchot.git] / ahmad.tex
1 En étudiant les schémas de watermarking,
2 nous avons constaté que très peu de travaux ciblaient les documents PDF
3 qui représentent cependant une part non anecdotique des données
4 échangées en ligne.
5 Parmi ces travaux, \cite{PD2008} propose la modification du nombre 
6 d'espaces entre les mots ou entre les paragraphes.
7 Similairement, les auteurs  de~\cite{DBLP:journals/sigpro/LeeT10}
8 ajoutent des caractères invisibles dans le document.
9 En supprimant ces espaces ou caractères invisibles, la marque s'enlève
10 facilement.
11 Dans~\cite{PD2008}, les auteurs modifient de manière imperceptible
12 le positionnements des caractères. D'autres éléments de postionnement
13 sont intégrés dans~\cite{WT08}.
14 Une attaque qui remodifierait  aléatoirement de manière faible ces positions
15  détruirait la marque dans les deux cas.
16 La quantification (au sens du traitement du signal) est une réponse
17 à ces attaques: des positions modifiées de manière mal intentionnée  
18 peuvent grâce cette démarche être rapprochées (abstraites) en des positions
19 préétablies et conserver ainsi leur information et donc la marque.
20 STDM~\cite{CW01} est une instance de ces schémas de marquage.
21
22 Ce chapitre présente une application de STDM au marquage de documents PDFs.
23 \JFC{annonce du plan}
24
25 \section{Rappels sur la Spread Transform Dither Modulation}
26 \label{sec:STDM}
27 Les paramètres de ce schéma sont
28 \begin{itemize}
29 \item le facteur de quantification $\Delta$ qui est un réel positif; plus $\Delta$
30 est grand, plus la distortion peut être importante;
31 \item le niveau d'indécision  $d_0$ qui est un réel dans
32 $[-\dfrac{\Delta}{2},\dfrac{\Delta}{2}]$; plus ce nombre a une valeur absolue
33 élevée, plus les erreurs peuvent être corrigées;
34 on définit $d_1$ par 
35 $$d_1 = \begin{cases} 
36   d_0 + \Delta/2, & \textrm{ si }~~d_0<0 \\  
37   d_0 - \Delta/2, & \textrm{ sinon } 
38 \end{cases}
39 $$
40 \item un nombre $L$ d'éléments dans lequel chaque bit de la marque 
41   est embarqué;
42 \item un vecteur $p$ de projection de taille $L$. 
43
44 \end{itemize}
45
46 Soit donc $x$ un vecteur de taille $L$ dans lequel on souhaite embarquer 
47 le bit $m\in\{0,1\}$. 
48 Ce vecteur est remplacé par $x'$ défini par 
49  
50 \begin{equation}\label{eq:stdm}
51 x' = f(x,m) = x+ ((\lfloor(\frac{(x^T p) -d_m}{\Delta})\rfloor\Delta +d_m )~ - x^T p)p
52 \end{equation}
53
54 Avec les mêmes paramètres $\Delta$, $d_0$ , $L$ et $p$ le message 
55 $\hat{m}$ extrait de 
56 $x'$ de taille $L$ est défini par:
57 \begin{equation}\label{eq:stdm:ext}
58 \hat{m} = arg \min_{ m \in \{0, 1\}} \mid x'^T p - f(x,m) \mid
59 \end{equation}
60
61 Les auteurs de~\cite{CW01} ont montré que la variance de l'erreur 
62 est égale à $\Delta^2/12L$ 
63 lorsque chacun des $L$ éléments de $x$ suit une ditribution uniforme 
64 $U(\Delta)$. 
65 Tous les éléments sont en place pour embarquer une marque 
66 dans un fichier PDF selon le schéma STDM.
67
68 \section{Application au marquage de documents PDF}
69
70 On détaille successivement comment insérer une marque dans un document PDF, 
71 puis comment l'extraire.
72
73 \subsection{Insertion de la marque}
74
75 On cherche à ajouter à un document PDF une marque $m$ de $k$ bits 
76 déjà codée (cryptée, correction d'erreurs incluse). 
77 L'insertion de celle-ci dans le document s'effectue 
78 en quatre étapes.
79
80 On considère comme fixés les paramètres  
81 $\Delta$,  $d_0$  et la manière de construire le vecteur $p$ pour une taille 
82 $L$. 
83
84
85 \begin{enumerate}
86 \item Le vecteur hôte $x$ de taille $N$ 
87   est constitué de l'abscice (flottante) 
88   de chaque caractère rencontré dans le document PDF. 
89   La dimension $L$ est calculée comme la partie entière de $N/k$.
90
91 \item Un générateur pseudo aléatoire (initialisé par une clef) 
92 construit $k$ ensembles $M_1$, \ldots, $M_k$ 
93 de taille $L$ mutuellement disjoints dans $[1,N]$. Ainsi 
94 $\bigcup_{1\le i \le k} M_i \subseteq [N]$. 
95
96
97 \item Pour chacun des ensembles $M_i$, $ 1 \le i \le k$, 
98   de l'étape précédente,  le vecteur $\dot{x} = (x_{j_1}, \ldots ,x_{j_L})$,
99   est construit où $\{j_1, \ldots, j_L\} = M_i$.
100   Le vecteur $\dot{x'} = f(\dot{x},m_i)$ est
101   construit selon l'équation~(\ref{eq:stdm}).
102   Dans $x$, chacun des $x_{j_1}, \ldots, x_{j_L}$ est remplacé par 
103   $\dot{x'}_{j_1}, \ldots, \dot{x'}_{j_L}$.
104
105 \item L'abscisse de chaque caractère est ainsi redéfini 
106   selon le nouveau vecteur de positions ${x'}$. 
107 \end{enumerate}
108
109 Voyons comment extraire une marque d'une document PDF.
110
111 \subsection{Exctraction de la marque}
112
113 On considère comme connue la taille de la marque: c'est $k$ bits.
114 Les paramètres $\Delta$,  $d_0$ et la manière de construire 
115 $p$ en fonction de $L$ sont les mêmes qu'à l'étape précédente d'insertion de 
116 marque.
117
118 \begin{enumerate}
119 \item on récupère le vecteur $x'$ (de taille $N$ lui aussi) des abscices des
120   caractères du document PDF comme dans la phase d'insertion. 
121   la valeur de $L$ est définie comme précédement.
122
123 \item le même générateur pseudo aléatoire (initialisé avec la même clef) 
124 construit les $k$ mêmes ensembles $M_1$, \ldots, $M_k$ 
125 de taille $L$ mutuellement disjoints dans $[1,N]$. 
126
127 \item Pour chacun des ensembles $M_i$, $ 1 \le i \le k$, 
128   de l'étape précédente,  le vecteur $\dot{x'} = (x'_{j_1}, \ldots, x'_{j_L})$,
129   est construit où $\{j_1, \ldots, j_L\} = M_i$.
130   Le bit $\hat{m}_i$  est défini selon l'équation~(\ref{eq:stdm:ext})
131   en remplaçant $x'$ par $\dot{x'}$ .
132 \end{enumerate}
133
134 \section{Choix des paramètres}
135 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$. 
136 Les travaux réalisés se sont focalisés sur l'influence du paramètre 
137 $\Delta$ dans l'algorithme.
138