Rapport

56
WATERMARKING Julien Bourgeois France Telecom R&D 22300 LANNION Email : [email protected] 31 juillet 2002

Transcript of Rapport

Page 1: Rapport

WATERMARKING

Julien BourgeoisFrance Telecom R&D

22300 LANNIONEmail : [email protected]

31 juillet 2002

Page 2: Rapport

2

Page 3: Rapport

Table des matieres

Introduction 4

1 Generalites sur le tatouage 71.1 Position de probleme . . . . . . . . . . . . . . . . . . . . . . . . . 71.2 Applications . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71.3 Protocoles de tatouage . . . . . . . . . . . . . . . . . . . . . . . . 8

1.3.1 Symetrie . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81.3.2 Aveugle . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8

2 Quelques methodes de watermarking 92.1 Critere d’inaudibilite . . . . . . . . . . . . . . . . . . . . . . . . . 92.2 Etalement de spectre (Spread Spectrum - SS) . . . . . . . . . . . 102.3 Schema de Costa Scalaire (SCS) . . . . . . . . . . . . . . . . . . 122.4 Methode de Philips . . . . . . . . . . . . . . . . . . . . . . . . . . 13

2.4.1 Tatouage . . . . . . . . . . . . . . . . . . . . . . . . . . . 132.4.2 Detection . . . . . . . . . . . . . . . . . . . . . . . . . . . 142.4.3 Remarque a propos de la demo fournie par Philips . . . . 14

2.5 Methode asymetrique . . . . . . . . . . . . . . . . . . . . . . . . 152.5.1 Tatouage . . . . . . . . . . . . . . . . . . . . . . . . . . . 162.5.2 Detection . . . . . . . . . . . . . . . . . . . . . . . . . . . 17

3 Quelques methodes d’attaques 213.1 Ajout de bruit masque . . . . . . . . . . . . . . . . . . . . . . . . 213.2 Desynchronisation . . . . . . . . . . . . . . . . . . . . . . . . . . 213.3 Autres . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22

4 Synthese 234.1 Performances de ces methodes . . . . . . . . . . . . . . . . . . . . 234.2 Briques elementaires . . . . . . . . . . . . . . . . . . . . . . . . . 234.3 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24

A Environnement de programmation 25A.1 Methodes de tatouage . . . . . . . . . . . . . . . . . . . . . . . . 25A.2 Attaques . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26A.3 Outils . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27A.4 Masquage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28

3

Page 4: Rapport

4 TABLE DES MATIERES

B Theorie de l’information et Watermarking 29B.1 Evolution historique . . . . . . . . . . . . . . . . . . . . . . . . . 29B.2 Schema de Costa Scalaire . . . . . . . . . . . . . . . . . . . . . . 31

C Theorie de l’information : notes de lecture 35C.1 Preliminaire : les sequences typiques . . . . . . . . . . . . . . . . 35C.2 Codage canal a parametres aleatoires . . . . . . . . . . . . . . . . 37C.3 Modele mathematique du marquage . . . . . . . . . . . . . . . . 38C.4 Capacite de marquage d’un canal . . . . . . . . . . . . . . . . . . 40C.5 Atteignabilite du taux de marquage

R = maxq∈Q mina∈A J(q, a) . . . . . . . . . . . . . . . . . . . . . 41C.6 Capacite de marquage non aveugle . . . . . . . . . . . . . . . . . 42C.7 Marquage du canal binaire . . . . . . . . . . . . . . . . . . . . . . 43

D Notes de lecture en cryptographie 45D.1 Generalites . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45D.2 Formalisation et Premiers Resultats . . . . . . . . . . . . . . . . 45

D.2.1 Definition . . . . . . . . . . . . . . . . . . . . . . . . . . . 45D.2.2 Un exemple simple . . . . . . . . . . . . . . . . . . . . . . 46D.2.3 Confidentialite parfaite . . . . . . . . . . . . . . . . . . . 46

D.3 Casser une cryptographie . . . . . . . . . . . . . . . . . . . . . . 48D.4 Standard a Clef Privee : DES . . . . . . . . . . . . . . . . . . . . 49D.5 Compromis Espace-Temps d’une Attaque . . . . . . . . . . . . . 50

D.5.1 Methode de Stinson . . . . . . . . . . . . . . . . . . . . . 50D.5.2 Exemple simplifie . . . . . . . . . . . . . . . . . . . . . . . 51

D.6 Standard a Clef Publique : R.S.A. . . . . . . . . . . . . . . . . . 52D.6.1 Rappels d’Arithmetique . . . . . . . . . . . . . . . . . . . 52D.6.2 La cryptographie R.S.A. . . . . . . . . . . . . . . . . . . . 53D.6.3 Authentification de la provenance du message . . . . . . . 53D.6.4 Attaques de RSA . . . . . . . . . . . . . . . . . . . . . . . 54

D.7 Signatures et Fonctions de hachage . . . . . . . . . . . . . . . . . 54D.7.1 Signatures electroniques . . . . . . . . . . . . . . . . . . . 54D.7.2 Fonctions de hachage . . . . . . . . . . . . . . . . . . . . 54

D.8 Divers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55

Page 5: Rapport

Introduction

J’ai commence en Octobre 2001 un travail de these sur le theme du tatouagede signaux audio. Pour des raisons personnelles, je suis contraint d’y mettre unterme premature. Le but de ce rapport est donc de faire le point sur ce qui aete fait pour en permettre une reprise en main la plus aisee possible.

Je commence donc par cadrer le sujet de l’etude et en donner les principalesapplications. Le deuxieme chapitre est technique et expose quatres algorithmesde tatouage de signaux audio. On y distinguera les methodes a etalement despectre du schema de Costa. Les points essentiels sont resumes dans une syn-these, ou je me suis autorise a donner mon opinion sur la suite des travaux.

Les quatres premiers mois ont ete consacres a une etude bibliographique dusujet. Une synthese fournie par Jana Dittman et Martin Steinebach contient desreferences interessantes auxquelles il est indispensable de se reporter. La ma-jorite des algorithmes, encore relativement peu nombreux en tatouage audio,sont bases sur une technique de telecommunication, l’etalement de spectre. Plusrecemment, d’autres methodes fondees sur la theorie de l’information sont ap-parues. Ces contributions, comme le schema de Costa, paraissent prometteuses.De plus, le cadre formel de la theorique de l’information presente l’interet d’etrebien formalise et rigoureux. Il fournit une analyse du possible en watermarking.C’est pourquoi j’ai insere quelques approfondissements et mes notes de lecturessur ce sujet.

Dans un cadre applicatif, notamment en ce qui concerne la protection dedroits, la cryptographie est un partenaire incontournable du tatouage. Je m’ysuis interesse pour cerner ce qu’il est possible de faire avec cet outil, bien qu’ilreste techniquement dissocie du watermarking. Des notes de lectures sont ega-lement en annexe.

Apres l’echec du SDMI, personne ne pretend avoir une methode robuste auxattaques malveillantes, et beaucoup doutent de l’existence d’une telle methode.Un resultat theorique a ce sujet serait une avancee majeure et permettraitd’orienter plus finement les recherches.

RemerciementsJe tiens a remercier Dominique Massaloux, Andre Gilloire, Alain Le

Guyader et Abdellatif Benjelloun-Touimi qui ont consacre une partie deleur temps au watermarking. Leur experience, l’interet qu’ils ont porte a montravail, leurs nombreuses suggestions m’ont aide a comprendre les aspects tech-niques du tatouage audio et m’ont souvent permis de rebondir.

J’exprime aussi ma reconnaissance envers Pierre Duhamel, qui, en depit

5

Page 6: Rapport

6 TABLE DES MATIERES

de l’eloignement geographique, a oriente tres pertinemment mon travail.Merci aussi a Adel, Balazs, Andreas, Jean-Marie, Sebastien, Mohammed,

Jerome, Rozenn, Gael et David pour leur amitie.

Page 7: Rapport

Chapitre 1

Generalites sur le tatouage

1.1 Position de probleme

Le but du tatouage en audio est d’inserer puis de detecter un signal portantune certaine information (quelques dizaines de bits par seconde) dans un signalayant un contenu perceptif (un signal audio dans notre cas). Cet ajout doitsatisfaire deux contraintes :

1. Il ne doit pas etre audible : on ne doit pas pouvoir faire discerner a l’oreillele signal tatoue du signal original. C’est la contrainte d’imperceptibilite.

2. Il doit resister a des manipulations legitimes (compression/decompressiona un certain debit, conversion D/A-A/D, etc.) et a des attaques mal-veillantes de pirates (desynchronization, ajout de bruit, etc.) C’est lacontrainte de robustesse.

Ces deux contraintes peuvent etre plus ou moins relachees, selon l’applicationvisee. On peut distinguer trois etapes dans la vie du tatouage : sa fabrica-tion, sa transmission, sa detection. En pratique, les methodes permettant detatouer beaucoup d’information, c’est-a-dire ayant une grande capacite de ta-touage comme le Schema de Costa scalaire, se distinguent de celles qui visentune grande robustesse. On parlera alors de steganographie (ou de data hiding)plutot que de watermarking.

1.2 Applications

Voici les applications du watermarking dont il est le plus souvent question.– La protection de copie contre le piratage : c’est l’application la plus

en vue a cause de l’argent en jeu pour les distributeurs de contenu audio.La solution recherchee doit empecher, d’une maniere ou d’une autre, lesserveurs du type peer-to-peer (Napster), la gravure de CD, etc. On ne saitpas encore tres bien ce qu’il est possible de faire. Il semble qu’une methodede tatouage a cle publique robuste est necessaire pour cette application,et une telle methode n’a pas encore ete mise au point. La sensibilite auxattaques malveillante est une difficule importante. A cela s’ajoute unedifficulte politique : il est clair qu’un systeme de protection de copie doit

7

Page 8: Rapport

8 CHAPITRE 1. GENERALITES SUR LE TATOUAGE

mettre en jeu les lecteurs/enregistreurs de media (CD, DVD, etc.) quidevront etre comptatibles avec ce systeme.

– La preuve de propriete intellectuelle : il s’agit de prouver devant untribunal la propriete d’un contenu audio. Dans ce cas de figure, on peutsupposer qu’un original peut-etre disponible. Les methodes deja existantesmettent en œuvre les signatures et la cryptographie.

– Fingerprinting : traquer une copie, le tatouage permet d’identifier leproprietaire de la copie.

– Le monitoring : le but est de pouvoir controler automatiquement qu’uncontenu audio, comme un spot publicitaire, est emis par une radio/television,etc. Des solutions existent deja.

– Envoie d’information adjacentes : titre ou paroles de la chanson, etc...A chacune de ces applications correspond un certain protocole de tatouage.

1.3 Protocoles de tatouage

1.3.1 Symetrie

Il existe differents protocoles de tatouage qui different a la detection. Ona emprunte a la cryptographie le concept de cle privee/publique. Une cle estune donnee (de quelques bits en general) qui permet de rendre la detection dutatouage accessible a tous ou non. Une cle est dite privee si elle n’est licitementconnue que de la partie qui insere le tatouage et de celle qui a le droit de le lire.Sa connaissance permet de casser le systeme de tatouage : effacer la marque,c’est-a-dire la rendre indetectable, sans degrader la qualite du signal.

Si la meme cle est necessaire a l’insertion et a la detection du tatouage,on parle de tatouage symetrique. On parle de tatouage asymetrique lorsquela detection du tatouage peut se faire par tout le monde, a l’aide d’une clepublique.

L’existence d’une methode de tatouage asymetrique robuste est un problemeencore ouvert, et c’est la pierre angulaire pour la protection de copie. Le moni-toring et la preuve de propriete intellectuelle sont des applications du tatouagesymetrique.

1.3.2 Aveugle

La disponibilite du signal original a la detection distingue le tatouage aveugle(original non disponible a la detection) du tatouage non-aveugle. Aveugle :protection de copie. Non-aveugle : monitoring, preuve de propriete intellectuelle.

Page 9: Rapport

Chapitre 2

Quelques methodes dewatermarking

Je presente maintenant les methodes a ce jour proeminentes de tatouageaveugle. Elles sont issues des articles [1], [2], [3], [4], et [5]. Les descriptions sontfaites de sorte que les programmes Matlab que j’ai ecrits soient lisibles. Biensur il n’existe pas qu’une maniere de faire : la gestion de la non-stationnarite,le filtrage, etc. sont susceptibles d’etre ameliores.

Je note dans la suite :– s le signal original,– x le signal tatoue,– w la marque,– y le signal transmis (attaque),– d l’unique information (un bit ou un nombre) a transmettre, binaire ou

non selon la methode. Si plusieurs bits sont a transmettre, on peut repeterla meme procedure sur plusieurs portions de signal.

Les signaux designes dans le domaine spectral seront en lettres majuscules.Je ne m’interesse ici qu’au tatouage proprement dit, en laissant de cote le

cadre applicatif. Le probleme est d’ajouter une marque et d’evaluer, en fonctiondes attaques que le signal tatoue subit, la probabilite de bonne detection del’information tatouee.

Je rappelle que pour un signal reel de K point le spectre contient K/2 + 1points independants. LesK/2−1 restants sont donnes par symetrie hermitienne.

2.1 Critere d’inaudibilite

Les methodes de tatouage sont delimitees par le critere d’inaudibilite. Lecritere de masquage temporel/frequentiel s’impose dans la litterature en audio.C’est donc celui-la que je me suis fixe.

Si un son stationnaire contient deux composantes tres proches en frequence,et de niveaux assez inegaux, alors seule la composante la plus puissante est per-cue. Autrement dit, a partir du spectre du signal stationnaire, on peut determi-ner a quelles frequences un son peut etre ajoute sans etre percu (principalementautour des pics). Ce principe est valable pour les signaux stationnaires. Les sons

9

Page 10: Rapport

10 CHAPITRE 2. QUELQUES METHODES DE WATERMARKING

naturels ne le sont pas, et de la vient toute la difficulte. C’est pourquoi il fauttraiter le signal par fenetres les moins larges possibles.

Il existe differentes versions de ce critere, plus ou moins fines. Le modeleMPEG est complexe (voir les programmes de Petitcolas), mais permet d’insererplus de puissance en restant inaudible. Le modele de Johnston est plus simple,mais il n’etait disponible que pour une frequence d’echantillonnage de 16kHz(programme d’Andre Gilloire). Une premiere approximation efficace consiste aprendre le module du spectre du signal l’attenuer de 6 a 8 dB. Une variante estde prendre la racine de la TF du carre du signal.

Le modele psychoacoustique n’etant pas directement l’objet d’etude, j’aiconsidere que le masque est disponible sous la forme d’un vecteur M de K/2elements pour des fenetre de K points.

2.2 Etalement de spectre (Spread Spectrum - SS)

L’idee vient des communications numeriques militaires et est assez ancienne.C’est la premiere methode de tatouage en audio. Elle est decrite dans [1]. Pourenvoyer un message secret, les militaires l’envoient code sous forme de sequencesblanches pseudo-aleatoires avec une puissance tres basse a chaque frequence(etalement spectral). Le message est alors noye dans le bruit. La detection sefait par correlation avec la sequence pseudo-aleatoire, laquelle est connue dudetecteur. Sans perdre de generalite, je suppose que l’information transmisepar le tatouage est un bit : d ∈ 0, 1.

En tatouage audio, la difficulte est de gerer l’inaudibilite, qui impose unemise en forme spectrale selon le masque frequentiel du signal et une egalisation.Mettons cela de cote dans un premier temps. L’idee est d’ajouter a s un signalnoise-like blanc wd, (w0 pour le message d = 0 et w1 = −w0 pour le messaged = 1) connu a l’insertion et a la detection :

x = s + wd.

L’extraction aveugle du message repose sur l’orthogonalite de wd et de s, c’est-a-dire

< s,wd >=N∑

i=1

s(i)wd(i) = 0,

ou N est la longueur du signal. Si cette condition est verifiee, alors

< x,w >=< s,w > + < wd,w >=< wd,w > .

