FR2837039A1 - Digital signal watermark insertion having step calculating first control bit representing key and step supplementary insertion information bits with insertion supplementary information bits/different calculation operation - Google Patents

Digital signal watermark insertion having step calculating first control bit representing key and step supplementary insertion information bits with insertion supplementary information bits/different calculation operation Download PDF

Info

Publication number
FR2837039A1
FR2837039A1 FR0203014A FR0203014A FR2837039A1 FR 2837039 A1 FR2837039 A1 FR 2837039A1 FR 0203014 A FR0203014 A FR 0203014A FR 0203014 A FR0203014 A FR 0203014A FR 2837039 A1 FR2837039 A1 FR 2837039A1
Authority
FR
France
Prior art keywords
key
control bit
coefficient
calculation
function
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
FR0203014A
Other languages
French (fr)
Other versions
FR2837039B1 (en
Inventor
Ioana Donescu
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Canon Inc
Original Assignee
Canon Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Canon Inc filed Critical Canon Inc
Priority to FR0203014A priority Critical patent/FR2837039B1/en
Publication of FR2837039A1 publication Critical patent/FR2837039A1/en
Application granted granted Critical
Publication of FR2837039B1 publication Critical patent/FR2837039B1/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N1/00Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
    • H04N1/32Circuits or arrangements for control or supervision between transmitter and receiver or between image input and image output device, e.g. between a still-image camera and its memory or between a still-image camera and a printer device
    • H04N1/32101Display, printing, storage or transmission of additional information, e.g. ID code, date and time or title
    • H04N1/32144Display, printing, storage or transmission of additional information, e.g. ID code, date and time or title embedded in the image data, i.e. enclosed or integrated in the image, e.g. watermark, super-imposed logo or stamp
    • H04N1/32149Methods relating to embedding, encoding, decoding, detection or retrieval operations
    • H04N1/32154Transform domain methods
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N1/00Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
    • H04N1/32Circuits or arrangements for control or supervision between transmitter and receiver or between image input and image output device, e.g. between a still-image camera and its memory or between a still-image camera and a printer device
    • H04N1/32101Display, printing, storage or transmission of additional information, e.g. ID code, date and time or title
    • H04N1/32144Display, printing, storage or transmission of additional information, e.g. ID code, date and time or title embedded in the image data, i.e. enclosed or integrated in the image, e.g. watermark, super-imposed logo or stamp
    • H04N1/32149Methods relating to embedding, encoding, decoding, detection or retrieval operations
    • H04N1/32154Transform domain methods
    • H04N1/32187Transform domain methods with selective or adaptive application of the additional information, e.g. in selected frequency coefficients
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N1/00Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
    • H04N1/32Circuits or arrangements for control or supervision between transmitter and receiver or between image input and image output device, e.g. between a still-image camera and its memory or between a still-image camera and a printer device
    • H04N1/32101Display, printing, storage or transmission of additional information, e.g. ID code, date and time or title
    • H04N1/32144Display, printing, storage or transmission of additional information, e.g. ID code, date and time or title embedded in the image data, i.e. enclosed or integrated in the image, e.g. watermark, super-imposed logo or stamp
    • H04N1/32149Methods relating to embedding, encoding, decoding, detection or retrieval operations
    • H04N1/32267Methods relating to embedding, encoding, decoding, detection or retrieval operations combined with processing of the image
    • H04N1/32272Encryption or ciphering
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N2201/00Indexing scheme relating to scanning, transmission or reproduction of documents or the like, and to details thereof
    • H04N2201/32Circuits or arrangements for control or supervision between transmitter and receiver or between image input and image output device, e.g. between a still-image camera and its memory or between a still-image camera and a printer device
    • H04N2201/3201Display, printing, storage or transmission of additional information, e.g. ID code, date and time or title
    • H04N2201/3225Display, printing, storage or transmission of additional information, e.g. ID code, date and time or title of data relating to an image, a page or a document
    • H04N2201/3233Display, printing, storage or transmission of additional information, e.g. ID code, date and time or title of data relating to an image, a page or a document of authentication information, e.g. digital signature, watermark

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Storage Device Security (AREA)

Abstract

The watermarking method has a step (E1) calculating the first coefficient of a first control bit representing a key (Ks). There is a step (E2) of insertion of supplementary information bits with calculation (E4,E5) of a second key. A second operation calculates the result of the first control bit, and a calculation follows a predetermined operation different to the resultant calculation of the first bit.

Description

<Desc/Clms Page number 1> <Desc / Clms Page number 1>

La présente invention concerne un procédé d'insertion d'une information supplémentaire telle qu'une marque secrète dans un signal numérique.  The present invention relates to a method of inserting additional information such as a secret mark in a digital signal.

Elle concerne également un procédé d'extraction de la marque secrète en vue de l'authentification du signal numérique à partir de la marque secrète qui avait été insérée dans le signal.  It also relates to a method of extracting the secret mark with a view to authenticating the digital signal from the secret mark which had been inserted into the signal.

Corrélativement, la présente invention concerne un dispositif d'insertion d'une information supplémentaire et un dispositif d'extraction adaptés respectivement à mettre en oeuvre les procédés d'insertion et d'extraction conformes à l'invention.  Correlatively, the present invention relates to a device for inserting additional information and an extraction device adapted respectively to implement the insertion and extraction methods according to the invention.

La présente invention concerne de manière générale l'authentification de données numériques, et plus particulièrement d'images numériques. Elle a pour but de permettre la détection des changements intervenus dans des données numériques originales.  The present invention relates generally to the authentication of digital data, and more particularly of digital images. Its purpose is to allow the detection of changes in original digital data.

Plus précisément, l'invention s'inscrit dans le domaine technique du marquage (watermarking en anglais) des données numériques qui peut s'interpréter comme l'insertion d'un sceau dans les données numériques, permettant d'authentifier le contenu d'un fichier de données numériques original. Le marquage est alors dit fragile, car les informations supplémentaires insérées doivent être dégradées de façon détectable lorsque l'image marquée a subi des distorsions.  More specifically, the invention is in the technical field of marking (watermarking in English) of digital data which can be interpreted as the insertion of a seal in the digital data, allowing to authenticate the content of a original digital data file. The marking is then said to be fragile, since the additional information inserted must be degradable in a detectable manner when the marked image has been subjected to distortions.

<Desc/Clms Page number 2> <Desc / Clms Page number 2>

Ainsi, il est possible de décider si un document est authentique, c'est-à-dire s'il contient une marque d'identification non modifiée ou s'il a été modifié par rapport à une version initiale authentifiée.  Thus, it is possible to decide if a document is authentic, that is to say if it contains an unmodified identification mark or if it has been modified compared to an initial authenticated version.

L'état de l'art en marquage fragile est décrit par E. T. Lin et E. J. Delp dans A review of fragile image watermarks , dans Proc. Multimedia and Security Workshop (ACM Multimedia'99), pages 25-29, Orlando, 1999.  The state of the art in fragile labeling is described by E. T. Lin and E. J. Delp in A review of fragile image watermarks, in Proc. Multimedia and Security Workshop (ACM Multimedia'99), pages 25-29, Orlando, 1999.

Par exemple, les demandes de brevet français n 2 786 583 et n 2 787 604 décrivent des techniques de marquage fragile.  For example, French patent applications No. 2,786,583 and No. 2,787,604 describe fragile marking techniques.

Ces techniques utilisent une clé de décodage publique.  These techniques use a public decoding key.

La plupart des méthodes d'authentification par marquage présentent un problème de sécurité. En effet, un pirate qui dispose de la clé publique de décodage et du décodeur correspondant peut modifier de manière frauduleuse une image, de sorte que cette image semble être authentique lors d'un décodage ultérieur avec la clé publique.  Most tag authentication methods have a security issue. Indeed, a hacker who has the public decoding key and the corresponding decoder can fraudulently modify an image, so that this image seems to be authentic during a subsequent decoding with the public key.

Par ailleurs, le document Using escrow public key to enhance confidence in an image authentification scheme de J. Malcolm et B. Robinson, dans Proc. IEE, 2000, propose d'appliquer un double codage/décodage cryptographique.  Furthermore, the document Using escrow public key to enhance confidence in an image authentication scheme by J. Malcolm and B. Robinson, in Proc. IEE, 2000, proposes to apply a double cryptographic coding / decoding.

Deux signatures, au sens cryptographique, sont calculées pour une même image, chacune de ces signatures utilisant un couple de clés publique et privée.  Two signatures, in the cryptographic sense, are calculated for the same image, each of these signatures using a pair of public and private keys.

La signature publique est utilisée pour décoder l'image. La signature privée est quant à elle utilisée pour vérifier si une image décodée avec la signature publique a été piratée ou non.  The public signature is used to decode the image. The private signature is used to check whether an image decoded with the public signature has been pirated or not.

Ce document introduit donc la notion de double décodage. Mais il est à noter qu'il ne concerne pas le marquage fragile de données.  This document therefore introduces the concept of double decoding. But it should be noted that it does not concern fragile data marking.

La présente invention vise à remédier aux inconvénients de la technique antérieure, en fournissant un procédé et un dispositif de marquage fragile qui limite le risque de falsification des données marquées.  The present invention aims to remedy the drawbacks of the prior art, by providing a method and a fragile marking device which limits the risk of falsification of the marked data.

<Desc/Clms Page number 3> <Desc / Clms Page number 3>

A cette fin, l'invention propose un procédé d'insertion d'une information supplémentaire telle qu'une marque secrète pour l'authentification d'un signal numérique comportant un ensemble de coefficients, caractérisé en ce qu'il comporte les étapes de : - calcul, pour au moins un premier coefficient, d'un premier bit de contrôle respectif en fonction d'une première clé, suivant une première opération prédéterminée, - insertion d'au moins un bit d'information supplémentaire sur ledit au moins un premier coefficient, en fonction de la valeur de son bit de contrôle, - calcul d'une seconde clé, telle que : - le résultat du calcul, pour tous les premiers coefficients pour lesquels un premier bit de contrôle respectif a été calculé, d'un second bit de contrôle en fonction de la seconde clé, suivant une seconde opération prédéterminée est respectivement égal au résultat du calcul du premier bit de contrôle, et - le résultat du calcul, pour au moins un second coefficient pour lequel un premier bit de contrôle respectif n'a pas été calculé, d'un second bit de contrôle en fonction de la seconde clé, suivant une seconde opération prédéterminée est différent du résultat du calcul du premier bit de contrôle calculé pour ledit au moins un second coefficient.  To this end, the invention proposes a method of inserting additional information such as a secret mark for the authentication of a digital signal comprising a set of coefficients, characterized in that it comprises the steps of: - calculation, for at least a first coefficient, of a respective first control bit as a function of a first key, according to a first predetermined operation, - insertion of at least one additional information bit on said at least one first coefficient, as a function of the value of its control bit, - calculation of a second key, such as: - the result of the calculation, for all the first coefficients for which a respective first control bit has been calculated, of a second control bit as a function of the second key, according to a second predetermined operation is respectively equal to the result of the calculation of the first control bit, and - the result of the calculation, for at least one second co efficient for which a respective first control bit has not been calculated, a second control bit as a function of the second key, according to a second predetermined operation is different from the result of the calculation of the first control bit calculated for said at minus a second coefficient.

Corrélativement, l'invention concerne un dispositif d'insertion d'une information supplémentaire telle qu'une marque secrète pour l'authentification d'un signal numérique comportant un ensemble de coefficients, caractérisé en ce qu'il comporte : - des moyens de calcul, pour au moins un premier coefficient, d'un premier bit de contrôle respectif en fonction d'une première clé, suivant une première opération prédéterminée, - des moyens d'insertion d'au moins un bit d'information supplémentaire sur ledit au moins un premier coefficient, en fonction de la valeur de son bit de contrôle, - des moyens de calcul d'une seconde clé, telle que :  Correlatively, the invention relates to a device for inserting additional information such as a secret mark for authenticating a digital signal comprising a set of coefficients, characterized in that it comprises: - calculation means , for at least a first coefficient, of a respective first control bit as a function of a first key, according to a first predetermined operation, - means for inserting at least one additional information bit on said at least a first coefficient, as a function of the value of its control bit, - means for calculating a second key, such as:

<Desc/Clms Page number 4><Desc / Clms Page number 4>

- le résultat du calcul, pour tous les premiers coefficients pour lesquels un premier bit de contrôle respectif a été calculé, d'un second bit de contrôle en fonction de la seconde clé, suivant une seconde opération prédéterminée est respectivement égal au résultat du calcul du premier bit de contrôle, et - le résultat du calcul, pour au moins un second coefficient pour lequel un premier bit de contrôle respectif n'a pas été calculé, d'un second bit de contrôle en fonction de la seconde clé, suivant une seconde opération prédéterminée est différent du résultat du calcul du premier bit de contrôle calculé pour ledit au moins un second coefficient.  the result of the calculation, for all the first coefficients for which a respective first control bit has been calculated, of a second control bit as a function of the second key, according to a second predetermined operation is respectively equal to the result of the calculation of the first control bit, and - the result of the calculation, for at least one second coefficient for which a respective first control bit has not been calculated, of a second control bit as a function of the second key, following a second predetermined operation is different from the result of the calculation of the first control bit calculated for said at least one second coefficient.

L'invention propose ainsi un procédé de marquage de données qui utilise une clé lors d'insertion du signal de marquage et deux clés pour l'extraction ultérieure de ce signal de marquage. L'une des clés d'extraction est publique tandis que l'autre demeure secrète.  The invention thus provides a method of marking data which uses a key during insertion of the marking signal and two keys for the subsequent extraction of this marking signal. One of the extraction keys is public while the other remains secret.

L'invention permet de limiter le risque de falsification des données marquées. En effet, l'information supplémentaire peut être extraite avec chacune des deux clés. On peut alors vérifier que la clé publique et la clé privée permettent d'extraire la même information supplémentaire.  The invention makes it possible to limit the risk of falsification of the marked data. Indeed, the additional information can be extracted with each of the two keys. We can then verify that the public key and the private key make it possible to extract the same additional information.

Selon une caractéristique préférée, la seconde clé est associée au signal numérique dans lequel l'information supplémentaire a été insérée.  According to a preferred characteristic, the second key is associated with the digital signal into which the additional information has been inserted.

Ainsi, la seconde clé est publique.  So the second key is public.

Selon une caractéristique préférée, le calcul de la seconde clé comporte, pour chacune des clés d'un ensemble prédéterminé de clé : - le calcul du second bit de contrôle, pour ledit au moins un premier coefficient, suivant la seconde opération prédéterminée, - la comparaison, pour ledit au moins un premier coefficient, du second bit de contrôle et du premier bit de contrôle, - l'élimination des clés pour lesquelles le premier et le second bits de contrôle sont différents, pour ledit au moins un premier coefficient.  According to a preferred characteristic, the calculation of the second key comprises, for each of the keys of a predetermined set of keys: - the calculation of the second control bit, for said at least one first coefficient, according to the second predetermined operation, - the comparison, for said at least one first coefficient, of the second control bit and of the first control bit, - elimination of the keys for which the first and the second control bits are different, for said at least one first coefficient.

<Desc/Clms Page number 5> <Desc / Clms Page number 5>

Ainsi, la seconde clé permet d'obtenir le même bit de contrôle que la première clé, pour les premiers coefficients.  Thus, the second key makes it possible to obtain the same control bit as the first key, for the first coefficients.

Selon une caractéristique préférée, le calcul de la seconde clé comporte : - détermination d'au moins un second coefficient pour lequel un premier bit de contrôle n'a pas été calculé, - calcul, pour ledit au moins un second coefficient, d'un premier bit de contrôle respectif en fonction de la première clé, suivant la première opération prédéterminée, - calcul, pour ledit au moins un second coefficient, d'un second bit de contrôle respectif en fonction de chacune des clés non éliminées, suivant la seconde opération prédéterminée, - détermination de la seconde clé en fonction de la différence entre les premier et second bits de contrôle.  According to a preferred characteristic, the calculation of the second key comprises: - determination of at least one second coefficient for which a first control bit has not been calculated, - calculation, for said at least one second coefficient, of a respective first control bit as a function of the first key, according to the first predetermined operation, - calculation, for said at least one second coefficient, of a respective second control bit as a function of each of the keys not eliminated, according to the second operation predetermined, - determination of the second key as a function of the difference between the first and second control bits.

Ainsi, la seconde clé permet d'obtenir, pour le ou les seconds coefficients, un second bit de contrôle qui est différent de celui obtenu avec la première clé.  Thus, the second key makes it possible to obtain, for the second coefficient (s), a second control bit which is different from that obtained with the first key.

Selon une caractéristique préférée, la première opération et la seconde opération sont identiques. La mise en oeuvre est ainsi simplifiée.  According to a preferred characteristic, the first operation and the second operation are identical. The implementation is thus simplified.

Le dispositif d'insertion comporte des moyens de mise en oeuvre des caractéristiques précédentes.  The insertion device includes means for implementing the above characteristics.

L'invention concerne aussi un procédé d'extraction d'une information supplémentaire insérée dans un signal numérique par le procédé précédemment présenté, caractérisé en ce qu'il comporte les étapes de : - extraction d'une première information supplémentaire en utilisant la première clé et la première opération prédéterminée, - extraction d'une seconde information supplémentaire en utilisant la seconde clé et la seconde opération prédéterminée, - comparaison de la première et de la seconde informations supplémentaires,  The invention also relates to a method of extracting additional information inserted into a digital signal by the method previously presented, characterized in that it comprises the steps of: - extracting a first additional information using the first key and the first predetermined operation, - extraction of a second additional information using the second key and the second predetermined operation, - comparison of the first and second additional information,

<Desc/Clms Page number 6><Desc / Clms Page number 6>

- authentification du signal numérique en fonction du résultat de la comparaison.  - authentication of the digital signal according to the result of the comparison.

L'invention concerne aussi un dispositif d'extraction comportant des moyens de mise en oeuvre des caractéristiques précédentes.  The invention also relates to an extraction device comprising means for implementing the above characteristics.

Le dispositif d'insertion, le procédé et le dispositif d'extraction présentent des avantages analogues à ceux précédemment présentés.  The insertion device, the method and the extraction device have advantages similar to those previously presented.

L'invention concerne aussi un appareil numérique incluant le dispositif selon l'invention, ou des moyens de mise en oeuvre du procédé selon l'invention. Cet appareil numérique est notamment un appareil photographique numérique. Il peut aussi être, par exemple, un caméscope numérique, un scanner, une imprimante, un photocopieur, un télécopieur. Les avantages du dispositif et de l'appareil numérique sont identiques à ceux précédemment exposés.  The invention also relates to a digital device including the device according to the invention, or means for implementing the method according to the invention. This digital camera is in particular a digital camera. It can also be, for example, a digital camcorder, a scanner, a printer, a photocopier, a fax machine. The advantages of the device and of the digital apparatus are identical to those previously exposed.

Un moyen de stockage d'information, lisible par un ordinateur ou par un microprocesseur, intégré ou non au dispositif, éventuellement amovible, mémorise un programme mettant en oeuvre le procédé selon l'invention.  An information storage means, readable by a computer or by a microprocessor, integrated or not in the device, possibly removable, stores a program implementing the method according to the invention.

Un programme d'ordinateur lisible par un microprocesseur et comportant une ou plusieurs séquence d'instructions est apte à mettre en oeuvre les procédés selon l'invention.  A computer program readable by a microprocessor and comprising one or more sequence of instructions is capable of implementing the methods according to the invention.

Les caractéristiques et avantages de la présente invention apparaîtront plus clairement à la lecture d'un mode préféré de réalisation illustré par les dessins ci-joints, dans lesquels : - la figure 1 est un mode de réalisation d'un dispositif mettant en oeuvre l'invention,

Figure img00060001

- la figure 2 représente un dispositif de codage, - la figure 3 représente un dispositif de décodage correspondant au dispositif de la figure 2, - la figure 4 représente un dispositif de codage selon l'invention, - la figure 5 représente un dispositif de décodage selon l'invention correspondant au dispositif de la figure 4, The characteristics and advantages of the present invention will appear more clearly on reading a preferred embodiment illustrated by the attached drawings, in which: - Figure 1 is an embodiment of a device implementing the invention,
Figure img00060001

- Figure 2 shows a coding device, - Figure 3 shows a decoding device corresponding to the device in Figure 2, - Figure 4 shows a coding device according to the invention, - Figure 5 shows a decoding device according to the invention corresponding to the device of FIG. 4,

<Desc/Clms Page number 7><Desc / Clms Page number 7>

- la figure 6 représente un mode de réalisation de procédé de codage selon l'invention, - la figure 7 représente un mode de réalisation de procédé de décodage selon l'invention, - la figure 8 représente le détail d'une étape de décodage public, incluse dans le procédé de la figure 7, - la figure 9 représente le détail d'une étape de décodage privé, incluse dans le procédé de la figure 7, - la figure 10 représente le détail d'une étape de recherche d'un ensemble de clés publiques, incluse dans le procédé de la figure 6, - la figure 11 représente le détail d'une étape de recherche d'une clé publique, incluse dans le procédé de la figure 6.  - Figure 6 shows an embodiment of the coding method according to the invention, - Figure 7 shows an embodiment of the decoding method according to the invention, - Figure 8 shows the detail of a public decoding step , included in the method of FIG. 7, - FIG. 9 represents the detail of a private decoding step, included in the method of FIG. 7, - FIG. 10 represents the detail of a step of searching for a set of public keys, included in the method of FIG. 6, FIG. 11 represents the detail of a step of searching for a public key, included in the method of FIG. 6.

Selon le mode de réalisation choisi et représenté à la figure 1, un dispositif mettant en oeuvre l'invention est par exemple un micro-ordinateur 10 connecté à différents périphériques, par exemple une caméra numérique 107 (ou un scanner, ou tout moyen d'acquisition ou de stockage d'image) reliée à une carte graphique et fournissant des informations à traiter selon l'invention.  According to the embodiment chosen and represented in FIG. 1, a device implementing the invention is for example a microcomputer 10 connected to different peripherals, for example a digital camera 107 (or a scanner, or any means of image acquisition or storage) connected to a graphics card and providing information to be processed according to the invention.

Le dispositif 10 comporte une interface de communication 112 reliée à un réseau 113 apte à transmettre des données numériques à traiter ou inversement à transmettre des données traitées par le dispositif. Le dispositif 10 comporte également un moyen de stockage 108 tel que par exemple un disque dur. Il comporte aussi un lecteur 109 de disque 110. Ce disque 110 peut être une disquette, un CD-ROM, ou un DVD-ROM, par exemple. Le disque 110 comme le disque 108 peuvent contenir des données traitées selon l'invention ainsi que le ou les programmes mettant en oeuvre l'invention qui, une fois lu par le dispositif 10, sera stocké dans le disque dur 108. Selon une variante, le programme permettant au dispositif de mettre en oeuvre l'invention, pourra être stocké en mémoire morte 102 (appelée ROM sur le dessin). En seconde variante, le programme pourra être reçu pour être stocké de façon identique à celle décrite précédemment par l'intermédiaire du réseau de communication 113.  The device 10 includes a communication interface 112 connected to a network 113 capable of transmitting digital data to be processed or, conversely, of transmitting data processed by the device. The device 10 also includes a storage means 108 such as for example a hard disk. It also includes a disc drive 109. This disc 110 can be a floppy disk, a CD-ROM, or a DVD-ROM, for example. The disk 110 like the disk 108 can contain data processed according to the invention as well as the program or programs implementing the invention which, once read by the device 10, will be stored in the hard disk 108. According to a variant, the program allowing the device to implement the invention can be stored in read-only memory 102 (called ROM in the drawing). In a second variant, the program can be received to be stored in an identical manner to that described previously via the communication network 113.

<Desc/Clms Page number 8> <Desc / Clms Page number 8>

Le dispositif 10 est relié à un microphone 111. Les données à traiter selon l'invention seront dans ce cas du signal audio.  The device 10 is connected to a microphone 111. The data to be processed according to the invention will in this case be an audio signal.

Ce même dispositif possède un écran 104 permettant de visualiser les données à traiter ou de servir d'interface avec l'utilisateur qui peut ainsi paramétrer certains modes de traitement, à l'aide du clavier 114 ou de tout autre moyen (souris par exemple).  This same device has a screen 104 making it possible to view the data to be processed or to serve as an interface with the user who can thus configure certain processing modes, using the keyboard 114 or any other means (mouse for example) .

L'unité centrale 100 (appelée CPU sur le dessin) exécute les instructions relatives à la mise en oeuvre de l'invention, instructions stockées dans la mémoire morte 102 ou dans les autres éléments de stockage. Lors de la mise sous tension, les programmes de traitement stockés dans une mémoire non volatile, par exemple la ROM 102, sont transférés dans la mémoire vive RAM 103 qui contiendra alors le code exécutable de l'invention ainsi que des registres pour mémoriser les variables nécessaires à la mise en oeuvre de l'invention.  The central unit 100 (called CPU in the drawing) executes the instructions relating to the implementation of the invention, instructions stored in the read-only memory 102 or in the other storage elements. During power-up, the processing programs stored in a non-volatile memory, for example the ROM 102, are transferred to the RAM RAM 103 which will then contain the executable code of the invention as well as registers for storing the variables necessary for the implementation of the invention.

De manière plus générale, un moyen de stockage d'information, lisible par un ordinateur ou par un microprocesseur, intégré ou non au dispositif, éventuellement amovible, mémorise un programme mettant en oeuvre le procédé selon l'invention.  More generally, an information storage means, readable by a computer or by a microprocessor, integrated or not in the device, possibly removable, stores a program implementing the method according to the invention.

Le bus de communication 101 permet la communication entre les différents éléments inclus dans le micro-ordinateur 10 ou reliés à lui. La représentation du bus 101 n'est pas limitative et notamment l'unité centrale 100 est susceptible de communiquer des instructions à tout élément du microordinateur 10 directement ou par l'intermédiaire d'un autre élément du microordinateur 10.  The communication bus 101 allows communication between the different elements included in the microcomputer 10 or connected to it. The representation of the bus 101 is not limiting and in particular the central unit 100 is capable of communicating instructions to any element of the microcomputer 10 directly or through another element of the microcomputer 10.

Un mode de réalisation de dispositif de marquage fragile 20 est décrit en référence à la figure 2. Ce dispositif est décrit dans la demande de brevet français n 2 786 583. Le dispositif est intégré dans un appareil, qui est par exemple un appareil photographique numérique, un caméscope numérique, un scanner, une imprimante, un photocopieur, un télécopieur, un système de gestion de base de données, ou encore un ordinateur.  An embodiment of a fragile marking device 20 is described with reference to FIG. 2. This device is described in French patent application No. 2 786 583. The device is integrated into an apparatus, which is for example a digital photographic camera , a digital camcorder, a scanner, a printer, a photocopier, a fax machine, a database management system, or even a computer.

<Desc/Clms Page number 9> <Desc / Clms Page number 9>

Dans cet exemple, et à titre d'exemple non limitatif, le signal numérique est une image numérique 1 constituée d'une suite d'échantillons numériques. Une image originale 1 peut être représentée par une série de pixels codés par exemple sur 8 bits ou octets. L'image 1 noir et blanc peut ainsi être décomposée dans le domaine spatial en un ensemble de coefficients sur 256 niveaux de gris, chaque valeur de coefficient représentant un pixel de l'image 1.  In this example, and by way of nonlimiting example, the digital signal is a digital image 1 consisting of a series of digital samples. An original image 1 can be represented by a series of pixels coded for example on 8 bits or bytes. The black and white image 1 can thus be decomposed in the spatial domain into a set of coefficients on 256 gray levels, each coefficient value representing a pixel of image 1.

De manière classique dans le domaine de traitement des données numériques, l'image 1 peut également être représentée dans un domaine spectral, après décomposition spectrale de l'image numérique, par un ensemble de coefficients spectraux, éventuellement quantifiés lorsque l'image 1 doit être stockée ou transmise dans un fichier de données compressées. Ces coefficients spectraux sont également représentés sur un nombre L de bits, par exemple L = 8 si le coefficient est représenté sur un octet.  Conventionally in the digital data processing domain, image 1 can also be represented in a spectral domain, after spectral decomposition of the digital image, by a set of spectral coefficients, possibly quantified when image 1 must be stored or transmitted in a compressed data file. These spectral coefficients are also represented on a number L of bits, for example L = 8 if the coefficient is represented on a byte.

Dans la suite de la description relative aux dispositifs d'insertion et d'authentification, les coefficients spatiaux ou spectraux sont indifféremment notés X,, avec i un indice entier.  In the following description relating to the insertion and authentication devices, the spatial or spectral coefficients are indifferently denoted X ,, with i an integer index.

L'information supplémentaire à insérer pour authentifier l'image 1 est une marque secrète W. Cette marque secrète peut contenir une information sur la provenance des données numériques (identification de l'auteur ou du propriétaire de l'image) ou sur leur date de création. Elle est représentée également par un ensemble de valeurs binaires Wj, égales par exemple à 0 ou 1, de taille égale ou inférieure à celle de l'ensemble de coefficients Xj.  The additional information to be inserted to authenticate image 1 is a secret mark W. This secret mark may contain information on the origin of the digital data (identification of the author or owner of the image) or on their date of creation. It is also represented by a set of binary values Wj, equal for example to 0 or 1, of size equal to or less than that of the set of coefficients Xj.

De manière générale, un dispositif d'insertion est assimilable à un codeur 20 qui code dans une image t, en format compressé ou non, une marque W. Une image marquée l'est fournie en sortie du codeur 20.  In general, an insertion device can be assimilated to an encoder 20 which encodes in a picture t, in compressed or uncompressed format, a mark W. A marked image is provided at the output of the encoder 20.

Les coefficients de l'image 1 sont séparés en deux sous-ensembles.  The coefficients of image 1 are separated into two subsets.

L'un des sous-ensembles est utilisé par un module de calcul 21 qui détermine des données dépendantes de l'image qui serviront ultérieurement à l'authentification. One of the subsets is used by a calculation module 21 which determines image dependent data which will later be used for authentication.

<Desc/Clms Page number 10> <Desc / Clms Page number 10>

L'autre sous-ensemble est fourni à un module de codage 22 qui insère la marque W dans les coefficients de ce sous-ensemble. Le codeur 20 fournit une image marquée la.  The other subset is supplied to a coding module 22 which inserts the mark W into the coefficients of this subset. The encoder 20 provides an image marked la.

Comme exposé dans la demande de brevet n 2 786 583, le dispositif d'insertion comporte : - des moyens de calcul d'un bit de contrôle C, suivant une opération prédéterminée en fonction de L-M premiers plans de bits d'un coefficient Xi ; - des moyens de calcul de M derniers plans de bits suivant une règle prédéterminée réversible en fonction du bit de contrôle C, et d'une valeur binaire w, de l'information supplémentaire W ; et - des moyens de substitution des M derniers plans de bits du coefficient X, par les M derniers plans de bits calculés.  As explained in patent application No. 2 786 583, the insertion device comprises: - means for calculating a control bit C, according to a predetermined operation as a function of L-M first bit plans of a coefficient Xi; means for calculating M last bit plans according to a predetermined reversible rule as a function of the control bit C, and of a binary value w, of the additional information W; and - means for replacing the M last bit plans of the coefficient X, by the M last calculated bit plans.

Les M plans de bits de poids les plus faibles du coefficient X, sont ainsi modifiés en fonction des autres L-M plans de bits du coefficient X, et de

Figure img00100001

l'information à insérer w,. The M least significant bit plans of the coefficient X, are thus modified as a function of the other LM bit plans of the coefficient X, and of
Figure img00100001

the information to insert w ,.

L'image la peut subir diverses distorsions (compression et décompression, filtrage) de telle sorte qu'une image l'a est transmise en entrée d'un dispositif d'authentification assimilable en partie à un décodeur 30 tel que représenté à la figure 3. Le but du dispositif d'authentification est d'indiquer si l'image l'a est bien l'image la qui a été transmise.  The image la can undergo various distortions (compression and decompression, filtering) so that an image a is transmitted at the input of an authentication device which can be assimilated in part to a decoder 30 as shown in FIG. 3 The purpose of the authentication device is to indicate whether the image has is the image which has been transmitted.

Comme exposé dans la demande de brevet n 2 786 583, le dispositif d'authentification comporte pour cela : - un module de calcul 31 d'un bit de contrôle C, suivant la même opération prédéterminée que celle utilisée au codage, en fonction de L-M premiers plans de bits d'un coefficient X, ; - un module d'extraction 32 de la valeur w'i de l'information supplémentaire insérée suivant la règle prédéterminée réversible en fonction du bit de contrôle C, et de M derniers plans de bits du coefficient X, ;
Le décodeur 30 permet ainsi de retrouver l'information supplémentaire w', insérée dans l'image reçue l'a.
As explained in patent application No. 2 786 583, the authentication device comprises for this: - a module 31 for calculating a control bit C, according to the same predetermined operation as that used for coding, as a function of LM first bit planes of a coefficient X,; - an extraction module 32 of the value w'i of the additional information inserted according to the predetermined reversible rule as a function of the control bit C, and of M last bit plans of the coefficient X,;
The decoder 30 thus makes it possible to find the additional information w ′, inserted in the image received a.

<Desc/Clms Page number 11> <Desc / Clms Page number 11>

Le dispositif d'authentification comporte également : - des moyens de comparaison 33 de la valeur extraite w'j de l'information supplémentaire insérée et de la valeur binaire Wj de l'information supplémentaire W ; et - des moyens de décision 34 d'authentifier ou non le signal numérique l'a en fonction de l'identité ou non de la valeur extraite w', et de la valeur binaire w, de l'information supplémentaire insérée W.  The authentication device also includes: - comparison means 33 of the value extracted w'j from the additional information inserted and the binary value Wj of the additional information W; and - decision means 34 to authenticate or not the digital signal a as a function of the identity or not of the extracted value w ', and of the binary value w, of the additional information inserted W.

Les moyens de calcul 21 et 31 d'un bit de contrôle C, pour chaque coefficient X, sont identiques dans le dispositif d'insertion et dans le dispositif d'authentification.  The means of calculation 21 and 31 of a control bit C, for each coefficient X, are identical in the insertion device and in the authentication device.

Par exemple, l'opération prédéterminée mise en oeuvre par ces moyens de calcul 21,31 est une fonction des L-M premiers plans de bits du coefficient X, et d'une clé confidentielle K représentée également sur L bits.  For example, the predetermined operation implemented by these calculation means 21, 31 is a function of the L-M first bit plans of the coefficient X, and of a confidential key K also represented on L bits.

La clé confidentielle permet de sécuriser les informations insérées. A titre d'exemple, on peut disposer d'une clé par image 1 à authentifier, ou d'une clé pour un ensemble d'images), ou encore d'une clé unique par type d'appareil qui crée ou stocke les images, par exemple un appareil photographique numérique.  The confidential key is used to secure the information entered. For example, you can have a key per image 1 to authenticate, or a key for a set of images), or even a unique key for each type of device that creates or stores images , for example a digital camera.

En outre, la clé K est identique au codage et au décodage.  In addition, the key K is identical to coding and decoding.

La figure 4 représente un mode de réalisation de dispositif d'insertion d'une information supplémentaire dans une image, selon l'invention.  FIG. 4 represents an embodiment of a device for inserting additional information into an image, according to the invention.

Ce dispositif est assimilable à un codeur 200. This device can be compared to an encoder 200.

Le codeur 200 reçoit en entrée une image initiale 1 comportant des coefficients X, et un signal de marquage W, qui est une image binaire comportant des coefficients Wj. Le signal W est de taille inférieure ou égale à celle de l'image 1.  The encoder 200 receives as input an initial image 1 comprising coefficients X, and a marking signal W, which is a binary image comprising coefficients Wj. The signal W is of size less than or equal to that of image 1.

Le codeur utilise une clé de codage Ks qui est une valeur numérique représentée sur un nombre prédéterminé de bits. La clé Ks est de préférence secrète.  The coder uses a coding key Ks which is a numerical value represented on a predetermined number of bits. The key Ks is preferably secret.

<Desc/Clms Page number 12> <Desc / Clms Page number 12>

Le codage a pour résultat une image la dans laquelle le signal de marquage W a été inséré et qui est visuellement identique à l'image initiale 1.  The coding results in an image la into which the marking signal W has been inserted and which is visually identical to the initial image 1.