On decidera qu’un 0 est insere si < x,w0 > est positif et qu’un 1 est insere sinon.On applique le principe de detection d’un signal connu noye dans du bruit,que l’on peut appliquer avec plus de sequences distinctes wi, i = 0, 1, 2, 3, ....La detection se fera par comparaison d’une statistique de test (la correlationempirique) a un seuil de detection. En prenant des sequences wi plus courtes,par exemple dix fois plus courtes que le signal s, on pourra inserer 10 fois plus dedonnees. La robustesse sera alors plus faible puisque l’hypothese d’orthogonalite< s,w >= 0 sera moins bien verifiee en pratique.

Page 11: Rapport

2.2. ETALEMENT DE SPECTRE (SPREAD SPECTRUM - SS) 11

Reprenons maintenant la gestion de l’inaudibilite (mise en forme spectralepuis egalisation). Les sequences wd sont blanches, c’est-a-dire de densite spec-trale de puissance constante et egale a 1. Pour s’assurer que l’ajout de wd estinaudible, c’est-a-dire que W(k) < M(k), on filtre w dans chaque fenetre parla reponse m(n) = IFFT M (n). Dans la fenetre courante, ceci s’ecrit

x(n) = s(n) + wd ∗m(n) = s(n) +K/2∑

k=−K/2

m(k)wd(n− k)

Si le terme wd(n− k) n’est pas defini, par exemple pour n = 1, k = −K/2, onle remplace par zero. Pour palier les difficultes dues a la non-stationnarite dessignaux audio, on considere des trames qui se recouvrent et que l’on pondere parune fenetre de Hanning dont la somme sur le signal fait 1. C’est la technique diteoverlap-add. Finalement, un parametre d’attenuation α ∈]0, 1[ (typiquement,α = 0.15) est introduit pour gerer l’inaudibitlite et le rapport signal a marque :

x = s± αw ∗m

Pour que la detection sur le signal transmis y se passe bien, il faut inverserl’effet de ce filtrage, c’est-a-dire egaliser le signal avec son masque. Il est plusrapide de le faire en frequence : il suffit de diviser, pour chaque fenetre, Y(k)par son masque My(k), qui est a peu pres egal a M(k), le masque de s :Z(k) = Y(k)/M(k) = (S(k) + αM(k)W(k))/M(k). On detectera ensuite letatouage dans z(n) = IFFT Z (n) :

d = 0 ⇔ < z,w0 >> 0.

On peut aussi faire un filtrage de Wiener. J’en parlerai a la cyclostationnarite.Resumons-nous. Nous disposons d’une sequence blanche de la meme lon-

gueur que le signal. Le signal et la sequence sont decoupes en trame et s,w etx designent des vecteurs dans la trame courante. Voici le traitement a chaquetrame.

Tatouage :

1. Passer en frequence et estimer le masque :

S = FFT sM(k) = |S(k)|, k = 1, ...,K/2 + 1

2. Calculer la reponse impusionnelle du filtre de mise en forme spectrale :m′ = IFFT M et m = m′/‖m′‖1.

3. Filtrer la sequence blanche dans la trame courante : wf = w ∗m.

4. L’ajouter selon la donnee a tatouer avec un facteur d’attenuation : x =s + αwf si d = 1 et x = s− αwf si d = 0.

Detection :

1. Passer en frequence : Y = FFT y.2. Estimer le masque : M = |Y|.

Page 12: Rapport

12 CHAPITRE 2. QUELQUES METHODES DE WATERMARKING

3. Egaliser Z = Y./(M + 10−15).

4. Repasser en temps : z = IFFT Z.La detection se fait sur le signal z entier. Si < z,w > est positif on decide d = 1,sinon d = 0.

2.3 Schema de Costa Scalaire (SCS)

Sans s’attarder trop sur les fondement theoriques du SCS (voir en annexeet [2]), je rappelle que le schema de Costa scalaire est une instance de QIM(Quantization Index Modulation) : selon le bit d a transmettre, on va quantifier1

s d’une certaine maniere :x = q(d)(s).

A la detection aveugle du message, on estimera quel quantificateur a ete utilisepour determiner le bit insere. Theoriquement, cette methode permet de tatouerK/2 bits sur un signal de longueur K. De plus, le detecteur peut etre publicsans danger pour la securite du systeme, puisqu’il est impossible de retrouverl’original s a partir de sa version quantifiee q(d)(s).

Dans le cas scalaire le calcul de q(d)∆ (s) se fait echantillons a echantillons (je

n’ecrirais plus de vecteurs, je noterai x pour x(k)). Eggers et Girod choisissentdes quantificateurs scalaires uniformes, qui ne dependent que d’un pas de quan-tification ∆ (lui aussi defini echantillon par echantillon, lire ∆(k)) et d’un pointq(d)∆ (0).

Nous considererons deux quantificateurs scalaires uniformes decales, de pas∆ ([] designe la partie entiere la plus proche) :

q(0)∆ (x) = [x/∆]∆ ∈ 0,±∆,±2∆, ...

q(1)∆ (x) = q

(0)∆ (x+ ∆/2)−∆/2 ∈ ±∆/2,±∆,±3∆/2...

La marque est definie par w = q(d)∆ (s)− s et

x = s+ αw,

ou le parametre α ∈]0, 1[ permet de faire varier le rapport signal a marque.Voyons maintenant comment estimer quel quantificateur est utilise. Soit S

une variable aleatoire uniforme. Posons Wd = q(d)∆ (S)−S et Xd = S+Wd pour

d = 0, 1. Il est clair que E|q(0)∆ (X0)−X0| = 0 et que E|q(0)

∆ (X1)−X1| = ∆/2.C’est cela que l’on exploite pour la detection : si |q(0)∆ (x)− x| < ∆/4, on decideque d = 0, et que d = 1 sinon.

Cette methode s’adapte bien au modele d’inaudibilite du masquage frequen-tiel, la mise en forme spectrale est quasi naturelle et on a pas besoin d’egalisa-tion. La marque sera inseree sur le module du spectre du signal :

|X(k)| = |S(k)|+ αW (k).1Il s’agit en realite d’une quantification/dequantification. On ne transmet pas l’index des

representants mais leurs valeurs

Page 13: Rapport

2.4. METHODE DE PHILIPS 13

Elle est definie comme un bruit de quantification, donc de puissance ∆2/12. Ilfaut donc s’assurer que ∆(k)2/12 < M(k). On prendra ∆(k) = b

√12M(k)/δcδ,

ou δ est un pas de quantification du masque, par exemple δ = maxM/10.Ceci permet de donner au masque un certain dictionnaire de valeurs, et doncde retrouver le masque a la detection avec plus de precision en gommant lesperturbations du masque dues l’insertion de la marque.

Resumons-nous. Le traitement se fait trame-a-trame.Tatouage :

1. Passer en frequence : S = FFT s.2. Estimer le masque : M(k) = |S(k)|, k = 1, ...,K/2 + 1.

3. En deduire les pas de quantification : ∆ = b√

12M/δcδ avec par exempleδ = (maxM)/10.

4. Quantifier le spectre selon le bit a transmettre : Sq = q(d)∆ (S).

5. En deduire la marque : W = S−Sq et l’ajouter avec une attenuation α :X = S + αW.

6. Repasser en temps : x = IFFT X.Detection :

1. Passer en frequence : Y = FFT y.2. Appliquer la meme procedure d’estimation de ∆ qu’au tatouage.

3. Sur chaque bin de frequence k = 1, ...,K/2+1, calculer C(k) = q(0)∆ (Y(k))−

Y(k).

4. Calculer le vecteur booleen D = C < ∆.

5. Si la moyenne de D est inferieure a 1/2, on decide d = 0, sinon d = 1. Cecicorrespond au decodage hard d’un codage a repetition. On doit pouvoirfaire une decision plus fine sur le vecteur C (algorithme de Viterbi).

2.4 Methode de Philips

La methode est decrite dans [3] et [4]. C’est une modification de la methoded’etalement de spectre, l’information est codee en decalant (shift) une sequenceblanche W, ajoutee directement dans le domaine spectral. Le masque utiliseest le module du spectre du signal porteur.

2.4.1 Tatouage

Theoriquement on peut inserer une donnee d differente a chaque trame,mais pour qu’un pic de correlation apparaisse a la detection, il faut repeter ladonnee d sur un certain nombre de trames. Le tatouage se fait trame-a-tramesans recouvrement, selon la procedure suivante :

1. Decalage de la sequence :

Wd = [W(d, ...,K/2 + 1) W(1, ..., d− 1)].

Page 14: Rapport

14 CHAPITRE 2. QUELQUES METHODES DE WATERMARKING

2. Transformee en frequence de la trame S(k) = FFT s (k), k = 1, ...,K.On prend son module, et comme il s’agit d’un signal reel, on ne garde queles K/2 + 1 premiers points : M(k) = |S(k)|, k = 1, ...,K/2 + 1.

3. Mise en forme spectrale de la marque : W′d = WdM.

4. Retour dans le domaine temporel : w′d = IFFT W′

d.L’elimination de preechos et postechos dues aux non-stationarites du signal sefait sur le signal entier. On calcule une fonction de gain g positive qui suit lesignal lorsqu’il croit (en valeur absolue) et qui decroit en e−βt lorsqu’il decroit.Le premasquage a lieu de 5 a 20 ms avant le signal, le postmasquage de 50 a200 ms apres. Cette fonction est ensuite normalisee de sorte que max g = 1.Finalement :

x = s + αg.w′d

2.4.2 Detection

Les auteurs de la methode passent aussi par une egalisation (comme pourl’etalement de spectre classique), mais elle est independante du signal porteur etdonc du masque ! De plus ils ont trouve une maniere tres astucieuse d’estimer ledecalage tatoue. La detection se fait trame-a-trame selon la procedure suivante.

1. L’egalisation est etonnament simple : filtrer avec f = [−1 2 − 1], c’est-a-dire

yf (n) = −y(n− 1) + 2y(n)− y(n+ 1).

2. Passer dans le domaine spectral : Yf = FFT yf.3. L’intercorrelation entre Yf et W peut se calculer avec la FFT comme

c = IFFT Yf .W .

On aura un maximum pour le decalage correspondant a l’informationtatouee. Mais comme seule l’information de phase nous interesse, on peuteliminer l’information du module :

c = IFFT

Yf

|Yf |.W|W|

.

Finalementd = arg max c

Si l’information d a ete repetee sur plusieurs trames, il faut cumuler (ajouter) lescorrelations sur chacune de ses trames, ou mieux (en temps de calcul) calculerla correlation sur la somme des Yf .

2.4.3 Remarque a propos de la demo fournie par Philips

J’ai teste une version de demonstration d’un systeme de tatouage aveuglefournie par Philips. On peut supposer qu’il fonctionne selon le schema exposeci-avant, mais je n’ai pas pu le mettre en evidence. Par exemple, les marquesinserees w = x−s ne presentent aucune periodicite, ce qu’on peut attendre d’un

Page 15: Rapport

2.5. METHODE ASYMETRIQUE 15

traitement trame-a-trame. Le tatouage d’un fichier tres court (1 a 2 secondes)n’est pas detecte : ces premieres secondes servent peut-etre a tatouer un genred’en-tete ne portant pas d’information (payload). Par ailleurs, on remarque quela marque s’annule sur des intervalles assez longs (plusieurs centaines d’echan-tillons), mais je n’ai pas trouve de periodicite la-dessus non plus. Enfin, lamarque n’est presente que dans les hautes frequences du spectre.

L’attaque de ce systeme n’est pas evidente non plus. Il resiste tres bien al’ajout de bruit (meme important, c’est-a-dire audible), a la desynchronisation(meme importante), au filtrage passe-bas. L’attaque Swap (voir plus loin) effacepar contre completement la marque.

2.5 Methode asymetrique

Voici une methode de tatouage asymetrique, c’est-a-dire a detection pu-blique. Elle est decrite dans [5]. Le schema general est celui de l’etalement despectre. Les methodes a etalement de spectre (SS et Philips) precedemmentexposees necessitent une sequence blanche w a la detection, et la connaissancede cette sequence permet de synthetiser la marque et donc de l’effacer.

L’idee est detecter des proprietes statistiques de la marque plutot que lamarque elle-meme. La marque sera detectee si et seulement si un spectre depuissance d’une certaine forme (la cle publique) est detecte. La methode pre-

Page 16: Rapport

16 CHAPITRE 2. QUELQUES METHODES DE WATERMARKING

sentee ici considere une marque cyclostationnaire2, c’est-a-dire dont les momentssont periodiques. Pour produire un signal cyclostationnaire de cyclofrequenceα, il suffit de prendre

w(n) = b(n) cos(2παn)

ou b est un vecteur pseudo-aleatoire blanc gaussien centre de variance 1. Ladetection de la cyclofrequence α de w(n) se fait par la TF de w2(n) qui presenteun pic en 2α. On constate que

w2(n) =12b2(n) (1 + cos(4παn))

La donnee inseree est binaire et sera codee par une presence ou absence demarque.

2.5.1 Tatouage

Le tatouage se fait trame-a-trame de longueur K sans recouvrement. Lasequence cyclostionnaire w est de longueur K. On commence par la permuter(fonction ’randperm’ sous Matlab). On de-permutera le signal en reception demaniere a retablir la marque cyclostationnaire et a blanchir le signal porteur.Un coefficient d’attenuation est introduit pour regler le niveau signal a marque.

1. Passer en frequence : S = FFT s.2 Definition de la cyclostationnarite : Soit X(t) un processus stochastique non-

stationnaire (c’est-a-dire un ensemble des realisations de signaux aleatoires ayant des pro-prietes statistiques communes X(t, ω)). Supposons que ses moments mk(t) := E[X(t)k] −E[X(t)]k verifient

∃α ∈ R+ tel que (∀k ∈ N)(∀t > 0) mk(t + 1/αk) = mk(t),

ou αk = kα. Alors le processus est dit cyclostationnaire de frequence de cycle (ou cyclofre-quence) α. Si c’est vrai seulement pour k ≤ 2, on parle de cyclostationnarite au sens large.

Un processus stationnaire est evidemment cyclostationnaire pour toute frequence decycle... Les statistiques d’un tel processus etant periodiques, tout un tas de methodes deFourier deviennent disponibles. Un signal cyclostationnaire est une trajectoire d’un processuscyclostationnaire.

Exemples :(i) Les exemples typiques se trouvent en communication numerique. Les signaux PSK sont

cyclostationnaires.(ii) Soit a(n) un signal stationnaire centre. On obtient un signal cyclostationnaire en consi-

derantx(n) = a(n) cos(2παn).

Sa moyenne est nulle, regardons plutot son carre :

y(n) = x2(n) =a2(n)

2(1 + cos(4παn)).

En regardant les statistiques de y(n) (par exemple sa moyenne), on verra qu’elles sontperiodiques de periode 1

2α. C’est cette caracteristique que nous exploiterons pour detecter

les signaux cyclostationnaires.Propriete

Soient X(w, t) un processus cyclostationnaire et φ(w) une phase aleatoire. Alors on peutmontrer que X(w, t + φ(w)) est un processus stationnaire.

Page 17: Rapport

2.5. METHODE ASYMETRIQUE 17

2. Calculer le masque, simplement : M(k) = |S(k)|, k = 1, ...,K/2 + 1.

3. Calculer la reponse impulsionnelle du masque : m = IFFT M4. Mise en forme spectrale pour l’inaudibilite : si la norme ‖m‖1 =

∑n |m(n)|

du masque n’est pas nulle, poser m′ = m/‖m‖1 et

wf (n) = w ∗m′(n) =K/2∑

k=−K/2

m′(k)w(n− k)

et sinon poser wf = 0.

5. Ajout du tatouage : x = s + αwf , ou typiquement α = 0.15 assure l’in-audibilite de l’insertion.

2.5.2 Detection

L’etape delicate de la detection est l’egalisation, c’est-a-dire la deconvolutionpar le masque du signal. La forme du spectre de la marque etant decisive, ladeconvolution est un point sensible. Je commence donc par decrire la procedured’egalisation. On estimera la marque comme w(n) = g∗y =

∑Li=−L g(i)y(n−i).

L’erreur est donnee par e = w − w. Le critere a minimiser choisi est l’erreurquadratique J = E

e2(n)

. Calculons le gradient de ce critere

∂J

∂g(i)=

∂Ee2(n)

∂g(i)

= 2E∂e(n)∂g(i)

e(n)

or∂e(n)∂g(i)

= −y(n− i)

et y(n) = s(n) + α

K/2∑k=−K/2

m(k)w(n− k)

donc∂J

∂g(i)= 2E −y(n− i)(w(n)− w(n))

= 2E −y(n− i)w(n)+ 2∑

l

g(l)E y(n− i)y(n− l)

Posons p(i) = E y(n− i)w(n) et r(l − i) = E y(n− i)y(n− l) (une hypo-these de stationnarite est implicite). Alors

∂J

∂g(i)= 0 ⇔

∑l

g(l)r(l − i) = p(i).

Avec R = toeplitz(r, r), ceci peut s’ecrire sous forme matricielle

Rg = p

et si R est suffisamment bien conditionnee, on a g = R−1p. Sinon (c’est la unpoint sensible, comment estimer si elle est bien conditionnee ?), on peut choisirde poser w = 0 dans la trame courante. r peut-etre estime a partir des donnees

Page 18: Rapport

18 CHAPITRE 2. QUELQUES METHODES DE WATERMARKING

recues, mais on a pas directement acces a p. Or on connait la statistique de wet un calcul analytique permet de retrouver p :

p(i) = E y(n− i)w(n)= E s(n− i)w(n)+

∑k

m(k)E b(n)b(n− k − i) cos(2παn) cos(2πα(n− k − i))

=12

∑k

m(k)E b(n)b(n− k − i) (cos(2πα(2n− k − i)) + cos(2πα(k + 1)))

=12

∑k

m(k)δ(k + i) (cos(2πα(2n− k − i)) + cos(2πα(k + i)))

=12m(−i)(1 + cos(4παn))

La dependance en n est facheuse, mais on pouvait s’y attendre, puisque lamarque est cyclostationnaire et de periode 1

2α . Si on l’oublie, ca marche quandmeme pas trop mal. Restons en la pour l’instant.

Voici donc comme se passe la detection :

1. Egaliser, independamment sur chaque trame, avec

wt(n) = g ∗ y

ou

g = R−1p

R = toeplitz(r, r),r(l) = E y(n)y(n− l) ,

p(i) =12m(−i).

2. Sommer les vecteurs egalises sur toutes les trames : w(n) =∑

t wt(n).

3. Inverser la permutation : w′ = invperm(w).

4. Transformer le carre en frequence : W = FFT(w′)2

.

5. Y’a-t-il un pic en 2α ? Si oui la marque est presente (d = 1) sinon d = 0.Detection du pic :

W(2α) > 5 ∗ std(W)

BIBLIOGRAPHIE

[1] Mitchell D. Swanson, Bin Zhu, Ahmed H. Tewfik, Laurence Boney, Ro-bust Audio Watermarking using perceptual masking, Signal Processing 66(1998), pp. 337-355.

[2] Joachim J. Eggers, Robert Bauml, Roman Tzschoppe, Bernd Girod, Sca-lar Costa Scheme for Information Embedding, IEEE Transactions on Si-gnal Processing, a paraitre.

[3] Jaap Haistma, Michiel van der Teen, Ton Kalker, Fons Bruekers, AudioWatermarking for Monitoring and Copy Protection, ACM 2000 WorkshopMultimedia and Security, Los Angeles.

Page 19: Rapport

2.5. METHODE ASYMETRIQUE 19

[4] Michiel van der Teen, Fons Bruekers, Jaap Haistma, Ton Kalker, AwekeNegash Lemma, Werner Ooman, Robust, Multi-Functional and High-QualityAudio Watermarking Technology, AES Convention Paper presented at the110th Convention, 2001 May 12-15 Amsterdam, The Netherlands.

[5] Leandro De Campos Teixeira Gomes, Tatouage de signaux audio, Thesede doctorat de l’Universite Rene Descartes, Paris V, Juillet 2002.

Page 20: Rapport

20 CHAPITRE 2. QUELQUES METHODES DE WATERMARKING

Page 21: Rapport

Chapitre 3

Quelques methodes d’attaques

Voici quelques attaques generiques avec lesquelles il est raisonnable de testerla robustesse les methodes de tatouage. Il en existe certainement beaucoupd’autres.

3.1 Ajout de bruit masque

Une maniere simple d’ajouter du bruit masque est de proceder trame-a-trame de longueur K comme suit :

1. Passer en frequence et estimer le masque : M(k) = |FFT x |(k), k =1, ...,K/2 + 1.

2. Poser W = B.M, ou B est un bruit blanc gaussien de puissance unite.

3. Repasser en temps : w = IFFT W.4. Ajouter au signal tatoue avec une attenuation α : y = x + αw.

On peut raffiner la chose en tenant compte de l’enveloppe temporelle du signal,comme au tatouage par la methode de Philips. Cette attaque peut modeliserune compression par un codeur perceptif.

3.2 Desynchronisation

La desynchronisation est une attaque tres efficace contre les methodes detatouage qui inserent la marque dans le domaine temporel (SS, Cyclostionarite),car ces methodes supposent une synchronisation parfaite entre l’emetteur et lerecepteur. Les methodes qui manipulent le module du spectre du signal pourtatouer y sont moins sensibles (SCS, Philips). La version la plus simple de ladesynchronisation est un decalage initial de D echantillons y(n) = x(n + D).Ceci peut se faire trame-a-trame. Le pirate cherchera a obtenir le plus granddecalage possible sans que cela s’entende. Une maniere simple de faire est de :

1. Calculer l’enveloppe du signal comme la fonction de gain g (voir 2.4).

2. Decaler les echantillons au moments ou g est nulle (c’est-a-dire pendantles silences).

21

Page 22: Rapport

22 CHAPITRE 3. QUELQUES METHODES D’ATTAQUES

3. Cela peut se faire dans un sens ou dans l’autre : on peut choisir d’eliminerles echantillons silencieux (decalage vers la gauche), ou bien d’inserer desechantillons nuls (decalage vers la droite).

Cependant il faut faire attention a ne pas decaler trop d’un coup, sinon cela seremarque. On peut choisir d’autoriser une decalage de 5%, par tranches de 100ms.

3.3 Autres

– Filtrage passe-tout : Attaque que j’ai trouve dans l’article [3] (sur lamethode de Philips). D’apres [5], ”cela decale differemment chaque com-posante spectrale du signal ce qui reduit la correlation entre le signal et[la marque]”.

– Inverse Pour jouer sur la phase du signal sans que cela s’entende : achaque silence, inverser (y = −x) la suite du signal (a partir de ce silence).

– Rechantillonnage Remplacer un point sur deux par la moyenne de sesvoisins.

– Swap Inverser l’ordre des echantillons par paires : y(2i) = x(2i + 1),y(2i + 1) = x(2i). C’est quasi-inaudible a 44.1 kHz. J’ai trouve cetteattaque dans Stirmark Audio. Cette transformation est lineaire mais noninvariante dans le temps. Il est donc difficile de la representer en frequence(ce n’est pas un filtre).

Page 23: Rapport

Chapitre 4

Synthese

4.1 Performances de ces methodes

Il est difficile d’evaluer les performances de ces methodes. On constate quepour chacune d’elles, il existe une attaque qui efface la marque (elle n’est pasdetectee). Du point de vue de la capacite (le maximum du taux de marquagesans erreur de detection), il est aussi difficile de classer les methodes : quelquesattaques doit-on prendre en compte ? Et comparer une methode a cle publiquea une methode aveugle ne fait pas sens. Ceci dit, la methode asymetrique decyclostatonnarite mise-a-part, elles permettent de tatouer 10 bits/sec en restantrobuste a un ajout de bruit masque.

Le schema de Costa est tres prometteur. Sa capacite de marquage impor-tante permet une grande liberte de choix d’une technique de codage canal. Latechnique plus simple etant de repeter les echantillons, mais on peut aussi s’ins-pirer de la methode de Philips : decaler une sequence binaire selon l’informationa tatouer.

4.2 Briques elementaires

J’ai releve quelques briques elementaires qui composent ces methodes detatouage.

Mise en forme spectraleLe but est de filtrer la marque de sorte que son spectre de puissance soit sous

le masque frequentiel. Ceci peut-etre en temps (convolution) ou en frequence(attention car ceci correspond a une convolution circulaire), selon le domaineou la marque est ajoutee (en temps pour SS, Cyclostationarite ; en frequencepour Philips).

EgalisationIl est indispensable d’inverser la mise en forme spectrale avec une egali-

sation. Elle peut etre faite dans le domaine spectral (SS), dans le domainetemporel avec une methode de type Wiener (voir la methode asymetrique par

23

Page 24: Rapport

24 CHAPITRE 4. SYNTHESE

cyclostationarite), ou bien arbitrairement (Philips).

Codage de l’informationComment fabriquer w en fonction de d : on peut jouer sur le signe d’une

sequence pseudo aleatoire (SS), le decalage de cette sequence (Philips, ce quipresente l’avantage de calculer une correlation de phase et affranchit du mo-dule), ou prendre des sequences orthogonales (une par bit ou mot de message).

4.3 Conclusion

L’existence d’une methode robuste aux attaques malveillantes est encore unequestion ouverte. Il est possible que des contre-mesures arrangent les choses(methodes de resynchronisation par exemple). Mais on peut jouer comme calongtemps au chat et a la souris, et resister a toutes les attaques est-il un butraisonnable ? D’autant plus que les methode les plus susceptibles d’etre atta-ques (les methodes asymetriques recherchees pour la protection de copie) sontaussi les plus ”faibles”, c’est-a-dire difficiles a proteger. Il me semble irrealistede se donner comme but la recherche d’une methode robuste aux attaques mal-veillantes. Le danger est de se disperser, je crois qu’il est temps de se fixer uncadre applicatif interessant France Telecom. Definir alors un catalogue de ma-nipulations legitimes et trouver une methode qui y resiste serait un resultat trespositif et encourageant pour toute la communaute du watermarking.

Page 25: Rapport

Annexe A

Environnement deprogrammation

Dans ce chapitre, je decris l’environnement de programmation Matlab aveclequel j’ai developpe les quatres methodes de tatouage du chapitre 2. Le reper-toire racine est suppose etre h :/Code Matlab/. On mettra utilement quelquesrepertoires dans le chemin (variable path), pour les appeler facilement.

% fichier h:/Code Matlab/init.m

disp(’*** Initialisation ***’);

echo on;

path(path, ’h:\Code Matlab\Masquage’); % contient les procedure de calcul du masque

path(path, ’h:\Code Matlab\Attacks’); % contient les procedure d’attaques

path(path, ’h:\Code Matlab\Tools’); % contient les outils generaux

echo off;

A.1 Methodes de tatouage

Chaque methode comporte une procedure de tatouage prefixee Code et uneprocedure de detection prefixee Decode. Ces procedures prennent en argumentsoit une suite binaire, soit une suite de nombre de 1 a 1024, pour une longueurde trame de Ltrame = 2048). Chaque element de cette suite sera codee surune partie du signal a tatoue. Par exemple, pour le tatouage d’une suite de 10bits (nombres) d1, ..., d10 sur un signal de 1000 points, le premier bit (nombre)sera tatoue sur les 100 premiers points du signal porteur, le second sur les 100suivants, etc. Dans certains cas, j’ai ecris une fonction qui ne prend qu’un seulelement di, suffixee _block, elle est appelee par la procedure de tatouge quigere le tatouage des di sur les tranches de signal.