Le codage est identique à celui décrit en référence à la figure 2. The coding is identical to that described with reference to FIG. 2.

Le codage a également pour résultat une clé de décodage Kp, dite clé publique. La clé publique Kp est destinée à être utilisée ultérieurement pour décoder l'image la. La clé publique Kp peut être attachée à l'image codée la, par exemple en étant écrite dans les données d'en-tête du fichier JPEG contenant l'image la. La détermination de la clé Kp est détaillée dans la suite.  The coding also results in a decoding key Kp, called the public key. The public key Kp is intended to be used subsequently to decode the image la. The public key Kp can be attached to the coded image la, for example by being written in the header data of the JPEG file containing the image la. The determination of the key Kp is detailed below.

Le fonctionnement du dispositif de codage sera détaillé dans la suite à l'aide d'algorithmes.  The operation of the coding device will be detailed below using algorithms.

Une image l'a est transmise en entrée d'un dispositif d'authentification selon l'invention 300 dont un mode de réalisation est représenté à la figure 5.  An image is transmitted to the input of an authentication device according to the invention 300, an embodiment of which is shown in FIG. 5.

L'image l'a peut être égale à l'image la. L'image la peut subir diverses distorsions (compression et décompression, filtrage) de telle sorte que l'image l'a est une version altérée de l'image la. Ces distorsions peuvent être assimilées soit à du bruit, soit à un piratage de l'image. Le but du dispositif d'authentification 300 est d'indiquer si l'image l'a est bien l'image la qui a été transmise ou inversement si l'image l'a est une version modifiée de l'image la.  The image a may be equal to the image la. The image la can undergo various distortions (compression and decompression, filtering) so that the image a is an altered version of the image la. These distortions can be compared either to noise or to image piracy. The purpose of the authentication device 300 is to indicate whether the image a is indeed the image la which has been transmitted or vice versa if the image a is a modified version of the image la.