La fonction de tatouage prend en argument d’entree le signal mono (un vec-teur colonne) et le message. Elle sort le signal tatoue. La fonction de detectionprend en argument le signal tatoue et la longueur du message. Elle sort le mes-sage.

Exemple :Pour essayer la methode de tatouage par etalement de spectre, on fera :

>> cd ’h:\Code Matlab\Methodes\SS’;

25

Page 26: Rapport

26 ANNEXE A. ENVIRONNEMENT DE PROGRAMMATION

>> x = CodeSS(s,[0 1 0]);

[SS] insertion de la marque:100%

>> msg = DecodeSS(x,3);

>> msg

msg =

0 1 0

Il en est de meme avec SCS, SSS (Philips) et Cyclo (methode de tatouageasymmetrique avec des marques cyclostationnaires). Voici donc la liste des fi-chiers :

1. Dans Methodes/SS/ :CodeSS.m, DecodeSS.m.

2. Dans Methodes/SCS/ :CodeSCS.m, DecodeSCS.m, CodeSCS_block.m, DecodeSCS_block.m.

3. Dans Methodes/SSS - Philips/ :CodeSSS.m, DecodeSSS.m, CodeSSS_block.m, DecodeSSS_block.m.

4. Dans Methodes/Cyclostationarite/ :CodeCyclo.m, DecodeCyclo.m, CodeCyclo_block.m, DecodeCyclo_block.m.

A.2 Attaques

Les attaques sont dans le repertoire Attacks. Pour avoir de l’aide : helpAttacks. Voici la liste des procedures :

AddMaskedNoise maskAjoute un bruit filtre par le masque. C’est un peu lent a cause de la convo-

lution.

AddMaskedNoiseAjoute un bruit filtre par le masque dans le domaine spectrale.

AddMaskedNoiseGilloireMeme chose, la phase du bruit gaussien ne change pas. Ecrit par A. Gilloire.

DesyncDesynchronisation douce y(t) = x(t+ cos(t)).

DesynchronizationDesynchronisation trame-a-trame, a chaque trame on decale aleatoirement

de D echantillons vers la gauche.

EDesynchronizationDesynchronisation sur les silences, c’est-a-dire les creux de l’enveloppe du

signal. La detection d’enveloppe est faite par design_gain.m.

Page 27: Rapport

A.3. OUTILS 27

AllPassFilteringFiltrage passe-tout. La fonction de transfert est H(z) = (0.81z2 − 1.64z +

1)/(z2 − 1.64z + 0.81).