Le décodeur 300 comporte deux modules de décodage. Les deux décodeurs effectuent des opérations d'extraction du signal de marquage qui sont analogues. Le premier décodeur 301 utilise la clé secrète Ks égale à la clé utilisée au codage et un mode de décodage 01. Une information Ws est ainsi extraite.  The decoder 300 comprises two decoding modules. The two decoders carry out operations for extracting the marking signal which are analogous. The first decoder 301 uses the secret key Ks equal to the key used for coding and a decoding mode 01. Information Ws is thus extracted.

Le second décodeur 302 utilise une clé publique Kp et un mode de décodage Ds. Une information Wp est ainsi extraite.  The second decoder 302 uses a public key Kp and a decoding mode Ds. Wp information is thus extracted.

Le premier décodeur est dit privé, c'est-à-dire que ses caractéristiques (clé Ks et mode de décodage 01) ne sont pas publiques. Le second décodeur est quant à lui public.  The first decoder is said to be private, that is to say that its characteristics (key Ks and decoding mode 01) are not public. The second decoder is public.

Les fonctions 01 et O2 respectent les propriétés suivantes :
Dl (la, Ks) = D2 (la, Kp)
Functions 01 and O2 respect the following properties:
Dl (la, Ks) = D2 (la, Kp)

<Desc/Clms Page number 13><Desc / Clms Page number 13>

D1 (lb, Ks) D2 (tb, Kp)
Dans lesquelles lb représente une image qui est une modification de l'image la. En d'autres termes, les deux modes de décodage fournissent le même résultat avec une même image préalablement authentifiée avec les clés Ks et Kp, mais des résultats différents avec une image non authentifiée ou avec une image authentifiée puis modifiée.
D1 (lb, Ks) D2 (tb, Kp)
In which lb represents an image which is a modification of the image la. In other words, the two decoding modes provide the same result with the same image previously authenticated with the keys Ks and Kp, but different results with an unauthenticated image or with an authenticated image then modified.

Les informations extraites Ws et Wp sont appliquées à un module de comparaison 303. Ce module vérifie si les informations extraites Ws et Wp sont identiques. Un module d'authentification authentifie ou non l'image l'a en fonction du résultat de la comparaison. Si les informations extraites Ws et Wp sont identiques, alors cela signifie que l'image l'a n'a pas été modifiée par rapport à l'image la. Dans le cas contraire, il y a eu modification de l'image.  The extracted information Ws and Wp are applied to a comparison module 303. This module checks whether the extracted information Ws and Wp are identical. An authentication module authenticates or not the image has it according to the result of the comparison. If the information extracted Ws and Wp are identical, then this means that the image a has not been modified with respect to the image la. Otherwise, the image has been modified.

La figure 6 représente un mode de réalisation de procédé de codage d'une image, selon l'invention. Ce procédé est mis en oeuvre dans le dispositif de codage et comporte des étapes E1 à E6.  FIG. 6 represents an embodiment of an image coding method according to the invention. This method is implemented in the coding device and includes steps E1 to E6.

Le procédé est réalisé sous la forme d'un algorithme qui peut être mémorisé en totalité ou en partie dans tout moyen de stockage d'information capable de coopérer avec le microprocesseur. Ce moyen de stockage est lisible par un ordinateur ou par un microprocesseur. Ce moyen de stockage est intégré ou non au dispositif, et peut être amovible. Par exemple, il peut comporter une bande magnétique, une disquette ou un CD-ROM (disque compact à mémoire figée).  The method is carried out in the form of an algorithm which can be stored in whole or in part in any information storage means capable of cooperating with the microprocessor. This storage means can be read by a computer or by a microprocessor. This storage means is integrated or not to the device, and can be removable. For example, it may include a magnetic tape, a floppy disk or a CD-ROM (compact disk with frozen memory).

Les étapes E 1 et E2 sont décrites dans la demande de brevet français n 2 786 583. Une image à coder est représentée par un ensemble de coefficients, par exemple des coefficients transformés dans le domaine DCT (d'après l'anglais Discret Cosine Transform). L'image est considérée par blocs de coefficients.  Steps E 1 and E2 are described in French patent application No. 2 786 583. An image to be coded is represented by a set of coefficients, for example coefficients transformed in the DCT domain (from Discret Cosine Transform ). The image is considered by blocks of coefficients.

Un sous-ensemble de coefficients {XI} est déterminé, par exemple en sélectionnant les coefficients dont la magnitude est supérieure à un seuil prédéterminé. L'insertion du signal de marquage est effectuée sur les coefficients de ce sous-ensemble.  A subset of coefficients {XI} is determined, for example by selecting the coefficients whose magnitude is greater than a predetermined threshold. The insertion of the marking signal is carried out on the coefficients of this subset.

<Desc/Clms Page number 14> <Desc / Clms Page number 14>

Pour cela, à l'étape E1, les coefficients du sous-ensemble sont considérés un par un. On considère un coefficient X, et on lui associe une valeur B, qui représente la position du coefficient dans le bloc auquel il appartient.  For this, in step E1, the coefficients of the subset are considered one by one. We consider a coefficient X, and we associate it with a value B, which represents the position of the coefficient in the block to which it belongs.

Un bit de contrôle C, est ensuite calculé pour le coefficient Xi. Le bit de contrôle C, est calculé en fonction de la valeur du coefficient X,, de sa position dans le bloc auquel il appartient et de la clé secrète Ks.  A control bit C, is then calculated for the coefficient Xi. The control bit C is calculated as a function of the value of the coefficient X ,, of its position in the block to which it belongs and of the secret key Ks.

La première étape du calcul est l'application d'une fonction déterministe h pour calculer une valeur réelle K, = h (Xi, B,, Ks). Par exemple, on a :
K, = MSB [X,]. B, + Ks.
The first step in the calculation is the application of a deterministic function h to calculate a real value K, = h (Xi, B ,, Ks). For example, we have:
K, = MSB [X,]. B, + Ks.

Où MSB [X,] représente le bit de poids fort de XI, d'après l'anglais Most Significant Bit > >
La seconde étape du calcul est un tirage pseudo-aléatoire effectué à partir de la valeur K, précédemment déterminée : C, = f1 (K,).
Where MSB [X,] represents the most significant bit of XI, according to the English Most Significant Bit>>
The second step of the calculation is a pseudo-random draw made from the value K, previously determined: C, = f1 (K,).

Pour le tirage pseudo-aléatoire, on utilise par exemple la procédure, notée ran1 (...), de génération de valeurs réelles uniformément réparties sur l'intervalle [0, 1], décrite dans l'ouvrage Numerical Recipes in C , seconde édition, Cambridge University Press, 1992, par W. H. Press, S. A. Teukolsky, W. T. Vetterling et B. P. Flannery.  For the pseudo-random drawing, we use for example the procedure, noted ran1 (...), of generation of real values uniformly distributed over the interval [0, 1], described in the book Numerical Recipes in C, second edition, Cambridge University Press, 1992, by WH Press, SA Teukolsky, WT Vetterling and BP Flannery.

La valeur du bit de contrôle C, ainsi déterminée est ensuite utilisée à l'étape E2 pour insérer un coefficient w, du signal de marquage W sur le coefficient X,.  The value of the control bit C, thus determined is then used in step E2 to insert a coefficient w, of the marking signal W on the coefficient X ,.

Par exemple, toujours comme dans la demande de brevet français n 2 786 583, le coefficient marqué X', est déterminé par la formule :

Figure img00140001

LSB [X',] = C, 0 W,
Où 0 représente l'opération binaire OU exclusif n et LSB [X'i] représente le bit de poids faible de X'I. Si les deux bits ont la même valeur, le résultat est égal à un, et à zéro sinon. For example, still as in French patent application No. 2 786 583, the coefficient marked X ′ is determined by the formula:
Figure img00140001