ResamplingSous et sur echantillonnage a fs/2 (on remplace un point sur deux par la

moyenne de ses deux voisins.

SwapEchange par paire consecutives les echantillons en temps. Quasi inaudible a

44.1 kHz, mais pas a 16 kHz.

A.3 Outils

Voici l’ensemble des procedures appelees par les algorithmes de tatouage.Je les ai rangees dans le repertoire Tools.

ConvolutionLa fonction conv de Matlab n’est pas evidente a manipuler, surtout si l’on

souhaite prendre en compte le passe et le futur du signal a filtrer. Cette pro-cedure facilite les choses. Le filtre h sera symetrique et dans un vecteur h a2K+1 points tel que h(K+1) soit le centre, c’est-a-dire h(K+1) = h(0) dansl’equation

y(n) =K∑

k=−K

h(k)x(n− k).

Design GainLa procedure rend l’enveloppe temporel du signal x. Voir l’article de Lau-

rence Boney [1], page 344, pour plus de precisions.

Choix MaskCette procedure quantifie le masque frequentiel d’un signal, pour que l’on

puisse au tatouage et a la detection avoir un masque commun. C’est imporantpour le SCS par exemple.

qsuQuantification scalaire uniforme. La procedure fonctionne aussi bien avec

des vecteurs qu’avec des scalaires. Si le pas de quantification est nul, alors lesignal est laisse tel quel.

POCorrelationPhase Only Correlation. Cette procedure calcule rapidement (a l’aide de

FFT) la correlation des phases de deux signaux apres avoir normalise leurs mo-

Page 28: Rapport

28 ANNEXE A. ENVIRONNEMENT DE PROGRAMMATION

dules. Voir l’article [3] pour plus de precisions.

EgalisationCette procedure est appelee par la detection de tatouage cyclostationnaire.

Il faut l’ameliorer, a cause de la dependance en temps du filtre (voir chapitre 2).

GetFilterTransforme une reponse en frequence H(k) en reponse impulsionnel h(n).

Le vecteur de sortie est directement utilisable par la procedure de convolution.

InvPermFonction reciproque de randperm.

A.4 Masquage

Une procedure de calcul du masque frequentiel est disponible pour les si-gnaux echantillonnes a 16 kHz : seuil_mask. En voici un exemple d’utilisation :

masq2 = seuil_mask(s(indx),Ltrame,16000);

masq2 = masq2(1:K);

mask = sqrt(masq2’/Ltrame);

h = GetFilter(mask);

x(indx) = convolution(w(indx), h, s(indx_old), s(indx_futur));

La procedure seuil_mask renvoie le masque frequentiel, homogene a unedensite de puissance. C’est pourquoi on prend la racine de ce masque pourl’appliquer ensuite en temps. De plus, sous Matlab, la tranformee de Fourier neconserve pas la puissance du signal, d’ou le facteur de correction 1/Ltrame.

Page 29: Rapport

Annexe B

Theorie de l’information etWatermarking

B.1 Evolution historique

Pourquoi l’idee de Side InformationUn principe de base du watermarking est directement issu des telecommuni-

cations numeriques : l’etalement de spectre, le fait que, la puissance du tatouageetant faible devant celle du signal audio, il faudra l’etaler un peu partout, entemps et en frequence, pour pouvoir la detecter. De la, il est tentant de voirle probleme du tatouage comme un probleme de telecom pure : transmissiond’un message (la marque) dans un signal hote, qui joue a la fois le role du canalde transmission et celui du bruit. L’histoire de l’etalement de spectre, son ori-gine militaire, confirme ce point de vue. En tant que principe de superposition(ajout d’une sequence a spectre large codant l’information tatouee), l’etalementde spectre est incontournable.

Cependant il existe une difference fondamentale entre le probleme du ta-touage et le probleme de telecommunication : au tatouage, nous connais-sons le signal hote, c’est-a-dire le canal1. L’importance de cette idee estrelevee dans l’article de Cox [1].

Attention : depuis toujours, le signal hote est intervenu dans la fabricationdu tatouage, au moins son insertion avec la mise en forme spectrale, pour sa-tisfaire la contrainte de perceptibilite. L’idee de Cox va plus loin : profiter dusignal hote a la creation de la marque. Rien ne nous empeche ensuite d’utili-ser les memes principes d’incrustation que les methodes classiques de tatouage.L’idee de side information semble fondamentale. Dans la pratique, elle est en-core peu exploitee.

Travaux fondateurs sur le sujet en codage de sourceC’est Shannon qui a, le premier, introduit la communication with side in-

1Les autres differences n’en sont pas vraiment, je pense : la contrainte de perceptibiliteressemble beaucoup a la contrainte de puissance, meme si elle plus compliquee, le fait qu’on aune certaine liberte de choix sur le canal avec la fonction d’extraction (cf Thes de T. Furon)n’est pas non plus absent en telecom.

29

Page 30: Rapport

30 ANNEXE B. THEORIE DE L’INFORMATION ET WATERMARKING

formation [2]. Il s’interessa a la capacite de canaux de communications, quandle codeur et/ou le decodeur a de l’information sur l’etat passe du canal.

Un probleme adjacent est celui du codage de deux sources X et Y correlees,le distributed source coding. En 1973, Slepian et Wolf font une etude exhaustivedes differents scenarii [3], le codeur ou le decodeur de X ou de Y disposant ounon d’information sur Y . Ils etablissent un resultat surprenant : que le codeur deX connaisse ou non Y , on peut atteindre le meme taux de codage, si le codageest sans perte. En 1976, Wyner et Ziv [4] generalisent cela au codage avecperte (quantification) pour une source gaussienne. Ils montrent que la fonctiontaux-distorsion est donnee par

R(d) = minp(u|x),E[D(x,x)]<d

I(X,U)− I(Y, U)

ou U est une variable aleatoire auxiliaire, utilisee par le codeur et le decodeur,mais qui n’est pas transmise, comme un dictionnaire.

Dualite codage de source/codage canalLa dualite entre le codage de source et le codage canal est connu depuis

longtemps. Berger la mentionne dans [5] : ”A useful analogy exists between sourceencoders and channel decoders and also between channel encoders and sourceencoders”.

Bergot [6] exploite cette dualite pour etudier le codage conjoint source-canal.Il ecrit : ”Codage de source et codage de canal sont deux activites duales : l’unesupprime de la redondance tandis que l’autre en ajoute. [...]Le codeur de sourceet le decodeur de canal remplissent les memes taches, a savoir retrouver suivantun certain critere un mot de code a partir d’un mot recu et fournir l’etiquetteou le mot d’information associe. De meme, le decodeur de source et le codeurde canal accomplissent la meme tache.”

Barron, Chen et Wornell explicitent cette correspondance [7].

Codage canal et WatermarkingLe probleme du watermarking peut-etre vu comme un cas particulier de

codage canal. Appelons x(s,m) le signal tatoue, fonction du signal originals et du message m a tatouer. Cette fonction peut toujours s’ecrire sous laforme d’une somme x(s,m) = s+w(s,m) en definissant simplement w(s,m) =x(s,m)− s. Ainsi w(s,m) est l’entree d’un super-canal, combinaison du signaloriginal cascade avec le canal veritable, liant le codeur au decodeur (attaques,erreurs de transmission) [8]. Ainsi le codage canal avec side information sur lecanal permet-il de faire du watermarking (ou information embedding). Gel’fandet Pinsker [9] trouvent la capacite d’un canal quand le codeur a la connaissancecomplete des etats S du canal (etats passes et futurs). Comme pour le distributedsource coding, c’est une difference d’information mutuelle :

C = maxp(u,x|s)

I(X, U)− I(S,U)

si on appelle S l’etat du canal et X la sortie du decodeur. Costa [10] appliquece resultat dans le cas gaussien, pour lequel il donne un schema de codage op-timal : U = X + αS. Mais ces derniers ne considerent pas de contraintes de

Page 31: Rapport

B.2. SCHEMA DE COSTA SCALAIRE 31

distorsion.

Information HidingC’est dans [7], puis [11] que sont prises en compte les contraintes de distor-

sion. Les auteurs montrent que la capacite de marquage est

C(D) = maxp(u,x|s)E[D(x,x)]<D

I(X, U)− I(S,U).

Ils decouvrent aussi que, comme en codage de source, on peut se passer d’infor-mation au decodeur dans le cas gaussien. En d’autres termes, avec des signauxgaussiens, le signal original n’est pas necessaire au decodeur (blind watermar-king). Ils donnent aussi les attaques optimales, toujours dans le sympathique casgaussien, examine en long, en large et en travers. Pratiquement, c’est la distancequadratique ou de Hamming qui est consideree comme mesure de distorsion. Ilmanque bien sur une metrique representative de la perception humaine. Chenet Wornell [8] proposent un nouveau schema de marquage qui s’inspirent de cesresultats theoriques, base sur la quantification dither : on marque un signal enle quantifiant selon un dictionnaire qui depend de la marque. Eggers et Girodont une approche voisine [12].

B.2 Schema de Costa Scalaire

Pour concretiser les considerations theoriques de Costa, Eggers et Girodproposent un schema simple de Watermarking.

Ideal Costa Scheme (ICS)Rappelons d’abord les idees de Costa (Writing on Dirty Papers). Il considere

le probleme de communication suivant2. On veut envoyer un message de marquem en l’inserant dans un signal hote iid de distribution normale x3 (la salete dupapier) de puissance σ2

x. Pour cela on dispose d’un codeur f , charge de mettreen forme m en fonction de x, c’est-a-dire de fabriquer la marque. Evidemmentcette marque est contrainte, elle est de puissance maximale P . On appelle s lesignal marque.

w = f(x,m), σ2w < P

s = x + w

Le canal est modelise par un bruit gaussien iid additif v de puissance σ2v . En

sortie, on place un decodeur φ.

r = s + v = x + w + v

m = φ(r)

Le codeur produit w = f(m,x) en s’aidant d’un dictionnaire construit a partird’une variable aleatoire auxilaire u : etant donne x, le codeur cherche u tel que

2j’ai la flegme de faire un dessin, alors j’enumere...3Attention changement dans les notations, Eggers et Girod notent x le signal original et s

le signal tatoue.

Page 32: Rapport

32 ANNEXE B. THEORIE DE L’INFORMATION ET WATERMARKING

(u,x) soit conjointement typique et sort w tel que (w,u,x) soit conjointementtypique. On pourrait penser qu’annuler l’effet de x est une strategie gagnante :w = m−x, c’est-a-dire r = m+v. La capacite est alors de C = 1

2 log(1 + (P −σ2

x)/σ2v) (capacite d’un canal gaussien).

Costa demontre que l’on peut faire mieux. D’apres Gelfand et Pinsker, lacapacite d’un tel schema de communication est donnee par

C = maxu

(I(u, r)− I(u, x)).

Costa calcule la capacite et donne un codeur qui l’atteint avec

U = w′i + αx′

i, 1 ≤ i ≤ LU,

ou w′i et x′

i sont des realisations de vecteurs iid de lois gaussiennes de variancesσ2

w et σ2x respectivement. Il existe au moins un dictionnaire U , pour LU →∞, qui

atteint la capacite C, avec α∗ = σ2w/(σ

2w + σ2

v). Pour securiser le watermarking,on introduit une cle k. Bon, mais ce truc la n’est pas pratique car il faut avoirun dictionnaire immense pour atteindre des perfs correctes. Eggers et Girodproposent d’utiliser un dictionnaire plus simple :

U = U (1) × ...× U (1)

ou les U (1) sont des dictionnaires de dimension 1. Autrement dit, ils proposentde decouper Rn avec des cubes plutot que de maniere quelconque. On dit queU est un dictionnaire scalaire.

Scalar Costa Scheme (SCS)Costa considerait des dirt a distribution normale. Eggers et Girod se re-

streignent sur le dictionnaire mais ils y gagnent car x n’est plus suppose gaus-sien. Avec un dictionnaire scalaire, le codage de m peut se faire composantepar composante. Alors on ecrit m = (d1, d2, ..., dn). Pour simplifier les choses onsuppose que l’alphabet est binaire : di ∈ 0, 1. Ils choisissent un dictionnaireU (1) equivalent aux representants d’un quantificateur scalaire uniforme de pasα∆/2, formellement

U (1) = u = lα∆ +d

Dα∆ | d ∈ 0, 1, l ∈ Z.

L’article d’Eggers and Co utilise le vocabulaire de la quantification grace a untour de passe-passe que je n’ai pas bien compris (explications bienvenues) :

For a Costa-type embedding of the watermark letters d a jointlytypical pair (u0,x) has to be found, which is equivalent to finding asequence q = w/α = u0/α− x which is nearly orthogonal to x. Forthe given codebook, this process can be reduced to the sample-wiseoperation

qn = q∆

(xn −∆

(dn

2+ kn

))−

(xn −∆

(dn

2+ kn

))where q∆ denotes the scalar uniform quantization with step ∆.

Page 33: Rapport

B.2. SCHEMA DE COSTA SCALAIRE 33

Enfin bref, nous voila dans les quantificateurs with step ∆... Finalement, lawatermark est w = u0−αx = αq et le signal watermarke est s = x+w = x+αq.La marque est donc inseree sous forme de bruit de quantification q. En tant quebruit de quantification, q est de puissance moyenne ∆2

12 . Le WNR (Watermarkto Noise Ratio), α et ∆ sont lies par les relations suivantes :

σ2w = α2E[q2], E[q2] =

∆2

12, WNR = 10 log10

σ2w

σ2v

A WNR fixe, le codeut est determine par α. Le meilleut codeur (α) est celui quimaximise I(y, d) (quel rapport avec (I(u, r)−I(u, x)) ?). Le α∗ du ICS n’est pasforcement la valeur optimale de α dans notre cas, car la structure du diction-naire est fixee, et donc le dictionnaire est sous-optimal. Eggers et Girod n’ontpas de solution analytique pour α∗ du SCS. Le decodeur doit recuperer le bruitde quantification pour le quantificateur (dictionnaire) q∆ : yn = q∆(rn) − rn.On peut securiser ces codeurs/decodeur en introduisant une clef. On constateque pour dn = 0, ce bruit sera proche de 0, et si dn = 1, alors |yn| est proche de∆/2. Une decision par seuil (|yn| >< ∆

4 ) est donc suffisante pour avoir dn. Avecun codage correcteur d’erreur en amont, les decodages plus soft sont a envisager.

QuestionsLes systemes dits a etalement de spectre sont-ils, finalement, conformes au

modele de Costa (”Do the best you can with what you have”) ? Et sinon pour-quoi ? et peut on les modifier pour qu’ils soient conformes (on peut attendreque cela augmente leur capacite sans reduire leur robustesse) ?

BIBLIOGRAPHIE

[1] Ingemar J. Cox, Matthew L. Miller, Andrew L. McKellips, Watermarkingas Communications with Side Information, Proceedings of the IEEE, Vol87, No 7, July 1999.

[2] C. E. Shannon, Channels with Side Information at the Transmitter, IBMJournal of Research and Development, pp. 289-293, 1958.

[3] David Slepian, Jack W. Wolf, Noiseless Coding of Correlated InformationSources, IEEE Transactions on Information Theory, Vol. IT-19, No. 4,July 1973.

[4] Aaran D. Wyner, Jacob Ziv, The Rate-Distorsion Function for SourceCoding with Side Information at the Decoder, IEEE Transactions on In-formation Theory, Vol. IT-22, No 1, January 1976.

[5] Toby Berger, Rate Distorsion Theory, a Mathematical Basis for DataCompression, Prentice-Hall Electrical Engineering Series, Englewood Cliffs,New Jersey, 1971.

[6] Francois-Xavier Bergot, Dualite entre codage de source et codage canal,These de doctorat de l’ENST, 2000.

[7] Richard J. Barron, Brian Chen, Gregory Wornell, The Duality BetweenInformation Embedding and Source Coding with Side Information andSome Applications, IEEE Trans. Information Theory, January 2000.

Page 34: Rapport

34 ANNEXE B. THEORIE DE L’INFORMATION ET WATERMARKING

[8] Brian Chen, Gregory W. Wornell, Quantization Index Modulation : AClass of Provably Good Methods for Digital Watermarking and Informa-tion Embedding, IEEE Transactions on Information Theory, Vol 47, NO.4, May 2001 et ISIT 2000, Sorrento, Italy, June 25-30, 2000.

[9] S.I. Gel’fand, M.S. Pinsker, Coding for Channel with Random Parameters,Problems of Control and Information Theory, Vol. 9 (1), pp. 19-31, 1980.

[10] Max H. M. Costa, Writing on Dirty Paper, IEEE Transactions on Infor-mation Theory, Vol. IT-29, No. 3, May 1983.

[11] Pierre Moulin, Joseph A. O’Sullivan, Information Theoretic Analysis ofInformation Hiding, Revised January 2000.

[12] Joachim J. Eggers, Robert Bauml, Roman Tzschoppe, Bernd Girod, Sca-lar Costa Scheme for Information Embedding, IEEE Transactions on Si-gnal Processing, a paraitre.

Page 35: Rapport

Annexe C

Theorie de l’information :notes de lecture

C.1 Preliminaire : les sequences typiques

Soit X une variable aleatoire prenant les valeurs 1, 2, ..., N avec les probabilitesp1, p2, ..., pN respectivement. Soit X1, ..., Xn une sequence de v.a. i.i.d. avec la memedistribution que X. On repete n fois une experience dont le resultat est (modelise par)X, et on compte le nombre de fois que ce resultat vaut j ∈ 1, 2, ..., N. Formellement :soit Yi = 1 si Xi = j et Yi = 0 sinon. On considere Fj =

∑ni=1 Yi. Pour n grand, Fj est

approximativement npj (devient deterministe a n→ +∞). Alors

Fj − npj√npj(1− pj)

est de distribution normale, d’apres le

Theoreme 1 (Theoreme Central Limite) Soit (Xn), n ∈ N∗ une suite de variablesaeatoires independantes de meme loi, d’esperance µ et de variance σ2 finies. Posons :

∀n ∈ N∗, Xn =X1 + ...+Xn

net Zn =

√n

σ(Xn − µ).

La loi de Zn converge vers la loi normale N (0, 1), c’est-a-dire que pour tout a < b

limn→∞

P (a < Zn < b) =∫ b

a

1√2πe−x2/2dx

Nous cherchons a relier ceci a la notion d’entropie. Soit k ∈ R+. Une sequence X1 =a1, ..., Xn = an est dite sequence k-typique si et seulement si sa realisation estime fj

telle que|fj − npj |√npj(1− pj)

≤ k pour tout j = 1, 2, ..., N.

Soit a = (a1, ..., an) une sequence, ou aj ∈ 1, 2, ..., N. Ecrivons X = a pourXi = ai, i = 1, ..., N . Si a est typique, alors

npj − k√npj(1− pj) ≤ fj ≤ npj + k

√npj(1− pj)

−∑

j

(npj − k√npj(1− pj)) log pj ≤ − logP (X = a) ≤ −

∑j

(npj + k√npj(1− pj)) log pj .

35

Page 36: Rapport

36 ANNEXE C. THEORIE DE L’INFORMATION : NOTES DE LECTURE

Posons A = −k∑

j

√pj(1− pj) log pj , alors

2−nH(X)−√

nA ≤ P (X = a) ≤ 2−nH(X)+√

nA

Ceci nous inspire une autre definition de sequence typique.

Definition 1 (sequence typique) Soit ε > 0. Une sequence x1, ..., xn est dite ty-pique (relativement a ε) si et seulement si

2−n(H(X)+ε) ≤ p(x1, ..., x2) ≤ 2−n(H(X)−ε).

On note TnX(ε) et on appelle ensemble typique l’ensemble de ces sequences.

Ainsi une sequence typique apparait-elle avec une probabilite voisine de 2−nH(X). Il estclair que

ε1 < ε2 ⇔ TnX(ε1) ⊂ Tn

X(ε2).

Exemple : Soit X une variable binaire, telle que p(0) = 0.7 et p(1) = 0.3. Consi-derons les sequences de n = 10 bits independants. Prenons une de ces sequences auhasards. La probabilite pour que trois 1 y apparaissent est 0.770.33. Il existe C3

10 se-quences avec trois 1. Finalement, la probabilite d’occurence de trois 1 est de 0.770.33C3

10.Elle est plus elevee que pour toute autre frequence (nombre de 1) de 1. La sequence(0, 0, 0, 1, 0, 0, 1, 0, 1, 0) est donc typique. Par ailleurs on remarquera que H(X) =0.88129 et 2−nH(X) = 0.00223 ce qui est tres proche de la probabilite 0.770.33 = 0.00222d’une sequence de trois 1.Remarque : Une sequence typique n’est pas une sequence de probabilite la plus ele-vee. ((0, 0, 0, 0, 0, 0, 0, 0, 0, 0) dans l’exemple precedent). Par contre la probabilite detirer une sequence dans Tn

X(ε) est bien plus grande que la proba d’en tirer une dans lecomplementaire (Tn

X(ε))c (ensemble des sequences rares).

Theoreme 2 (Proprietes de TnX(ε)) Soit Tn

X(ε) l’ensemble typique de X.(i) (x1, ..., xn) ∈ Tn

X(ε) ⇒ H(X)− ε ≤ − 1n log2 p(x1, ..., xn) ≤ H(X) + ε,

(ii) P ((x1, ..., xn) ∈ TnX(ε) > 1− ε pour n suffisamment grand,

(iii) |TnX(ε)| ≤ 2n(H(X)+ε),

(iv) |TnX(ε)| ≥ (1− ε)2n(H(X)−ε) pour n suffisamment grand.

Voici une generalisation des sequences typiques en plusieurs dimensions.

Definition 2 (sequence conjointement typique) Une sequence (xi, yi), i = 1, ..., nest dite conjointement typique pour la distribution p(x, y) si et seulement si H(X),H(Y )et H(X,Y ) sont proches de leurs estimes empiriques :∣∣∣∣− 1

nlog p(x1, ..., xn)−H(X)

∣∣∣∣ < ε∣∣∣∣− 1n

log p(y1, ..., yn)−H(Y )∣∣∣∣ < ε∣∣∣∣− 1

nlog p(x1, ...xn, y1, ..., yn)−H(X,Y )

∣∣∣∣ < ε

Voici une propriete toute simple. Elle vient du fait que pour X,Y independantes,H(X,Y ) = H(X) +H(Y ).

Propriete 1 (Independance) Soient x = (x1, ..., xn) et y = (y1, ..., yn) deux se-quences, tirages de deux variables aleatoires X et Y independantes, et ε > 0. Alors ona

x ∈ TnX(ε) et y ∈ Tn

Y (ε) ⇔ (x,y) ∈ TnXY (ε).

Page 37: Rapport

C.2. CODAGE CANAL A PARAMETRES ALEATOIRES 37

C.2 Codage canal a parametres aleatoires

On considere un canal discret, note K, d’entree X ∈ X , de sortie Y ∈ Y, qui dependde parametres aleatoires S ∈ S. Les probabilites de transitions sont donc sous la formep(y|x, s). On suppose que S (’state’, etat du canal) est i.i.d. et independante de X.On suppose aussi que S est connue de l’entree (au codeur) mais pas de la sortie (dudecodeur). Les Si (a tous les instants) pourront donc etre exploites pour la transmission.Dans la suite nous nous limiterons aux blocs de longueur n. Ainsi le choix du mot decode (x1, ..., xn) depend des etats s1, ..., sn aux instants 1, ..., n.

La qualite du code est mesuree a l’aide de la probabilite d’erreur notee pe. Noterque pour la calculer, nous moyennerons sur l’ensemble des entrees et l’ensemble desetats. La capacite est definie de maniere usuelle.

Le canal est suppose stationnaire et sans memoire, c’est-a-dire p(s) = Πip(si) etp(y|x, s) = Πip(yi|xi, si). Un (n,M)-code pour le canal K est defini par le codeur

ϕ : IM × Sn → Xn

ou IM = 1, ...,M et par le decodeur

ψ : Y n → IM .

On calcule la probabilite d’erreur pm de transmission du message m a l’aide de p(y|x, s)et la probabilite d’erreur globale est donnee par

pe =1M

M∑m=1

pm.

Un reel R > 0 est appele taux (de codage) atteignable si

∀ε > 0 ∃n ∈ N ∃(n,M)-code tel que M ≥ 2n(R−ε), pe ≤ ε.

La capacite C du canal K est le plus grand taux atteignable.Voici le resultat principal du papier. U est un ensemble fini quelconque, aussi grand

que l’on veut. En fait U ∈ U sera une variable aleatoire auxiliaire, utilisee par le codeuret le decodeur, mais elle ne sera pas transmise. Soit P = (u, s, x) : u ∈ U , s ∈ S, x ∈X = U ×S ×X . La variable aleatoire U est telle que

∑u,x p(u, s, x) = p(s). A chaque

triplet a = (u, s, x) ∈ P on associe un quadruplet (u, s, x, y) tel que p(u, s, x, y) =p(u, s, x)p(y|x, s). Definissons

R(a) = I(U, Y )− I(U, S)

ou l’information mutuelle est calculee par rapport a la distribution conjointe.

Theoreme 3 (Codage de canal aleatoire)

C = maxa∈A

R(a)

Il est clair qu’un canal a parametres aleatoires a une capacite inferieure a celle d’un canalidentique mais a parametres deterministes. Cette reduction de capacite est exprimeepar le terme −I(U, S). Le calcul du maximum se fait sur la distribution p(u, s, x, y).Comme p(y|x, s) et p(s) sont fixes par le canal, on optimisera sur p(u, x|s).

C = maxp(u,x|s)

R(a)

La proposition suivante peut s’averer utile pour l’optimisation de R(a).

Page 38: Rapport

38 ANNEXE C. THEORIE DE L’INFORMATION : NOTES DE LECTURE

Propriete 2 (Calcul de capacite) (i) A p(x|u, s) fixe, R(a) est une fonction concavede p(u|s).

(ii) A p(u|s) fixe, R(a) est une fonction convexe de p(x|u, s).(iii) Pour evaluer la capacite, on peut contraindre |U| ≤ |X |+ |S|.

(i) et (ii) viennent des proprietes de convexite de l’information mutuelle. Pour prouver(iii), on peut passer par le theoreme de Caratheodory.

Nous nous interessons d’abord au theoreme de codage direct.

Propriete 3 (Codage direct) Soit a = (u, s, x) ∈ P. Pour tout ε > 0 et pour toutnaturel n suffisamment grand, il y a un (n,M)-code pour le canal K avec pe ≤ ε etM ≥ 2n(I(U,Y )−I(U,S)−ε).

Sketch of proof : Si U et S sont independantes, ca revient au theoreme de codagecanal de Shannon. Sinon : Pour chaque message m on choisit J = 2n(I(U,S)+δ) (δ > 0petit) mots ujm ∈ Un avec la distribution p(u). Alors, pour chaque mot typique s ∈Sn et pour tout m, on peut trouver au moins un mot ujm tels que s et ujm soientconjointement typiques (pour la distribution p(u, s)), - avec une probabilite proche de1. Ceci signifie qu’en diminuant le taux sur I(U, S) + δ on se ramene au cas de U et Sindependantes.

Ce qu’en dit Costa (dans Writing on Dirty Papers) : La preuve est constructive,on va exhiber un code qui satisfait les hypotheses et les proprietes enoncees. D’abord ongenere J = en(I(U,Y )−ε) sequences i.i.d. ui, i = 1, ..., J uniformemement sur l’ensembledes sequences typiques U . Ensuite, on repartie ces sequences uniformement sur M =enR (R < C est quelconque) paquets B1, ..., BM . Pour chaque sequence u, soit i(u)l’index du paquet contenant u, c’est-a-dire tel que u ∈ Bi(u). Pour le codeur ϕ :

1. etant donne le vecteur d’etat s et le message m ∈ IM , chercher u ∈ Bm tel que(u, s) soit conjointement typique,

2. declarer une erreur si un tel u ne peut etre trouve (si le nombre de sequence dansle paquet Bm est plus grand que en(I(U,S)+δ), la proba de ne pas trouver de tellesequence u diminue vers 0 expentionnellement quand n augmente),

3. choisir x tel que (x,u, s) soit conjointement typique et l’envoyer dans le canal.

Au decodeur ψ :

1. chercher l’unique sequence u′ telle que (u′,y) soit conjointement typique,

2. declarer une erreur si il existe plus d’une telle sequence,

3. decision : m ∈ IM est tel que u′ ∈ Bm, c’est-a-dire m = i(u′.

Si R < I(U, Y ) − I(U, S) − ε − δ, la proba d’erreur moyennee sur tous les codesdecroit expentionellement vers 0 quand n → +∞. Ceci montre l’existence d’un codequi realise le taux R avec un taux d’erreur arbitrairement petit.

Le probleme est donc reduit a la recherche de la variable auxiliaire U .

C.3 Modele mathematique du marquage

Le marquage d’une donnee audio consiste a embarquer dans un signal audio desdonnees imperceptibles. On choisit de noter les differents acteurs de la chaine commesuit.

Convention :S le signal hote (host data), de longueur n, choisi dans un espace S,K la clef privee choisie dans K,X le signal marque, dans X ,

Page 39: Rapport

C.3. MODELE MATHEMATIQUE DU MARQUAGE 39

M le message a embarquer (nom de l’auteur par ex.), choisi dans M.Y le signal marque corrompu dans l’espace Y.

Les variables sont aleatoires de densite de proba p(s), p(x), p(k), etc. Si ce sont desvecteurs a n elements, on notera x = (x1, ..., xn).

L’insertion d’information, c’est-a-dire le marquage d’un signal hote distord necessai-rement le signal hote. La mesure de cette distorsion est l’objet de la definition suivante.

Definition 3 (Fonction de distorsion de codage) Une fonction de distorsion decodage est une fonction non-negative de S × X dans R+. Nous la notons d1 dans lasuite.

d1 : S × X → R+

De meme, l’attaque de la marque induit une certaine distorsion.

Definition 4 (Fonction de distorsion a l’attaque) Une fonction de distorsion al’attaque est une fonction non-negative de X × Y dans R+.Nous la notons d2 dans lasuite.

d2 : X × Y → R+

Definition 5 (Watermarking de distorsion D1) Un watermarking de distorsionD1 est un triplet (M, f, φ) ou :

– M est l’essemble des messages a coder (inserer).– f est la fonction de codage :

f : S ×M×K → X ,

telle que ∑X×K×M

1|M|

p(s, k)d1(s, f(s,m, k)) ≤ D1

– φ est la fonction de decodage

φ : Y ×K → M

Un watermarking de distorsion D1 est un schema codeur/decodeur admettant unedistorsion maximale D1. La clef est disponible au codeur et au decodeur. Normalement,D1 est petite puisque l’insertion d’information doit etre imperceptible. Plus loin, nousintroduirons une version canal du codeur, typique en theorie de l’information. Voyonsmaintenant l’attaque :

Definition 6 (Canal d’attaque de distorsion D2) Un canal d’attaque de distorionD2 est une densite de probabilite conditionnelle a(y|x) telle que∑

X×Yd2(x, y)a(y|x) ≤ D2

Definition 7 (Canal d’attaque de distorsion D2 sans memoire) Un canal d’at-taque a(y|x) est dit sans memoire si et seulement si il peut s’ecrire sous la forme.

∀x, y a(x|y) = Πia(xi|yi)

Si, comme c’est souvent le cas, S = X = Y et d1 = d2 = d, alors il est raisonnable desupposer que D2 ≥ D1, puisque si la distorsion D1 est autorisee, alors l’attaque doitpouvoir distordre d’au moins autant le signal marque.

Page 40: Rapport

40 ANNEXE C. THEORIE DE L’INFORMATION : NOTES DE LECTURE

Definition 8 (Taux de codage) On appelle taux de codage et on note R la quantite1n log |M |.

Definition 9 (Probabilite d’erreur) La probabilite d’erreur moyenne est note Pe,n

et est definie par1|M|

∑MP (φ(y, k) 6= m)|M = m)

Definition 10 (Taux de codage atteignable) Un taux de codage R est dit attei-gnable a la distorsion D1 pour une classe d’attaques A si et seulement si il existe unesuite de watermarkings (Mn, fn, φn) de distorsion D1 de taux Rn > R tels que

limN→+∞

Pe,n = 0

Definition 11 (Capacite de marquage) La capacite de marquage a la distorsionD1 est le taux atteignable maximum a la distorsion D1 pour toutes les attaques a ∈ A.

Soit Ω l’ensemble des couples (signal hote, clef) de probabilite non nul : Ω =(s, k) ∈ S ×K; p(s, k) > 0. On se donne une variable aleatoire U definie sur U tel que|U| ≤ |X ||Ω|+ 2.

Definition 12 (Canal de codage) Un canal de codage (ou de marquage) de distor-sion D1 est une probabilite conditionnelle q de S × K dans X × U telle que∑

X×S×K×Ud1(s, x)q(x, u|s, k)p(s, k) ≤ D1.

On note Q(D1) l’ensemble des canaux de marquage de distorsion D1. Un canal decodage est dit sans memoire s’il se factorise sous la forme

q(x, u|s, k) = ΠNi=1q(xi, ui|si, ki).

Il appartient au codeur f de definir U et sa distribution de probabilite. On verra queU = X est dans certains cas un choix optimal. En general, choisir U independemmentde S est sous-optimal.

On peut voir le probleme du marquage comme une competition entre le codeur etl’attaque. Inspires par Gelfand & Pinsker [1], nous nous donnons la fonction de cout

J(q, a) = I(U, Y |K)− I(U, S|K).

Le codeur va chercher a maximiser le transfert d’information J(q, a) alors que l’atta-quant voudra le minimiser. D’ou l’apparition de maxq mina J(q, a) dans la suite.

C.4 Capacite de marquage d’un canal

Le resultat central est une condition necessaire et suffisante pour qu’un taux R soitatteignable. Il s’enonce comme suit :

Theoreme 4 (Taux atteignable) Supposons que l’attaque connait f et que le deco-deur connait f et le canal d’attaque A. Alors un taux R est atteignable a la distorsionD1 si et seulement si R < C ou

C = maxq∈Q(D1)

mina∈A(D2)

J(q, a).

Page 41: Rapport

C.5. ATTEIGNABILITE DU TAUX DE MARQUAGER = MAXQ∈Q MINA∈A J(Q,A)41

C.5 Atteignabilite du taux de marquageR = maxq∈Q mina∈A J(q, a)

Nous demontrons dans ce paragraphe l’implication reciproque du theoreme 4, c’est-a-dire : si R < maxq∈Q mina∈A alors R est un taux atteignable.

Propriete 4 (Atteignabilite pour une classe d’attaques A sans memoire) Soitq(x, u|s, k) qui maximise

mina∈A

J(q, a) = mina∈A

(I(u, y|k)− I(u, s|k))

sur Q. Pour tout ε > 0 et n ∈ N suffisamment grand, il existe un watermarking delongueur n (M, f, φ) verifiant

∀a ∈ A pe < ε et |M| > 2n(mina∈A J(q,a)−ε).

Rappelons d’abord la definition de l’ensemble typique d’une variable aleatoire X

TnX(η) =

x ∈ Xn :

∣∣∣∣− 1n

log p(x)−H(X)∣∣∣∣ < η

,

ou p designe la distribution de probabilite empirique, qui converge vers la distributionde probabilite exacte (d’apres la loi des grands nombres). La lois des grands nombresimplique aussi que P (x ∈ Tn

X(η)) tend vers 1 si n → +∞, quelque soit η > 0. Ladefinition de l’ensemble typique pour les couples Tn

XY (η), les triplets TnXY Z(η), etc. est

similaire a la definition de TnX(η) ci dessus.

Nous cherchons a demontrer l’atteignabilite du taux

maxq∈Q

mina∈A

(I(U, Y |K)− I(U, S|K)) .

Soit q∗ ∈ Q qui maximise mina∈A J(., a). Soit a∗ ∈ A qui minimise J(q∗, .). Notonsque q∗ ne depend pas du choix de l’attaque, et que a∗ minimise I(u, y|k) pour q = q∗.Par ailleurs, le maximum et le minimum sont atteignables car les fonctions a optimisersont bornees, continues, et definies sur des ensembles A et Q compacts.

Soient M = 2n(J(q∗,a∗)−2ε/3), M = 1, ...,M et R = 1N logM . Les proprietes

de l’information mutuelle nous permettent d’ecrire J(q, a) = I(U, Y |K)− I(U, S|K) =I(U, (Y,K))−I(U, (S,K)) pour tout a ∈ A. Nous generons des mots de code (codewords)u ∈ Un dont les lettres (letters) ui, 1 ≤ i ≤ n sont choisies independamment lesunes des autres, selon la distribution p(u). Pour tout m ∈ M, nous generons L =2n(I(U,(S,K))+ε/3) mots de code independants selon la distribution p(u). Nous notonschaque mot comme u(l,m), 1 ≤ l ≤ L,m ∈ M. La taille du dictionnaire (codebook) estLM = 2n(R+I(U,(S,K))+ε/3). Ni L ni M ne dependent du choix de l’attaque a ∈ A. Onchoisit η (dans la definition de Tn

X(η)) tel que η → 0 pour ε→ 0. Decrivons maintenantle codeur et le decodeur.Codeur f : Soient s ∈ Sn,k ∈ Kn,m ∈ M.

1. Le codeur va chercher un mot dans u(l,m) : 1 ≤ l ≤ L qui est conjointementtypique avec (s,k) : il cherche le plus petit l tel que (u(l,m), s,k) ∈ Tn

USK(η).

2. Une erreur de codage est declaree (l = 0) si aucun l ne peut etre trouve, maisla lois des grands nombres nous assure que la probabilite pe1 de cet evenementtend vers 0.

Page 42: Rapport

42 ANNEXE C. THEORIE DE L’INFORMATION : NOTES DE LECTURE

Soit l(s,k,m) la valeur de l. Etant donne s,k et u(l,m), le codeur genere aleatoirementx de distribution p(x|s,k,u(l,m)). La distorsion moyenne est inferieure a (1−pe1)D1+pe1 maxS×X d1. Si pe1 tend vers 0, la paire (s,x) est a distorsion typique (distorsiontypical : voir Cover & Thomas).Decodeur φ : Soient y ∈ Yn la sequence recue et la clef k ∈ Kn.

1. Le decodeur cherche u(l,m), 1 ≤ l ≤ L,m ∈ M dans le dictionnaire tel que(u(l,m),y,k) ∈ Tn

UY K(η), c’est-a-dire tel que u(l,m) soit conjointement typiqueavec (y,k).

2. Une erreur de decodage est declaree si aucun mot de code satisfaisant cette condi-tion ne peut etre trouve ou bien si plusieurs mots de code indexes par plusieursm ∈ M differents sont trouves. Autrement dit, dans les deux cas suivants, uneerreur est declaree :

(i) ∀l,m (u(l,m),y,k) /∈ TnUY K(η) ou bien

(ii) il existe l′ et m′ 6= m tels que (u(l′,m′),y,k) ∈ TnUY K(η)

D’apres la lois forte des grands nombres, le premier cas (i) a une probabilite pe2(a) quitend vers 0 pour tout a ∈ A. On veut montrer que la probabilite de (ii) tend aussi vers0. Procedons comme Gel’fand & Pinsker dans [1].

Lemme 1 (Cover) Soient η1 > 0, V et W deux ensembles finis. Pour η2 > 0 suffi-samment petit et pour n ∈ N suffisamment grand, on a

∀v ∈ TnV (η2) 2−n(I(V,W )+η1) ≤

∑w|(v,w)∈T n

V W (η2)

pW n(w) ≤ 2−n(I(V,W )−η1).

Ce lemme a ete demontre par Cover dans [2]. Si (u(l,m),y,k) ∈ TnUY K(η), alors il est

clair que y ∈ TnY (η|U|). Appliquons ce lemme avec V = Y , W = U , η1 = ε/6 et η2 = η

suffisamment petit. La deuxieme inegalite nous donne∑u|(y,u)∈T n

Y U (η)

pUn(u) = P ((y,u) ∈ TnY U (η)) ≤ 2−n(I(Y,U)−ε/6).

On a montre que la probabilite du second cas (ii) est bornee par pe3(a) = LM2−n(I(U,(Y,K))−ε/6)

pour tout a ∈ A. Dans le pire des cas, cette borne vaut LM2−n(mina∈A I(U,(Y,K))−ε/6) =2−nε/6. Pour tout ε > 0, on peut trouver n assez grand pour que pe1,maxa∈A pe2(a)et maxa∈A pe3(a) soit toutes plus petites que ε/3. Ainsi la probabilite d’erreur est infe-rieure a ε. Si un dictionnaire choisis aleatoirement de distribution p(u) a une probabilited’erreur inferieur a ε, alors il existe au moins un dictionnaire avec une probabilite d’er-reur inferieure a ε. On a montre que la distorsion moyenne pour un tel dictionnaire estbornee par D1+ε(maxS×X d1−D1). Ceci prouve l’atteignabilite des taux R < J(q∗, a∗)pour tout a ∈ A.

C.6 Capacite de marquage non aveugle

Corollaire 1 (Masquage non aveugle optimal) Si K = S, U est optimal si etseulement si tout x peut s’ecrire sous la forme x = f(s, u) ou la f(s, .) est inversiblepour tout s ∈ S. En particulier, U = X est optimal. La capacite de masquage est alorsdonnee par

C = maxp(x|s)

mina(y|x)

I(X,Y |S)

En effet, si K = S, c’est-a-dire si S est connue du decodeur, alors on peut ecrireJ(q, a) = I(U, Y |S) = I((U, S), Y |S) ≤ I(X,Y |S) ou l’inegalite vient du theoreme

Page 43: Rapport

C.7. MARQUAGE DU CANAL BINAIRE 43

du traitement de donnee (version bis). La Chain rule permet de conditionner par S.En fait on a I(X,Y ) = I((U, S), Y ) + I(X,Y |U, S). L’egalite est donc obtenue pourx = f(s, u), ou f est la fonction de codage deterministe. Quelque soit s l’etat du canal,on doit avoir une bijection entre le dictionnaire U et X : condition d’inversibilite. AinsiQ(x, u|s, k) = Q(x, u|s) = Q(x, f−1

s (x)|s) = Q(x|s). Par ailleurs, les proprietes deconvexite de l’information mutuelle assurent l’unicite des optima.

C.7 Marquage du canal binaire

Nous illustrons le theoreme du marquage et son corollaire dans le cas non-aveuglesur le probleme simple du canal binaire. Posons X = S = Y = 0, 1. S est une sourcede Bernouilli de parametre 1

2 (c’est-a-dire p(s = 0) = p(s = 1) = 1/2). Les fonctionsde distorsion d1 et d2 sont la distance de Hamming d pour laquelle d(x, y) = 0 si x = yet d(x, y) = 1 sinon. Nous supposons que les donnees audio (signal hote) sont connuesdu decodeur : K = S. Pour comprendre le resultat suivant, on peut se dire que Z estle message m a transmettre.

Propriete 5 (Canal Binaire) Pour D1, D2 ≤ 12 , la capacite de marquage est donnee

parC = h(D1 ? D2)− h(D2)

ou h est la fonction bien connue d’entropie d’une variable binaire h(t) = −t log t− (1−t) log(1 − t), et D1 ? D2 = D1(1 − D2) + D2(1 − D1). La capacite est atteinte de lamaniere suivante :

– X = S + Z (+ est le ou exclusif, c’est-a-dire l’addition standard dans F2 =0, 1), Z est une variable aleatoire de Bernouilli de parametre D1, independantede S. C’est la definition de p(x|s). U = X et U = Z sont des schemas optimaux.

– l’attaque optimal est donnee par Y = X +W ou W est une variable aleatoire deBernouilli de parametre D2, independante de X.

Pour D1 ≥ 12 et D2 <

12 , la capacite de marquage est C = 1− h(D2). Pour D2 ≥ 1

2 , lacapacite de marquage est nulle.

D’apres le corollaire, on a C = maxp(x|s) mina(y|s) I(x, y|s). Nous devons verifierque X = S + Z et Y = X + W sont optimaux. Fixons d’abord a(y|x) (c’est-a-direY = X +W ) et supposons D1, D2 ≤ 1

2 . Alors

I(X,Y |S) =(1) H(Y |S)−H(Y |X,S)=(2) H(Y |S)−H(Y |X)= H(Y − S|S)−H(W )= H((S −X) +W |S)− h(D2)≤(3) H(Z +W )− h(D2)≤(4) h(D1 ? D2)− h(D2).

(1) est une definition. (2) vient du fait que S → X → Y est une chaine de Markov.Pour (3), on definit simplement la variable Z comme Z = S − X. Dans ce contexte,c’est une histoire de notation. L’inegalite exprime que la connaissance reduit l’entropie.On a egalite si et seulement si Z + W (donc Z) est independante de S. Pour (4) lecalcul de H(Z+W ) peut se faire car Z → X →W est une chaine de Markov, donc Zet W sont independantes. L’egalite est atteinte si Z est de Bernouilli de parametre D1.La distribution p(x|s) comme elle est definie dans la proposition verifie par equalite (3)et (4) et donc maximise I(X,Y |S).

Page 44: Rapport

44 ANNEXE C. THEORIE DE L’INFORMATION : NOTES DE LECTURE

Fixons maintenant p(x|s) (c’est-a-dire X = S + Z, avec Z Bernoulli de parametre12 independant de s) et essayons de minimiser I(X,Y |S) selon a(y|x). Avec p(x|s) fixecomme precedemment, Z et X sont independantes. De plus, Z → X → W forme unechaine de Markov, donc Z et W sont aussi independantes. On a

I(X,Y |S) = I(X + S, Y + S|S)= I(Z,Z + (Y −X)|S)= H(Z)−H(Z|Z + (Y −X), S)≥(1) H(Z)−H(Z|Z +W )= I(Z,Z +W ) = H(Z +W )−H(Z +W |Z)≥(2) h(D1 ? D2)− h(D2).

W est une notation pour Y − X. (2) vient du fait que Z et W sont independantes.L’egalite est atteinte dans (1) si W est independante de X et dans (2) si W est deBernouilli de parametre D2. Dans les cas D1 ≥ 1/2 ou D2 ≥ 1/2, c’est straightforward.

BIBLIOGRAPHIE

[1] S.I. Gel’fand, M.S. Pinsker, Coding for Channel with Random Paramaters,Problems of Control and Information Theory, Vol. 9 (1), pp 19-31, 1980

[2] Thomas M. Cover, An Achievable Rate Region for the Broadcast Channel,IEEE Transactions on Information Theory, Vol. IT-21, No. 4, July 1975

[3] Pierre Moulin, Joseph A. O’Sullivan, Information-Theoretic Analysis of In-formation Hiding, Revised January 2001

[4] Max H. M. Costa, Writing on Dirty Paper, IEEE Transactions on InformationTheory, Vol IT-29, No 3, May 1983

Page 45: Rapport

Annexe D

Notes de lecture encryptographie

La crypto et le marquage ont un but commun : envoyer des messages secrets dansun canal. Le cadre cryptographique : un canal sans erreur, et pas de contraintes denon-perceptibilite. Dans ce papier, je veux voir ce qu’il est possible de faire en crypto.A priori, le seul probleme de la cryptographie dans un contexte de marquage est qu’uncontenu dechiffre ne contient plus de marque.Reference : Douglas Stinson, Cryptographie, Theorie et Pratique, Thomson Publi-shing.

D.1 Generalites

La cryptographie est l’ensemble des methodes relatives au chiffrement des textes.L’objectif principal d’une methode cryptographique est la confidentialite d’une com-munication. Traditionnellement, on appelle Alice l’expeditrice du message et Bob sondestinataire. Un principe generalement admis (principe de Kerckhoff) est que, tot outard, la methode cryptographique choisie par Alice et Bob tombera entre des mainsennemies, celles d’Oscar. C’est pourquoi on parametrise le chiffrement et dechiffrementpar une ou plusieurs clefs. Alors la confidentialite de la communication repose sur celledes clefs. Il existe deux genres de cryptographie.

1. la ”classique” : une clef unique est connu seulement d’Alice et de Bob, elle permetde chiffrer et de dechiffrer. On parle de systeme a clef privee.

2. systeme a clef publique : Alice et Bob ont chacun une clef de chiffrement renduepublique et ils gardent secret leurs clefs de dechiffrement respectives. Le systemeest plus souple : n’importe qui peut communiquer secretement avec Bob, puisquesa clef est publique. Cela souleve le probleme de l’authenticite de l’expediteur.

D.2 Formalisation et Premiers Resultats

D.2.1 Definition

Definition 13 (Cryptographie) Une cryptographie C est un quintuplet (M,X,K,E,D)ou :

(i) M est l’ensemble fini des textes clairs m (lisibles).

(ii) X est l’ensemble fini des textes chiffres x.

45

Page 46: Rapport

46 ANNEXE D. NOTES DE LECTURE EN CRYPTOGRAPHIE

(iii) K est l’ensemble fini des clefs k. Pour avoir plusieurs clefs, on prendra un espaceproduits, du genre (k1, k2) ∈ K = K1 ×K2.

(iv) E ⊂ F1(M,X) (resp. D ⊂ F(X,M)) est l’ensemble des fonctions de chiffre-ment (resp. dechiffrement). Pour toute clef k ∈ K, on se donne une fonction dechiffrage ek ∈ E (encryption) inversible, d’inverse dk ∈ D (decryption) telles que

ek : M −→ X

dk : X −→ M

∀k ∈ K dk ek = IdM

On parle de texte clairs pour m, mais souvent il s’agira plutot de caractere, ou de blocde caractere. Le chiffrement est applique independemment sur chaque bloc. Idem pourle dechiffrement.

D.2.2 Un exemple simple

Prenons un exemple simple : la cryptographie par decalage. En faisant correspondrea chaque caractere son rang dans l’alphabet, on choisit M = Z/26Z. La methode dechiffrement par decalage est definie avecM = X = K = Z/26Z pour une clef k ∈ Z/26Zcomme suit :

ek(m) = m+ k mod 26dk(x) = x− k mod 26.

Ainsi, pour k = 17, JULIEN est chiffre comme ALCZVE. Cette methode a cle privee esttres rudimentaire (et tres facile a casser). Elle etait utilisee par Jules Cesar pour k = 3.

D.2.3 Confidentialite parfaite

Ce qui suit est du a Shannon. Pour aller un peu plus loin, munissons C de lois deprobabilite.

Definition 14 (Cryptogaphie probabilisee) Soit C = (M,X,K,E,D) une cryp-tographie. Notons P le triplet (pM , pX , pK) de lois de probabilite sur M , X, et K,ou

(i) pM (m) est la probabilite de choisir m ∈M comme texte clair,(ii) pX(x) est la probabilite d’avoir x ∈ X comme texte chiffre,(iii) pK(k) est la probabilite de choisir k ∈ K comme clef.

Nous appelons le couple (C, P ) une cryptographie probabilisee.

Pour s’encombrer de tout cela ? Tout simplement parce que la robustesse d’unecryptographie depend de la maniere de l’utiliser. Supposons que nous chiffrons avec lacryptographie a decalage ci-avant, en gardant M = Z/26Z, avec seulement deux clefsdistincts (0 et 1 par exemple). Alors pK(0) = pK(1) = 1/2 et pK(k) = 0 pour toutk > 1. Dans ce cas, si Oscar a acces a un texte chiffre, il n’a qu’a essayer avec lesdeux clefs pour voir laquelle est la bonne (celle qui donne dK(x) dans M (lisible)). Cetexemple est un peu idiot. Les lois de proba modelisent le ”comportement”des acteurs dusysteme de cryptographie. Nous allons chercher quels sont les comportement optimaux(dans un certain sens). L’idee est que si la connaissance d’un texte chiffre donne desinformations sur le texte clair ou la clef, alors le couple (cryptographie, comportement

1F(M, X) est l’ensemble des fonctions de l’ensemble M vers l’ensemble X. D’ailleurs, |X|est le cardinal de l’ensemble X.

Page 47: Rapport

D.2. FORMALISATION ET PREMIERS RESULTATS 47

d’utilisation) n’est pas satisfaisant.Convention : Dans la suite, par convention, la lettre P designera toujours ce triplet(pM , pX , pK) et C designera le quintuplet (M,X,K,E,D) definis plus haut.

Definition 15 (Confidentialite parfaite) Soit (C, P ) une cryptographie probabili-see. Elle est dite parfaitement confidentielle si et seulement si

∀m ∈M ∀x ∈ X pM (m|x) = pM (m).

Propriete 6 (Chiffrement a decalage) Soit (C, P ) la cryptographie a decalage. Sup-posons que

(i) les cles sont de meme probabilite, c’est-a-dire

∀k ∈ K pK(k) =1|K|

,

(ii) la cle est independante du texte clair,

alors la cryptographie du chiffrement a decalage est parfaitement confidentielle.

Ce resultat signifie que le chiffrement a decalage est incassable, quelque soit ladistribution de texte clair ( !) pourvu qu’une nouvelle clef soit choisie aleatoirementpour chiffrer chaque nouveau texte clair.

Demonstration :

pX(x) =∑

k

pK(k)pM (dk(x))

=126

∑k

pM (x− k mod 26)

par ailleurs, lorsque k parcoure K tout entier, les x− k mod 26 couvrent M , cad

∀m ∈M∀x ∈ X ∃k ∈ K t.q. x− k mod 26 = m

donc pX(x) = 126 . Ensuite pX(x|m) = pK(x−m mod 26) = 1/26, et

pM (m|x) =pM (m)pX(x|m)

pX(x)

=pM (m) 1

26126

= pM (m).

Et voila. ♥

Theoreme 5 (Cryptographie Parfaitement Confidentielle) Soit (C, P ) une cryp-tographie probabilisee. Si (C, P ) est parfaitement confidentielle alors

|M | ≤ |X| ≤ |K|

Demonstration : Soit m ∈M un texte clair. Faisons varier la clef k ∈ K et observonsce qui se passe sur x = ek(m). On a

pX(x|m) =p(M,X)(m,x)pM (m)

=p(M,X)(m,x)pX(x)pM (m)pX(x)

= pM (m|x) pX(x)pM (m)

Page 48: Rapport

48 ANNEXE D. NOTES DE LECTURE EN CRYPTOGRAPHIE

donc si pM (m|x) = pM (m) alors pX(x|m) = pX(x). Supposons que pX(x) > 0 pourtout x ∈ X (sinon on retire x ∈ X). Alors pX(x|m) > 0, ∀x ∈ X. Autrement dit,

(∀x ∈ X)(∃k ∈ K) tel que ek(m) = x.

On en deduit |K| ≥ |X|, et bien sur |X| ≥ |M | (evident, sinon on est pas sur de biendechiffrer) ♥.

Dans le cas limite |K| = |X| = |M |, Shannon a donne une caracterisation simplede la confidentialite parfaite.

Theoreme 6 (Cryptographie Parfaitement Confidentielle) Soit (C, P ) une cryp-tographie probabilisee telle que |K| = |X| = |M |. Elle est parfaitement confidentielle siet seulement si

(i) pK est uniforme, c’est-a-dire

∀k ∈ K pK(k) =1|K|

(ii) ∀(m,x) ∈M ×X ∃!k ∈ K tel que ek(m) = x

On note deux conditions. La premiere est relative au comportement, la deuxieme estinherente a la cryptographie elle-meme.Demonstration : ⇒. Supposons que (C, P ) est parfaitement confidentielle. On a dejamontre qu’alors, pour tout couple (m,x) ∈ M × X, il existe une clef k ∈ K telleque ek(m) = x. Montrons que cette clef est unique. S’il existait k′ 6= k ∈ K avecek′(m) = x, alors on aurait |K| > |X|. C’est (ii). Montrons (i). Soient n = |K| etM = mi, i = 1, ..., n. Fixons x ∈ X. D’apres ce qui precede on peut, pour tout1 ≤ i ≤ n, trouver ki tel que eki

(mi) = x. Calculons pK(ki) :

pK(ki) = pX(x|mi) =pM (mi|x)pX(x)

pM (mi),

par hypothese de confidentialite parfaite :

pK(ki) =pM (mi)pX(x)

pM (mi)= pX(x).

pK est donc constante.⇐. Soit x ∈ X.

p(x) =∑k∈K

pK(k)pM (dK(x)) =1K

∑k∈K

pM (dK(x)) =1K.

D’ou p(x) = p(k). D’apres Bayes, il vient immediatement pM (m|x) = pM (m), ♥.

D.3 Casser une cryptographie

Les armes d’Oscar pour dechiffrer les communications de Bob et Alice sont deplusieurs ordres :

– la faille numero un des cryptographies a clef privee est que le clef doit etre echan-gee en clair entre Bob et Alice. C’est une des raisons d’etre des cryptographies aclef publique.

– une connaissance a-priori sur le texte clair peut etre a la base d’attaques. Ainsi,la langue du texte (francais, anglais, etc.) donne des statistiques sur le texte clair.En les comparant avec celles du texte chiffre, on obtient des infos sur la clef. Parexemple, dans le cas de la cryptographie par decalage, une estimation de la lettrechiffree la plus frequente donnerai ek(′e′) =′ e′ + k mod 26 puisque ’e’ est lalettre la plus frequente en francais.

Page 49: Rapport

D.4. STANDARD A CLEF PRIVEE : DES 49

– Oscar peut avoir acces a un ou plusieurs couples (m,x = ek(m)). Il lui faut endeduire k ∈ K telle que ek(m) = x, cad inverser la fonction qui associe x a k,pour m fixe. C’est pourquoi on a invente les fonctions de hachage (decrites a la finde cette doc), ou fonctions a sens unique, cad pratiquement impossible a inverser.Face a une telle fonction, Oscar devra tester toutes les clefs possibles. Une analysemathematique peut optimiser l’attaque (ex : cryptanalyse differentielle sur DES).

D.4 Standard a Clef Privee : DES

D.E.S. = Data Encryption Standard, standard americain depuis le 15 Janvier 1977.A ete renouvelle en 1998. Le DES chiffre des blocs de texte m de 64 bits avec une clefprivee k de 56 bits (donc |K| = 256 = 72057594037927936 > 7.2× 1016). Remarquonsque DES n’est pas parfaitement confidentiel. Ca marche en trois etapes que je resumebrievement :

1. On applique une certaine permutation fixe IP, ne dependant pas de la clef, et oncoupe en deux le bloc obtenu, pour obtenir deux blocs de 32 bits, notes L0 etR0.

m0 = IP(x)m0 = L0R0.

2. On itere 16 fois une fonction non lineaire qui depend de la clef k. C’est la qu’in-terviennent les S-box... La procedure s’ecrie :

Li = Ri−1, Ri = Li−1 ⊕ f(Ri−1, ki) 1 ≤ i ≤ 16

ou les ki sont composees de 48 bits donnes de k, et f est la fonction compliqueenon lineaire.

3. On inverse la permutation inverse IP−1 :

x = IP−1(R16L16)

Je n’ai pas tres envie de rentrer plus dans les details. A propos de 2DES, quiconsiste a chiffrer avec une clef k1 et a surchiffrer avec une clef k2 (cryptographieproduit C1 × C2) : j’ai vu quelque part2 que

– DES ne forme pas un groupe. Rappel : un groupe est compose d’un ensemble etd’une operation qui doit satisfaire certaines conditions. En particulier, l’operationassocie a deux elements de l’ensemble un autre element de l’ensemble. Ici, legroupe est l’ensemble des 256 fonctions DES, et l’operation est le fait d’appliquerdeux de ces fonctions l’une apres l’autre. Si DES est un groupe, il existe uneclef k3 tel que le fait de chiffrer avec k1 puis k2 est equivalent au fait de chiffreruniquement avec k3. On perdrait alors du temps, sans gagner de la securite. Il aete montre que DES n’est pas un groupe.

– Est-ce que k1 et k2 sont duales ? Si oui, le deuxieme chiffrement annule le premier,et x = m. La securite est donc nulle, malgre que le temps necessaire double ! Jene sais pas si DES n’a pas de clefs duales.

A savoir tout de meme : DES est rapide, 1000 fois plus rapide que RSA je crois. Lataille des clefs est critique : des 1977, il a ete montre qu’on pouvait explorer l’espacedes clefs en 24 heures environ (cout de la machine : 100 millions de Francs). En 93, unemachine capable de tester toutes les clefs en 36 heures a ete inventee, pour un cout de500 KF. Avec 10 machines comme ca, on craque le systeme en trois heures et demi.C’est pourquoi DES ne peut plus vraiment etre considere comme sur.

2http ://cui.unige.ch/tcs/cours/crypto/crypto5/node6.html

Page 50: Rapport

50 ANNEXE D. NOTES DE LECTURE EN CRYPTOGRAPHIE

D.5 Compromis Espace-Temps d’une Attaque

Je presente ici un paragraphe que je ne comprends qu’a moitie du bouquin, auchapitre DES. Il s’agit d’une attaque a texte clair choisi : Oscar dispose d’un texte clairm ∈ M et de x = ek(m). Ca peut arriver si par exemple Bob et Alice changent declef privee en utilisant un mot cle, du genre ChangeKey, qu’Oscar connait aussi. Oscara alors acces a m = ChangeKey et a la version chiffree x. Il cherche k ∈ K tel queek(m) = x, il peut :

– essayer toutes les clefs les unes apres les autres (recherche exhaustive). Il aura256/2 = 255 tests a faire en moyenne, ca prendra du temps, mais peu d’espacememoire.

– ou bien precalculer et memoriser tous les couples (k, xk = ek(m)). A chaquechangement de clef, Oscar n’aura qu’a chercher dans sa table xk. C’est rapide,mais il y a un temps de calcul initial et ca prend beaucoup d’espace memoire.

Le compromis espace-temps permet d’obtenir un temps de calcul inferieur a celui d’unerecherche exhaustive et un espace memoire inferieur a celui d’une table de toutes lesclefs.

D.5.1 Methode de Stinson

Voici une methode proposee par Stinson. Elle est presente pour l’attaque du DES,mais elle n’exploite aucune caracteristique de DES. On peut donc facilement la gene-raliser. Je rappelle que les clefs font 56 bits et le texte 64 bits, soit K = 0, 156 etM = X = 0, 164. On se donne deux entiers n et t : n est (en gros) l’espace memoireque prendra la methode et t le temps de calcul. On se donne aussi une fonction dereduction R : X → K, par exemple en tronquant les 8 derniers bits de x. On definitensuite g comme

g : K → K

k → R(ek(m))

Dans la phase de precalcul, Oscar se donne n clefs k1, ..., kn , eventuellement au hasard,puis il construit une table des couples (k′i = gt(ki), ki) pour i = 1, ...,m. Oscar recoitx. Il calcule alors les xj = gj−1(R(x)) a partir de j = 1 jusqu’a ce que xj = k′i pour uncertain i ou bien j = t. S’il tombe sur k′i, alors il peut esperer que k = gt−j(ki), car

k = gt−j(ki) ⇒ k′i = gj(k) = gj−1(g(k)) = gj−1(R(x)) = xj .

MAIS la reciproque⇐ n’est pas vraie, puisque la fonction g n’est pas injective (du tout).Il y a en fait (en moyenne) 256 antecedents possibles. D’ou ma question : si je tombesur un k′i, y’a-t-il moyen de rechercher la clef parmi ces antecedents ? Il me semble quenon, et pour moi, tout l’interet du compromis espace-temps s’ecroule, puisque si on netrouve pas de k′i, alors on n’a aucune indication sur l’ensemble ou chercher la clef. Doncon s’est fatigue pour (presque) rien et ca a une proba3 de 1 − 0.8nt

N d’arriver. En faitle truc :

– il faut prendre n et t tres grands, du genre t = 219, n = t/2.– il faut aussi essayer avec q = 219 fonctions de reductionR differentes, et construire

une table pour chacune.Alors la, la proba que ca marche approche 1. Il faudra un espace memoire de 112× 243

bits, cad 213 fois moins que la recherche exhaustive, mais quand meme 226 Go...

3le facteur 0.8 vient du fait que les gj(ki) peuvent etre identiques

Page 51: Rapport

D.5. COMPROMIS ESPACE-TEMPS D’UNE ATTAQUE 51

D.5.2 Exemple simplifie

Ce qui suit est ma solution a l’exo 3-6, page 98. On considere une cryptographieparfaitement confidentielle telle que M = X = K. D’apres le theoreme 2,

ek1(x) = ek2(x) ⇒ k1 = k2.

Soit m ∈M le texte clair. On definit la fonction g sur K = M = X comme suit :

g : K → K

k → ek(x)

On considere le graphe oriente G ayant pour sommets les elements M = m1, ...,mNet pour arcs (mi, g(mi)), i = 1, ..., N .

Propriete 7 (Reunion de cycles disjoints) G est la reunion de cycles orientes dis-joints.

Demonstration. La relation binaire ∼ sur M definie par

mi ∼ mj ⇔ ∃k ∈ 0, 1, ..., N tel que mi = gk(mj)

est une equivalence : la reflexivite et la transivite sont evidentes, la symetrie un peumoins. Il faut montrer que pour tout m ∈M il existe un entier i positif non nul tel quegi(m) = m. Considerons l’ensemble

G(m) = gl(m), l ∈ N.

Deux possibilite : soit G(m) = M , soit il existe deux entiers p et p′ et m′ ∈M tels quegp(m′) = m′ = gp′(m). Choisissons p et p′ les plus petits pour cette propriete, et sup-posons p < p′ = p+(p′−p). Alors m′ = gp(m′) = gp(gp′−p(m)) et donc m′ = gp′−p(m),puisque g est une bijection. L’hypothese de minimalite sur p′ est contredite. En pas-sant a l’ensemble quotient, on trouve les cycles, et puisque l’ensemble quotient est unepartition de G, la propriete est vrai ♥.

Soit T le parametre de temps voulu. On peut definir un ensemble Z ⊂ M tel que,pour tout m ∈M , l’une des deux conditions suivantes soit verifiee :

(i) m est dans un cycle de longueur inferieure a T, cad |G(m)| ≤ T .

(ii) ∃z ∈ Z tel que z 6= m la distance (nombre d’iterations de g) de m a z soit auplus T .

On peut majorer le nombre de cycles de longueur superieure a T : il y en a au moinsN/T(facile). En prenant deux elements de Z par cycles, on construit Z avec |Z| < 2N/T .La fait que g soit une bijection permet de definir la fonction g−T : K → K, inverse degT . Par ailleurs

k = g−T (z) ⇔ gT−1(g(k)) = z

⇔ gT−1(x) = z

Autrement dit, en iterant g un certain nombre de fois, si on tombe sur z ∈ Z, ona trouve la cle k = g−T (z). Pour T grand, on devra iterer beaucoup, mais comme|Z| < 2N/T , l’ensemble Z a stocker sera petit, ... et inversement. Voila le compromisespace-temps.

Page 52: Rapport

52 ANNEXE D. NOTES DE LECTURE EN CRYPTOGRAPHIE

D.6 Standard a Clef Publique : R.S.A.

R.S.A. = Rivest Shamir Adleman, publie en 1977. Sa securite repose sur la difficultede factoriser les grands nombres. Quelques rappels d’algebre ne peuvent pas faire demal.

D.6.1 Rappels d’Arithmetique

Mettons nous d’accord sur quelques notations, proprietes, etc. Soit n ∈ Z.(i) On note Zn l’ensemble quotient Z/nZ des residus modulo n, cad 0, ..., n − 1

muni de l’addition modulo n. On a |Zn| = n.(ii) Z∗n designe l’ensemble des residus modulo p qui sont premiers avec p, cad

Z∗n = m ∈ Zn \ 0 tel que pgcd(n,m) = 1.

On peut facilement verifier que Z∗n est un groupe abelien avec la multiplicationmodulo n.

(iii) L’algorithme d’Euclide permet de trouver le pgcd de deux nombres, et (avecquelques petites modifs qui ne changent pas sa complexite) l’inverse d’un elementm ∈ Z∗n.

Definition 16 (Fonction indicatrice d’Euler) On appelle fonction indicatrice d’Euleret on note ϕ l’application

ϕ : N → Nn → |m ∈ N tel que m ≤ n et pgcd(m,n) = 1.|

Propriete 8 (Ordre de Z∗n) ϕ(n) est l’ordre du groupe Z∗n. De plus, ϕ(n) est lenombre de generateurs du groupe cyclique a n elements.

Demonstration : La premiere affirmation est evidente. Notons G le groupe cy-clique a n elements. Soit g un generateur de G. L’application λ : Z∗n → G definie parλ(g) = gk est injective.

– si h ∈ λ(Z∗n), alors ∃k ∈Z∗n tel que gk = h. D’apres Bezout, on peut trouver u et v tels que ku+ nv = 1,et alors g = gku+nv = gnvhu = (gn)vhu = hu. Donc h est generateur de G.

– Inversement, si h est generateur de G, alors g = hu et h = gk, d’ou g = gku etgku−1 = 1. Alors ku − 1 est multiple de n (∃a tel que ku − 1 = an) et d’apresBezout, k et n sont premiers entre eux. Donc h ∈ λ(Z∗n).

Finalement, λ(Z∗n) est l’ensemble des generateurs du groupe cyclique ♥.

Theoreme 7 (Theoreme d’Euler) Soit n ∈ N, et a un entier premier avec n. Alors

aϕ(n) = 1 mod n

Demonstration : La classe a de a modulo n appartient a Z∗n, qui est une grouped’ordre ϕ(n). D’apres le theoreme de Lagrange, on a donc aϕ(n) = 1, ♥.

Signalons encore le

Theoreme 8 (Theoreme des restes chinois) Soient m1, ...,mr r entiers premiersentre eux. On pose m = Πimi. L’application

π : Zm → Zm1 × ...× Zmr

x → (x mod m1, ..., x mod m2)

est une bijection. Le calcul de son inverse est simple et passe par l’algorithme d’Euclide(pour inverser dans Zmi

).

Page 53: Rapport

D.6. STANDARD A CLEF PUBLIQUE : R.S.A. 53

Ceci signifie en particulier que ϕ(mn) = ϕ(m)ϕ(n) si m et n sont premiers entre eux.

D.6.2 La cryptographie R.S.A.

Soient p et q deux (grands) nombres premiers. La cryptographie R.S.A. est definiepar

(i) M = X = Zn ou n = pq.

(ii) K = K1 ×K2, ou– K1 = n × Z∗ϕ(n) contient les clefs publiques et– K2 = p × q la clef privee.Noter que ϕ(n) = ϕ(pq) = (p− 1)(q − 1) puisque p et q sont premiers.

(iii) Pour tous k = (n, b, p, q) ∈ K, m ∈M , x ∈ X

ek(m) = mb mod ndk(x) = xa mod n pour a tel que ab = 1 mod ϕ(n)

On obtient a facilement avec l’algorithme d’Euclide.

D’apres ce qui precede (Theoreme Euler) on a bien dk ek = IdM . Pour un utilisateurA a clef kA, la fonction de chiffrement ekA

est connue de tous. Son inverse dkAest

connue de A seulement et elle est pratiquement impossible a calculer a partir de ekA.

Une attaque evidente : chercher a l’inverse de b dans Z∗ϕ(n). Probleme : calculer ϕ(n)

est aussi difficile que calculer ses diviseurs p et q. A ma connaissance, personne n’ademontre qu’il n’y a pas d’algorithme de factorisation en temps ”raisonnable”.

Il faut donc choisir p et q tres grands (de l’ordre de 10200), en raison de develop-pement des algorithmes de factorisation et de la puissance des ordinateurs. Certainscritere sur p− 1 et p+ 1 peuvent rendre plus difficile la factorisation de p.

En pratique, pour generer ces grands nombres premiers, on choisit deux nombres p1

et p2 et on regarde si 2p1p2 + 1 est premier, avec par exemple le test de Miller-Rabin4.Un resultat celebre de theorie des nombres affirme que le nombres de premiers inferieursa N est environ N/ logN (pour N grand) : rarefaction des nombres premiers.

D.6.3 Authentification de la provenance du message

L’inconvenient de la methode est que chaque emetteur possible du message possedela meme clef de chiffrement, et par consequent, il est facile de se faire passer pour unautre. Il y a une solution simple a ce probleme. Si Alice (clef kA) veut envoyer unmessage m a Bob (clef kB), elle utilise comme fonction de chiffrement

e′kB= ekB

dkA

Bob recoit x = ekB(dkA

(m)). Il utilise comme fonction de dechiffrement

d′kB= ekA

dkB.

On a bien d′kBe′kB

= IdM . De plus Bob est assure de l’authenticite du message puisqueseule Alice connais dkA

.

4Principe de Miller-Rabin : si p est premier, alors K = Z/pZ est un corps, et X2 − 1admet deux racines dans K, a savoir 1 et −1. Soit 2 ≤ b ≤ p − 2. Si bp−1 = 1 mod p alorsb(p−1)/2 = ±1 mod p. Si c’est +1, on a b(p−1)/4 = ±1 mod p, et ainsi de suite. En testantceci avec differents b, on reduit arbitrairement la probabilite d’erreur.

Page 54: Rapport

54 ANNEXE D. NOTES DE LECTURE EN CRYPTOGRAPHIE

D.6.4 Attaques de RSA

Les meilleurs algorithmes de factorisation d’entiers a n chiffres ont une complexitede O(en

√ln n). La complexite d’algorithme probabiliste est de O(n3). On peut ainsi

determiner le caractere premier ou compose (primalite) de nombres allant jusqu’a 1500chiffres, mais on ne peut factoriser que des nombres d’environ 120 chiffres. Auncuncoup fatal n’a ete porte a RSA. Toutefois, notons que si a est revele, le secret de lafactorisation de n est compromis. Par ailleurs, de l’information partielle sur le texteclair m peut fragiliser la surete, par exemple : tout algorithme capable de calculer lebit de poids faible de m peut etre utilise comme oracle pour retrouver le texte clair m.

D.7 Signatures et Fonctions de hachage

D.7.1 Signatures electroniques

Je ne veux pas rentrer dans les details techniques, mais juste savoir de quoi il s’agit.Il y a trois point a signaler a propos des signatures :

1. Une signature n’existe qu’apposee sur un document. Le procede de signature doiten quelque sorte ”coller” la signature au message.

2. La verification : par comparaison avec un exemplaire certifie.3. La copie, c’est la le grand probleme des documents electronique. Stinson propose

l’utilisation d’info temporelle (date) comme parade.On remarque d’etranges similarites entre un procede de signature et un procede

de marquage. Un procede de signature est compose d’un algorithme de signature etd’un algorithme de verification. Bob signe un message m suivant l’algorithme (secret,dependant d’une clef k) de signature sk. Le resultat s(m) peut ensuite etre verifie par unalgorithme de verification vk. Pour tout couple (m,x), vk renvoie une valeur booleennesuivant que x est une authentique signature de m ou non. Un exemple est presente auchapitre RSA (authentification). Il existe d’autre procede de signature (ElGamal, nondeterministe, DSS = Digital Signature Standard, modification d’ElGamal).

Les signatures incontestables meritent d’etre mentionnees. Il s’agit de faire en sorteque la signature de Bob peut etre authentifiee (verifiee) sans le concours de Bob. Celaprotege Bob de la diffusion contre son gre d’un document qu’il aurait signe. Inversement,Bob pourrait pretendre q’une signature valide est une contrefacon. Un procede designature incontestable possede une procedure de dementi que Bob doit suivre pourmontrer qu’une signature est une contre-facon. Donc : une fonction de signature s, unefonction de verification v et une procedure de dementi.

Aussi : les signatures sans echec. Dans l’eventualite ou Oscar est capable de fabri-quer des signatures de Bob sur un message, Bob est (avec une forte probabilite) capablede montrer que la signature est une contrefacon (en utilisant un autre message).

D.7.2 Fonctions de hachage

Le probleme principal des signatures est qu’elles ne peuvent signer que des petitesmessages (DSS : signatures de 160 bits sur des messages de 320 bits). Pour resoudrecela, il existe les fonctions de hachage, qui prennent une donnee arbitrairement longuepour en faire une sorte de resume de longueur fixe, par exemple 320 bits. Ainsi, unefonction de hachage est une fonction h

h : 0, 1∗ → 0, 1N

qui mappe l’ensemble des sequences finies de bits sur un ensemble de sequences delongueur fixe N . Evidemment, aucune fonction de hachage n’est injective : pour un

Page 55: Rapport

D.8. DIVERS 55

messagem fixe, il existe toujours (beaucoup) d’autres messagesm′ avec le meme resume(puisque l’espace des resumes est plus petit). Il faut prendre quelques precautions pourque l’emploi de la fonction de hachage h n’affaiblisse pas la securite du procede designature. Comme on signe l’empreinte (= resume) numerique au lieu du message luimeme, il est necessaire que h satisfasse quelques criteres pour eviter les falsifications.L’attaque la plus evidente consiste, pour l’opposant Oscar, a partir d’un message signe(m,x) authentique (donc avec x = sk(m)) calcule par Bob, a calculer y = h(m) et achercher m′ 6= m tel que h(m′) = h(m) = y. Si Oscar y parvient, alors (m′, x) est unmessage valide. C’est l’objet de la definition suivante.

Definition 17 (Collisions faibles difficiles) Une fonction de hachage h est a colli-sions faibles difficiles si et seulement si, pour tout message m il est difficile de calculerm′ tel que h(m) = h(m′).

Autre attaque possible : Oscar cherche m et m′ tels que h(m) = h(m′). Il persuadeBob de signer m et obtient la signature x = sk(m). Alors (m′, x) est une signatureauthentique. D’ou

Definition 18 (Collisions fortes difficiles) Une fonction de hachage h est a col-lisions fortes difficiles si et seulement si il est difficile de calculer m et m′ tels queh(m) = h(m′).

Evidemment si h est a collisions fortes difficiles, elle est aussi a collisions faibles difficiles.Par ailleurs, les fonctions de hachages a collisions faibles difficiles sont forcement a sensunique, c’est-a-dire

Definition 19 (Fonction a sens unique) Une fonction de hachage h est a sens uniquesi et seulement si etant donne y ∈ h(M), il est difficile de calculer m tel que h(m) = y.

On demontre que

Theoreme 9 (Collision) Soit h : M → X une fonction de hachage ou M et X sonttels que |M | ≥ 2|X|. Alors il existe un algorithme probabiliste qui trouve une collisionavec une probabilite superieur a 1/2.

En clair, si les resumes sont petits devant les messages, il est facile de trouver unecollision. Avec l’attaque des ’anniversaires’, on montre qu’en choisissant

√|M | mes-

sages aleatoires, on trouve une collision avec une proba de 1/2. Ceci impose une borneinferieure sur la longueur des empreintes : une empreinte de 40 bits est cassable enutilisant 220 messages aleatoires.

D.8 Divers

Je n’ai pas tout vu, mais je crois avoir les briques avec lesquelles on compose pourconstruire les protocoles de securisation. Je prefere donc ne pas aller plus loin sansavoir plus d’idee sur le marquage derriere la tete. Il reste les chapitres

1. Distribution de clef et mise en accord.

2. Procede d’identification.

3. Codes d’authentification.

4. Systemes de partages de secret.

5. Generateurs pseudo-aleatoires.

6. Preuve sans apport d’information (probleme d’isomorphisme de graphe).

Page 56: Rapport

56 ANNEXE D. NOTES DE LECTURE EN CRYPTOGRAPHIE

Essayons de reperer les liens et differences entre le marquage et la cryptographie.La cryptographie n’est pas une solution au probleme de protection de signature, puis-qu’une fois decrypte, un contenu electronique est sans defense.Le marquage fait face a des contraintes subjectives d’imperceptibilite qui ne font passens en cryptographie. Formalisons un peu le probleme du marquage. Soit x un signalaudio original et m la marque. Imaginons une fonction qx qui associe a x′ (autre signalaudio) un booleen qx(x′) ∈ 0, 1, telle que qx(x′) = 0 si la difference entre x et x′ n’estpas perceptible et qx(x′) = 1 sinon. Difficile d’en faire une distance. Imaginons unedeuxieme fonction dm qui associe a x′ un booleen dm(x′) ∈ 0, 1, telle que dm(x′) = 1si x′

L’union standard de la crypto et du marquage est assez platonique. On considere lacryptographie en amont du marquage. La protection d’un signal passe alors par deuxetapes :

1. on crypte un contenu fonction de l’auteur et du signal, avec du hachage parexemple.

2. on fabrique ensuite une marque en fonction de l’information crypte.

Dans l’article de Laurence Boney and Co (protection du copyright), on montre quela marque s doit dependre du signal x et de la signature de l’auteur a : par exemplele couple s(x, a) = (s1(x), s2(a)). Typiquement, on utilise une fonction a sens uniquepour obtenir la signature du signal audio. On choisit de resumer les caracteritiques lesplus importantes du signal. Cette fonction est telle qu’il est difficile de trouver un autresignal de meme resume.