LSB [X ',] = C, 0 W,
Where 0 represents the exclusive OR binary operation n and LSB [X'i] represents the least significant bit of X'I. If the two bits have the same value, the result is equal to one, and zero otherwise.

L'ensemble des coefficients marqués détermine l'image marquée la.
Après le calcul de chaque bit de contrôle Ci, le couple (XI ! Ci) est mémorisé à l'étape E3. L'ensemble des couples ainsi formé est noté E.
The set of marked coefficients determines the image marked la.
After the calculation of each control bit Ci, the pair (XI! Ci) is stored in step E3. The set of couples thus formed is noted E.

<Desc/Clms Page number 15> <Desc / CRUD Page number 15>

A partir de l'ensemble E, la clé publique Kp correspondant à la clé secrète Ks est calculée à l'étape E4.  From the set E, the public key Kp corresponding to the secret key Ks is calculated in step E4.

Pour cela, un intervalle de clés potentielles [Km ! n, Kmax] est considéré.  For this, a range of potential keys [Km! n, Kmax] is considered.

Dans cet intervalle, est recherché un sous-ensemble de clés K qui donnent le même résultat sur l'ensemble E de l'image en cours de traitement, avec la même fonction de calcul fi. In this interval, a subset of keys K are sought which give the same result on the set E of the image being processed, with the same calculation function fi.

Cette condition se traduit par la formule :

Figure img00150001

fi (h (XI, B,, K)) = C,, V (Xi, C,) E E
En variante, on recherche les clés K qui donnent le même résultat sur l'ensemble E de l'image en cours de traitement, mais avec une fonction de calcul f2 différente de la fonction fi. This condition results in the formula:
Figure img00150001

fi (h (XI, B ,, K)) = C ,, V (Xi, C,) EE
As a variant, one searches for the keys K which give the same result on the set E of the image being processed, but with a calculation function f2 different from the function fi.

Cette condition se traduit par la formule :

Figure img00150002

f2 (h (XI, B,, K)) = CI, V (Xi, Ci) E E. This condition results in the formula:
Figure img00150002

f2 (h (XI, B ,, K)) = CI, V (Xi, Ci) E E.

Dans ce cas, on a par exemple : fi (K) = (PRNG1 [K] + PRNG1 [K]/2) % 2, et f2 (K) = (PRNG2 [K]) % 2 où % 2 désigne le reste de la division par deux et PRNG1 [K] et PRNG2 [K] sont des générateurs de nombres pseudo-aléatoires tels que : PRNG1 [K] = ran1 (k) * V1, et PRNG2[K] = ran 1 (k) * V2
Où V1 et V2 sont deux grandes valeurs entières, par exemple égales à 1000 et 500, et ran1 (K) est la procédure de génération de valeurs réelles uniformément réparties sur l'intervalle [0, 1].
In this case, we have for example: fi (K) = (PRNG1 [K] + PRNG1 [K] / 2)% 2, and f2 (K) = (PRNG2 [K])% 2 where% 2 denotes the remainder of the division by two and PRNG1 [K] and PRNG2 [K] are pseudo-random number generators such as: PRNG1 [K] = ran1 (k) * V1, and PRNG2 [K] = ran 1 (k) * V2
Where V1 and V2 are two large integer values, for example equal to 1000 and 500, and ran1 (K) is the procedure for generating real values uniformly distributed over the interval [0, 1].

L'étape E4 sera détaillée dans la suite.  Step E4 will be detailed below.

A l'étape suivante E5, on recherche, parmi les clés précédemment déterminées, une clé Kp qui maximise le nombre de différences de résultat par rapport à la clé Ks, pour les valeurs de couples (Xj, B,) qui ne sont pas dans

Figure img00150003

l'ensemble E. Cette recherche est effectuée avec la fonction fi ou la fonction f2, suivant la variante choisie. In the next step E5, a key Kp is sought, among the keys previously determined, which maximizes the number of result differences with respect to the key Ks, for the values of couples (Xj, B,) which are not in
Figure img00150003

the set E. This search is carried out with the function fi or the function f2, depending on the variant chosen.

<Desc/Clms Page number 16> <Desc / Clms Page number 16>

Cette étape est détaillée dans la suite.  This step is detailed below.

A l'étape suivante E6, la clé Kp est attachée à l'image marquée la.  In the next step E6, the key Kp is attached to the image marked la.

Pour cela, elle est par exemple écrite dans les données d'en-tête du fichier contenant l'image marquée la. La clé Kp est utilisable ultérieurement pour l'extraction du signal de marquage. For this, it is for example written in the header data of the file containing the image marked la. The key Kp can be used later for the extraction of the marking signal.

La figure 7 représente un mode de réalisation de procédé de décodage d'une image, selon l'invention. Ce procédé est mis en oeuvre dans le dispositif de décodage et comporte des étapes E 10 à E 13.  FIG. 7 represents an embodiment of a method for decoding an image, according to the invention. This method is implemented in the decoding device and includes steps E 10 to E 13.

Le procédé est réalisé sous la forme d'un algorithme qui peut être mémorisé en totalité ou en partie dans tout moyen de stockage d'information capable de coopérer avec le microprocesseur. Ce moyen de stockage est lisible par un ordinateur ou par un microprocesseur. Ce moyen de stockage est intégré ou non au dispositif, et peut être amovible. Par exemple, il peut comporter une bande magnétique, une disquette ou un CD-ROM (disque compact à mémoire figée).  The method is carried out in the form of an algorithm which can be stored in whole or in part in any information storage means capable of cooperating with the microprocessor. This storage means can be read by a computer or by a microprocessor. This storage means is integrated or not to the device, and can be removable. For example, it may include a magnetic tape, a floppy disk or a CD-ROM (compact disk with frozen memory).

L'étape E10 est un premier décodage, dit décodage public, de l'image marquée l'a. Ce décodage utilise la clé publique Kp et la fonction fi ou la fonction f2, suivant la variante choisie lors du codage. Ce décodage a pour résultat une information extraite Wp.  Step E10 is a first decoding, called public decoding, of the image marked a. This decoding uses the public key Kp and the function fi or the function f2, depending on the variant chosen during coding. This decoding results in information extracted Wp.

Cette étape sera détaillée dans la suite.  This step will be detailed below.

L'étape suivante E11 est un second décodage, dit décodage privé, de l'image marquée l'a. Ce décodage utilise la clé secrète Ks et la fonction fi.  The next step E11 is a second decoding, called private decoding, of the image marked a. This decoding uses the secret key Ks and the function fi.

Ce décodage a pour résultat une information extraite Ws. This decoding results in information extracted Ws.

Cette étape sera détaillée dans la suite.  This step will be detailed below.

Il est à noter que les étapes E10 et E11 peuvent être exécuter dans un ordre inverse ou parallèlement.  It should be noted that steps E10 and E11 can be executed in reverse order or in parallel.

L'étape suivante E12 est une comparaison des informations extraites Ws et Wp. On recherche ici si les informations extraites sont strictement égales. En effet, les deux clés de décodage doivent donner des résultats égaux sur l'image authentique et des résultats différents dans les autres cas.  The next step E12 is a comparison of the information extracted Ws and Wp. We are looking here if the information extracted is strictly equal. Indeed, the two decoding keys must give equal results on the authentic image and different results in the other cases.

<Desc/Clms Page number 17> <Desc / Clms Page number 17>

L'étape suivante E13 est une authentification de l'image l'a, en fonction du résultat de la comparaison. Ainsi, le résultat de la comparaison permet de valider ou non le décodage effectué avec la clé publique.  The next step E13 is an authentication of the image a, as a function of the result of the comparison. Thus, the result of the comparison makes it possible to validate or not the decoding carried out with the public key.

La figure 8 représente l'étape E10 en détail, sous la forme d'un algorithme comportant des étapes E100 à E170.  FIG. 8 represents step E10 in detail, in the form of an algorithm comprising steps E100 to E170.

A l'étape E100, l'image l'a est considérée et un sous-ensemble de coefficients X', de l'image l'a est formé. Les coefficients du sous-ensemble sont tels que leur magnitude est supérieure au même seuil prédéterminé que lors de l'insertion. Le sous-ensemble comporte NC coefficients.  In step E100, the image a is considered and a subset of coefficients X ′, of the image a is formed. The coefficients of the subset are such that their magnitude is greater than the same predetermined threshold as during insertion. The subset has NC coefficients.

L'étape suivante E110 est une initialisation à laquelle le paramètre i est mis à la valeur zéro pour considérer un premier coefficient du sousensemble. Un paramètre entier N est également mis à la valeur zéro. Le paramètre N est un compteur de nombre d'erreur.  The next step E110 is an initialization at which the parameter i is set to zero to consider a first coefficient of the subset. An integer parameter N is also set to zero. Parameter N is an error number counter.

L'étape suivante E120 est le calcul du bit de contrôle C, pour le coefficient courant X',. Ce calcul est effectué avec la clé publique Kp et la fonction fi. En variante, la fonction f2 remplace la fonction fi. Ce calcul est analogue à celui effectué lors de l'insertion.  The next step E120 is the calculation of the control bit C, for the current coefficient X ',. This calculation is performed with the public key Kp and the function fi. As a variant, the function f2 replaces the function fi. This calculation is similar to that performed during insertion.

L'étape suivante E130 est l'extraction d'une valeur binaire W',, à partir des bits de poids faible du coefficient X'j.  The next step E130 is the extraction of a binary value W ',, from the least significant bits of the coefficient X'j.

L'étape suivante E140 est une mise à jour du nombre d'erreur N. Si la valeur binaire extraite W', est différente de la valeur binaire W, qui est ici connue, alors le compteur N est incrémenté de une unité. Dans le cas contraire, le compteur N garde sa valeur.  The next step E140 is an update of the error number N. If the extracted binary value W ', is different from the binary value W, which is known here, then the counter N is incremented by one. Otherwise, the counter N keeps its value.

A l'étape suivante E150, le paramètre i est incrémenté de une unité pour considérer un coefficient suivant.  In the next step E150, the parameter i is incremented by one to consider a next coefficient.

L'étape suivante E160 est un test pour déterminer le paramètre i est inférieur au nombre de coefficients à traiter NC.  The next step E160 is a test to determine the parameter i is less than the number of coefficients to be processed NC.

Si la réponse est positive, alors l'étape E160 est suivie de l'étape E120 précédemment décrite.  If the answer is positive, then step E160 is followed by step E120 previously described.

<Desc/Clms Page number 18> <Desc / Clms Page number 18>

Si la réponse est négative à l'étape E160, alors cette étape est suivie de l'étape E170 de décision à laquelle le paramètre N est analysé pour déterminer si l'image traitée est identique ou non à l'image initiale.  If the answer is negative in step E160, then this step is followed by the decision step E170 in which the parameter N is analyzed to determine whether the processed image is identical or not to the initial image.

L'étape E11 de décodage privé est analogue à l'étape E10. Il comporte des étapes analogues à celles de la figure 8, à l'exception de l'étape E120 qui est remplacée par l'étape E220. Comme représenté à la figure 9, le calcul du bit de contrôle est effectué avec la clé secrète Ks et la fonction fi.  The step E11 of private decoding is analogous to the step E10. It includes steps similar to those of FIG. 8, with the exception of step E120 which is replaced by step E220. As shown in FIG. 9, the control bit is calculated with the secret key Ks and the function fi.

Ce décodage fournit un ensemble de valeurs binaires Ws qui est comparé avec celui obtenu avec la clé publique (étape E13).  This decoding provides a set of binary values Ws which is compared with that obtained with the public key (step E13).

La figure 10 représente le détail de l'étape E4 précédemment décrite en référence à la figure 6. Cette étape est la recherche d'un ensemble de clés qui fournissent les mêmes bits de contrôle que la clé secrète Ks sur l'image en cours de traitement.  FIG. 10 represents the detail of step E4 previously described with reference to FIG. 6. This step is the search for a set of keys which provide the same control bits as the secret key Ks on the image being treatment.

L'étape E4 comporte des sous-étapes E40 à E44.  Step E4 includes sub-steps E40 to E44.

L'étape E40 est une initialisation à laquelle on considère un ensemble de clés qui sont comprises entre deux valeurs Kmin et Kmax.  Step E40 is an initialization to which we consider a set of keys which are between two values Kmin and Kmax.

A l'étape suivante E41, on considère une première clé K de l'ensemble précédent.  In the next step E41, a first key K of the preceding set is considered.

L'étape suivante E42 est le calcul d'un bit de contrôle C', = fi (h (XI, B,, K)) pour la clé courante K, pour chacun des coefficients X,.  The next step E42 is the calculation of a control bit C ', = fi (h (XI, B ,, K)) for the current key K, for each of the coefficients X ,.

A l'étape E43, le résultat C', de chacun des calculs précédents est respectivement comparé avec le résultat C, = fi (h (XI, B,, Ka)) calculé à l'étape

Figure img00180001

E1. In step E43, the result C ', of each of the preceding calculations is respectively compared with the result C, = fi (h (XI, B, Ka)) calculated in step
Figure img00180001

E1.

Dès qu'un des résultats C', est différent du résultat C, respectif, la clé courante K est éliminée.  As soon as one of the results C ', is different from the respective result C, the current key K is eliminated.

Les étapes E42 et E43 sont réitérées pour toutes les clés de l'ensemble défini à l'étape E40.  The steps E42 and E43 are repeated for all the keys of the set defined in step E40.

Lorsque toutes les clés ont été testées, l'étape E44 fournit l'ensemble des clés qui fournissent les mêmes bits de contrôle que la clé secrète Ks sur l'image en cours de traitement.  When all the keys have been tested, step E44 provides the set of keys which provide the same control bits as the secret key Ks on the image being processed.

<Desc/Clms Page number 19> <Desc / Clms Page number 19>

La figure 11 représente le détail de l'étape E5 précédemment décrite en référence à la figure 6. Cette étape est la recherche d'une clé qui fournit le plus possible de bits de contrôle, calculés sur des coefficients n'appartenant pas à l'image courante, différents de ceux fournis par la clé secrète Ks sur l'image en cours de traitement.  FIG. 11 represents the detail of step E5 previously described with reference to FIG. 6. This step is the search for a key which provides as many control bits as possible, calculated on coefficients not belonging to the current image, different from those provided by the secret key Ks on the image being processed.

L'étape E5 comporte des sous-étapes E50 à E57.  Step E5 includes sub-steps E50 to E57.

L'étape E50 est la détermination d'un ensemble Z de couples (Zj, Bj) n'appartenant pas à l'ensemble E (étape E3). Pour cela, on considère ici toutes les valeurs que peuvent prendre les coefficients de l'image, à l'exception de celles qui sont effectivement prises par les coefficients de l'image.  Step E50 is the determination of a set Z of couples (Zj, Bj) not belonging to the set E (step E3). For this, we consider here all the values that the coefficients of the image can take, with the exception of those which are actually taken by the coefficients of the image.

En variante, on considère un sous-ensemble de l'ensemble Z, par exemple de même cardinal que l'ensemble E. Les éléments de ce sousensemble peuvent être choisis de manière pseudo-aléatoire. Cette variante est sous-optimale, mais elle est également moins complexe et plus rapide à mettre en oeuvre.  As a variant, a subset of the set Z is considered, for example of the same cardinality as the set E. The elements of this subset can be chosen in a pseudo-random manner. This variant is suboptimal, but it is also less complex and faster to implement.

L'étape suivante E51 est le calcul et la mémorisation des bits de contrôle calculés pour chacun des couples (Zj, Bj), avec la clé secrète Ks.  The next step E51 is the calculation and storage of the control bits calculated for each of the pairs (Zj, Bj), with the secret key Ks.

L'étape suivante E52 est une initialisation à laquelle un paramètre entier m est mis à zéro. Le paramètre m représente la clé courante de l'ensemble des clés déterminé à l'étape E44.  The following step E52 is an initialization at which an integer parameter m is set to zero. The parameter m represents the current key of the set of keys determined in step E44.

L'étape suivante E53 est le calcul et la mémorisation des bits de contrôle calculés pour chacun des couples (Z,, Bj), avec la clé courante Km.  The next step E53 is the calculation and storage of the control bits calculated for each of the pairs (Z ,, Bj), with the current key Km.

L'étape suivante E54 est le décompte des différences Dm entre les bits de contrôle calculés à l'étape E51 et ceux calculés à l'étape E53.  The next step E54 is the counting of the differences Dm between the control bits calculated in step E51 and those calculated in step E53.

A l'étape suivante E55, le paramètre m est incrémenté de une unité pour considérer une clé suivante. L'étape suivante E56 est un test pour vérifier si toutes les clés Km ont été traitées.  In the next step E55, the parameter m is incremented by one to consider a next key. The next step E56 is a test to check whether all the Km keys have been processed.

Si la réponse est négative, l'étape E56 est suivie de l'étape E53 précédemment décrite, pour la clé suivante.  If the answer is negative, step E56 is followed by step E53 previously described, for the following key.

<Desc/Clms Page number 20> <Desc / Clms Page number 20>

Lorsque la réponse est positive à l'étape E56, alors cette étape est suive de l'étape E57 à laquelle la clé Km correspondant à la plus grande valeur Dm est sélectionnée. Cette clé est la clé publique Kp.  When the response is positive in step E56, then this step is followed by step E57 in which the key Km corresponding to the largest value Dm is selected. This key is the public key Kp.

Selon une première variante, on ne choisit pas à l'étape E57 la clé correspondant à la plus grande valeur Dm, mais une clé parmi celles qui présentent des nombres élevés de différences Dm. En effet, il existe une seule fonction qui réalise le nombre maximal de différences par rapport à une fonction initiale. La connaissance de la clé publique Kp pourrait donc permettre à un pirate de retrouver la clé secrète Ks. Cette variante permet donc de réduire encore plus le risque de piratage.  According to a first variant, the key corresponding to the largest value Dm is not chosen in step E57, but a key from those which have high numbers of differences Dm. Indeed, there is only one function which achieves the maximum number of differences compared to an initial function. Knowledge of the public key Kp could therefore allow a hacker to find the secret key Ks. This variant therefore makes it possible to further reduce the risk of hacking.

Selon une seconde variante, l'étape E53 de calcul des bits de contrôle avec la clé Km peut être remplacée par une lecture en mémoire de ces bits de contrôle, à condition qu'ils aient été préalablement calculés et mis en mémoire. Cette variante permet une exécution plus rapide, mais nécessite une place mémoire plus importante.  According to a second variant, the step E53 of calculating the control bits with the key Km can be replaced by a reading in memory of these control bits, provided that they have been previously calculated and stored in memory. This variant allows faster execution, but requires more memory space.

Bien entendu, la présente invention n'est nullement limitée aux modes de réalisation décrits et représentés, mais englobe, bien au contraire, toute variante à la portée de l'homme du métier.  Of course, the present invention is not limited to the embodiments described and shown, but encompasses, quite the contrary, any variant within the reach of ordinary skill in the art.

En particulier, l'invention a été décrite plus spécifiquement en référence à l'insertion d'informations supplémentaires dans des données décrite dans la demande de brevet français n 2 786 583. Néanmoins, elle s'applique à d'autres modes d'insertion, par exemple l'insertion décrite dans la demande de brevet français n 2 787 604. In particular, the invention has been described more specifically with reference to the insertion of additional information into data described in French patent application No. 2,786,583. However, it applies to other modes of insertion , for example the insertion described in French patent application No. 2,787,604.

Claims (16)

REVENDICATIONS 1. Procédé d'insertion d'une information supplémentaire (W) telle qu'une marque secrète pour l'authentification d'un signal numérique comportant un ensemble de coefficients, caractérisé en ce qu'il comporte les étapes de : - calcul (E1), pour au moins un premier coefficient, d'un premier bit de contrôle respectif en fonction d'une première clé (Ks), suivant une première opération prédéterminée, - insertion (E2) d'au moins un bit d'information supplémentaire sur ledit au moins un premier coefficient, en fonction de la valeur de son bit de contrôle, -calcul (E4, E5) d'une seconde clé (Kp), telle que : - le résultat du calcul, pour tous les premiers coefficients pour lesquels un premier bit de contrôle respectif a été calculé, d'un second bit de contrôle en fonction de la seconde clé (Kp), suivant une seconde opération prédéterminée est respectivement égal au résultat du calcul du premier bit de contrôle, et - le résultat du calcul, pour au moins un second coefficient pour lequel un premier bit de contrôle respectif n'a pas été calculé, d'un second bit de contrôle en fonction de la seconde clé (Kp), suivant une seconde opération prédéterminée est différent du résultat du calcul du premier bit de contrôle calculé pour ledit au moins un second coefficient. 1. Method for inserting additional information (W) such as a secret mark for authenticating a digital signal comprising a set of coefficients, characterized in that it comprises the steps of: - calculation (E1 ), for at least a first coefficient, of a respective first control bit as a function of a first key (Ks), according to a first predetermined operation, - insertion (E2) of at least one additional information bit on said at least one first coefficient, as a function of the value of its control bit, - calculation (E4, E5) of a second key (Kp), such as: - the result of the calculation, for all the first coefficients for which a respective first control bit has been calculated, a second control bit as a function of the second key (Kp), according to a second predetermined operation is respectively equal to the result of the calculation of the first control bit, and - the result of the calculation, for at least one second d coefficient for which a respective first control bit has not been calculated, a second control bit as a function of the second key (Kp), according to a second predetermined operation is different from the result of the calculation of the first control bit calculated for said at least one second coefficient. 2. Procédé selon la revendication 1, caractérisé en ce que la seconde clé est associée (E6) au signal numérique dans lequel l'information supplémentaire a été insérée.  2. Method according to claim 1, characterized in that the second key is associated (E6) with the digital signal in which the additional information has been inserted. <Desc/Clms Page number 22> <Desc / Clms Page number 22> 3. Procédé selon la revendication 1 ou 2, caractérisé en ce que le calcul de la seconde clé comporte, pour chacune des clés d'un ensemble prédéterminé de clé : - le calcul (E42) du second bit de contrôle, pour ledit au moins un premier coefficient, suivant la seconde opération prédéterminée, - la comparaison (E43), pour ledit au moins un premier coefficient, du second bit de contrôle et du premier bit de contrôle, - l'élimination (E43) des clés pour lesquelles le premier et le second bits de contrôle sont différents, pour ledit au moins un premier coefficient.  3. Method according to claim 1 or 2, characterized in that the calculation of the second key comprises, for each of the keys of a predetermined set of keys: - the calculation (E42) of the second control bit, for said at least a first coefficient, according to the second predetermined operation, - the comparison (E43), for said at least one first coefficient, of the second control bit and of the first control bit, - the elimination (E43) of the keys for which the first and the second control bits are different, for said at least one first coefficient. 4. Procédé selon la revendication 3, caractérisé en ce que le calcul de la seconde clé comporte : - détermination (E50) d'au moins un second coefficient pour lequel un premier bit de contrôle n'a pas été calculé, - calcul (E51), pour ledit au moins un second coefficient, d'un premier bit de contrôle respectif en fonction de la première clé (Ks), suivant la première opération prédéterminée, - calcul (E53), pour ledit au moins un second coefficient, d'un second bit de contrôle respectif en fonction de chacune des clés non éliminées, suivant la seconde opération prédéterminée, - détermination (E5 ?) de la seconde clé en fonction de la différence entre les premier et second bits de contrôle.  4. Method according to claim 3, characterized in that the calculation of the second key comprises: - determination (E50) of at least a second coefficient for which a first control bit has not been calculated, - calculation (E51 ), for said at least one second coefficient, of a respective first control bit as a function of the first key (Ks), according to the first predetermined operation, - calculation (E53), for said at least one second coefficient, of a respective second control bit as a function of each of the keys not eliminated, according to the second predetermined operation, - determination (E5?) of the second key as a function of the difference between the first and second control bits. 5. Procédé selon l'une quelconque des revendications 1 à 4, caractérisé en ce que la première opération et la seconde opération sont identiques.  5. Method according to any one of claims 1 to 4, characterized in that the first operation and the second operation are identical. 6. Procédé d'extraction d'une information supplémentaire insérée dans un signal numérique par le procédé selon l'une quelconque des revendications 1 à 5, caractérisé en ce qu'il comporte les étapes de :  6. Method for extracting additional information inserted into a digital signal by the method according to any one of claims 1 to 5, characterized in that it comprises the steps of: <Desc/Clms Page number 23><Desc / Clms Page number 23> - extraction (E10) d'une première information supplémentaire en utilisant la première clé et la première opération prédéterminée, - extraction (EU) d'une seconde information supplémentaire en utilisant la seconde clé et la seconde opération prédéterminée, - comparaison (E12) de la première et de la seconde informations supplémentaires, - authentification (E13) du signal numérique en fonction du résultat de la comparaison.  - extraction (E10) of a first additional information using the first key and the first predetermined operation, - extraction (EU) of a second additional information using the second key and the second predetermined operation, - comparison (E12) of the first and second additional information, - authentication (E13) of the digital signal as a function of the result of the comparison. 7. Dispositif d'insertion d'une information supplémentaire (W) telle qu'une marque secrète pour l'authentification d'un signal numérique comportant un ensemble de coefficients, caractérisé en ce qu'il comporte (200) : - des moyens de calcul, pour au moins un premier coefficient, d'un premier bit de contrôle respectif en fonction d'une première clé (Ks), suivant une première opération prédéterminée, - des moyens d'insertion d'au moins un bit d'information supplémentaire sur ledit au moins un premier coefficient, en fonction de la valeur de son bit de contrôle, - des moyens de calcul d'une seconde clé (Kp), telle que : - le résultat du calcul, pour tous les premiers coefficients pour lesquels un premier bit de contrôle respectif a été calculé, d'un second bit de contrôle en fonction de la seconde clé (Kp), suivant une seconde opération prédéterminée est respectivement égal au résultat du calcul du premier bit de contrôle, et - le résultat du calcul, pour au moins un second coefficient pour lequel un premier bit de contrôle respectif n'a pas été calculé, d'un second bit de contrôle en fonction de la seconde clé (Kp), suivant une seconde opération prédéterminée est différent du résultat du calcul du premier bit de contrôle calculé pour ledit au moins un second coefficient.  7. Device for inserting additional information (W) such as a secret mark for authenticating a digital signal comprising a set of coefficients, characterized in that it comprises (200): - means for calculation, for at least a first coefficient, of a respective first control bit as a function of a first key (Ks), according to a first predetermined operation, - means for inserting at least one additional information bit on said at least one first coefficient, as a function of the value of its control bit, - means for calculating a second key (Kp), such as: - the result of the calculation, for all the first coefficients for which a respective first control bit has been calculated, a second control bit as a function of the second key (Kp), according to a second predetermined operation is respectively equal to the result of the calculation of the first control bit, and - the result of the calculation , for at minus a second coefficient for which a respective first control bit has not been calculated, by a second control bit as a function of the second key (Kp), according to a second predetermined operation is different from the result of the calculation of the first bit control calculated for said at least one second coefficient. <Desc/Clms Page number 24> <Desc / Clms Page number 24> 8. Dispositif selon la revendication 7, caractérisé en ce qu'il comporte des moyens pour associer la seconde clé (Kp) au signal numérique dans lequel l'information supplémentaire a été insérée.  8. Device according to claim 7, characterized in that it comprises means for associating the second key (Kp) with the digital signal in which the additional information has been inserted. 9. Dispositif selon la revendication 7 ou 8, caractérisé en ce que les moyens de calcul de la seconde clé comportent : - des moyens de calcul du second bit de contrôle, pour chacune des clés d'un ensemble prédéterminé de clé et pour ledit au moins un premier coefficient, suivant la seconde opération prédéterminée, - des moyens de comparaison, pour chacune des clés de l'ensemble prédéterminé de clé et pour ledit au moins un premier coefficient, du second bit de contrôle et du premier bit de contrôle, - des moyens d'élimination des clés pour lesquelles le premier et le second bits de contrôle sont différents, pour ledit au moins un premier coefficient.  9. Device according to claim 7 or 8, characterized in that the means for calculating the second key comprise: - means for calculating the second control bit, for each of the keys of a predetermined set of keys and for said au at least a first coefficient, according to the second predetermined operation, - comparison means, for each of the keys of the predetermined set of keys and for said at least a first coefficient, of the second control bit and of the first control bit, - means for eliminating the keys for which the first and second control bits are different, for said at least one first coefficient. 10. Dispositif selon la revendication 9, caractérisé en ce que les moyens de calcul de la seconde clé comportent : - des moyens de détermination d'au moins un second coefficient pour lequel un premier bit de contrôle n'a pas été calculé, - des moyens de calcul, pour ledit au moins un second coefficient, d'un premier bit de contrôle respectif en fonction de la première clé (Ks), suivant la première opération prédéterminée, - des moyens de calcul, pour ledit au moins un second coefficient, d'un second bit de contrôle respectif en fonction de chacune des clés non éliminées, suivant la seconde opération prédéterminée, - des moyens de détermination de la seconde clé (Kp) en fonction de la différence entre les premier et second bits de contrôle.  10. Device according to claim 9, characterized in that the means for calculating the second key comprise: - means for determining at least one second coefficient for which a first control bit has not been calculated, - means of calculation, for said at least one second coefficient, of a respective first control bit as a function of the first key (Ks), according to the first predetermined operation, - means of calculation, for said at least one second coefficient, a respective second control bit as a function of each of the keys not eliminated, according to the second predetermined operation, - means for determining the second key (Kp) as a function of the difference between the first and second control bits. 11. Dispositif selon l'une quelconque des revendications 7 à 10, caractérisé en ce qu'il est adapté à mettre en oeuvre une première opération et une seconde opération qui sont identiques.  11. Device according to any one of claims 7 to 10, characterized in that it is adapted to implement a first operation and a second operation which are identical. <Desc/Clms Page number 25> <Desc / Clms Page number 25> 12. Dispositif d'extraction d'une information supplémentaire insérée dans un signal numérique par le dispositif selon l'une quelconque des revendications 7 à 11, caractérisé en ce qu'il comporte : - des moyens (301) d'extraction d'une première information supplémentaire en utilisant la première clé et la première opération prédéterminée, - des moyens (302) d'extraction d'une seconde information supplémentaire en utilisant la seconde clé et la seconde opération prédéterminée, - des moyens (303) de comparaison de la première et de la seconde informations supplémentaires, - des moyens (304) d'authentification du signal numérique en fonction du résultat de la comparaison.  12. Device for extracting additional information inserted into a digital signal by the device according to any one of claims 7 to 11, characterized in that it comprises: - means (301) for extracting a first additional information using the first key and the first predetermined operation, - means (302) for extracting a second additional information using the second key and the second predetermined operation, - means (303) for comparing the first and second additional information, - means (304) for authenticating the digital signal as a function of the result of the comparison. 13. Dispositif d'insertion selon l'une quelconque des revendications 7 à 11, caractérisé en ce que les moyens de calcul et insertion sont incorporés dans : - un microprocesseur (100), - une mémoire morte (102) comportant un programme pour traiter les données, et - une mémoire vive (103) comportant des registres adaptés à enregistrer des variables modifiées au cours de l'exécution dudit programme.  13. Insertion device according to any one of claims 7 to 11, characterized in that the calculation and insertion means are incorporated in: - a microprocessor (100), - a read only memory (102) comprising a program for processing the data, and - a random access memory (103) comprising registers adapted to record variables modified during the execution of said program. 14. Dispositif d'extraction selon la revendication 12, caractérisé en ce que les moyens d'extraction, comparaison et authentification sont incorporés dans : - un microprocesseur (100), - une mémoire morte (102) comportant un programme pour traiter les données, et  14. Extraction device according to claim 12, characterized in that the extraction, comparison and authentication means are incorporated in: - a microprocessor (100), - a read only memory (102) comprising a program for processing the data, and <Desc/Clms Page number 26><Desc / Clms Page number 26> - une mémoire vive (103) comportant des registres adaptés à enregistrer des variables modifiées au cours de l'exécution dudit programme.  - A random access memory (103) comprising registers adapted to record variables modified during the execution of said program. 15. Appareil de traitement (10) d'une image numérique, caractérisé en ce qu'il comporte des moyens adaptés à mettre en oeuvre le procédé selon l'une quelconque des revendications 1 à 6.  15. Apparatus for processing (10) a digital image, characterized in that it comprises means suitable for implementing the method according to any one of claims 1 to 6. 16. Appareil de traitement (10) d'une image numérique, caractérisé en ce qu'il comporte le dispositif selon l'une quelconque des revendications 7 à 14. 16. Apparatus for processing (10) a digital image, characterized in that it comprises the device according to any one of claims 7 to 14.
FR0203014A 2002-03-11 2002-03-11 INSERTION OF ADDITIONAL INFORMATION INTO A DIGITAL SIGNAL FOR THE PURPOSE OF AUTHENTICATION Expired - Fee Related FR2837039B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
FR0203014A FR2837039B1 (en) 2002-03-11 2002-03-11 INSERTION OF ADDITIONAL INFORMATION INTO A DIGITAL SIGNAL FOR THE PURPOSE OF AUTHENTICATION

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
FR0203014A FR2837039B1 (en) 2002-03-11 2002-03-11 INSERTION OF ADDITIONAL INFORMATION INTO A DIGITAL SIGNAL FOR THE PURPOSE OF AUTHENTICATION

Publications (2)

Publication Number Publication Date
FR2837039A1 true FR2837039A1 (en) 2003-09-12
FR2837039B1 FR2837039B1 (en) 2004-06-18

Family

ID=27763700

Family Applications (1)

Application Number Title Priority Date Filing Date
FR0203014A Expired - Fee Related FR2837039B1 (en) 2002-03-11 2002-03-11 INSERTION OF ADDITIONAL INFORMATION INTO A DIGITAL SIGNAL FOR THE PURPOSE OF AUTHENTICATION

Country Status (1)

Country Link
FR (1) FR2837039B1 (en)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2786583A1 (en) * 1998-11-30 2000-06-02 Canon Kk Procedure for insertion of a secret authentication mark, such as a digital watermark, into a digital data signal, where the signal is broken down into a collection of coefficients and a control bit is determined
FR2787604A1 (en) * 1998-11-30 2000-06-23 Canon Kk Insertion of secret mark and authentication of compressed digital image

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2786583A1 (en) * 1998-11-30 2000-06-02 Canon Kk Procedure for insertion of a secret authentication mark, such as a digital watermark, into a digital data signal, where the signal is broken down into a collection of coefficients and a control bit is determined
FR2787604A1 (en) * 1998-11-30 2000-06-23 Canon Kk Insertion of secret mark and authentication of compressed digital image

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
J. MALCOLM, B. ROBINSON: "Using escrowed public keys to enhance confidence in an image authentication scheme", SECURE IMAGES AND IMAGE AUTHENTICATION (REF. NO. 2000/039), IEE SEMINAR, 4 October 2000 (2000-10-04), London, UK, pages 11/1 - 11/5, XP002227449 *

Also Published As

Publication number Publication date
FR2837039B1 (en) 2004-06-18

Similar Documents

Publication Publication Date Title
US20060242418A1 (en) Method for ensuring the integrity of image sets
Zhu et al. When seeing isn't believing [multimedia authentication technologies]
US7017045B1 (en) Multimedia watermarking system and method
US20040028281A1 (en) Apparatus and method for fingerprinting digital media
EP1999684B1 (en) Processing biometric data un a multidimensional repository
US8175322B2 (en) Method of digital watermark and the corresponding device, and digital camera which can append watermark
US20020196976A1 (en) Robust recognizer of perceptually similar content
Sion et al. Resilient rights protection for sensor streams
JP2006115501A (en) Secure image authentication by discrete level tamper localization
Steinebach et al. Watermarking-based digital audio data authentication
EP1569063A2 (en) Desynchronized fingerprinting method and system for digital multimedia data
FR2787604A1 (en) Insertion of secret mark and authentication of compressed digital image
JP2003510925A (en) Authentication of digital data products using signatures and watermarks
EP2785039B1 (en) Method and device for tattooing an image sequence, method and device for authenticating a sequence of tattooed images and corresponding computer program
US7171561B2 (en) Method and apparatus for detecting and extracting fileprints
Maung et al. Authentication of MP4 file by perceptual hash and data hiding
Liu et al. Stego key recovery method for F5 steganography with matrix encoding
CN108962267B (en) A kind of encryption voice content authentication method based on Hash feature
FR2896938A1 (en) METHOD FOR TATOOTING DIGITAL DATA
Neelima et al. Perceptual hash function for images based on hierarchical ordinal pattern
FR2837039A1 (en) Digital signal watermark insertion having step calculating first control bit representing key and step supplementary insertion information bits with insertion supplementary information bits/different calculation operation
Noroozi et al. Critical Evaluation on Steganography Metrics
D’Angelo et al. Watermark-based authentication
Ilchev Accurate data embedding in JPEG images for image authentication
Bogdanova et al. Software Approaches and Methods to Ensure the Security of Interactive Systems

Legal Events

Date Code Title Description
ST Notification of lapse

Effective date: 20141128