WO9917536A1

Method for generating and verifying degital watermarks and for exchanging data containing digital watermarks

Abstract

A method for generating digital watermarks and for exchanging data containing such watermarks is described. It is based on a watermarking technique which is robust against image transformation techniques such as compression, rotation, translation, scaling and/or change of proportion. It uses modulation of the magnitude components in Fourier space and adds/reads a template in the log-polar or log-log transform of the magnitude components. The template is used for analyzing scaling and rotation or change of proportion. In addition, the system applies cryptographic protocols and public key techniques for both, encoding the watermark and transferring watermarked data. Preferably, an author (CH) encodes the watermark using an asymmetric cryptographic key pair provided by a public key infrastructure (PKI) and registers the watermarked data at a trusted registration party (CCC) before transmitting the data to a receiving party (B). The latter can use the public key infrastructure (I) for verifying autorship. Data exchanged by the parties are encrypted using the cryptographic keys. In addition, image (video) originality verification is supported by the same asymmetric key pair as for content protection and for copyright protection.

WO9917536A1, drawing sheet 1
Sheet 1 of 13

Term

No projected expiry on record.

  1. Priority and filed
  2. Published
  3. Today

42 claims: 20 independent, 22 dependent

  1. 1
    Claims 1. A method for generating and transmitting a data set between two parties H and B comprising the steps of a) providing a cover data set (CD) corresponding to the data set to be transmitted, b) generating a stego data set (SD) of said cover data set (CD) by embedding at least one digital wa- termark in said cover data set (CD) , wherein said watermark is encoded using at least one key of an asymmetric cryptographic key pair (psjj/ VS H) °f H ' said key pair comprising a secret private key (psjj) and a known public key (vs jj ) derived therefrom, c) encrypting said stego data set (SD) using said key pair (ps^, SJJ) of H, d) transmitting said encrypted stego data set from said party H to said party B.
  2. 4
    The method of one of the claims 2 or 3 wherein said encryption algorithm comprises the step of calculating the Fourier transform of said stego data set (SD) , modifying the phase components of the Fourier transform using a pseudo-random pattern seeded by said signature (DSSMRQ(PSH, B| | SN) ) of said mask message (B||SN) and calculating the inverse Fourier transform for generating the encrypted stego data set.
  3. 5
    The method of one of the preceding claims wherein said key pair (psjj, SJJ) of H is an elliptic curve key pair .
  4. 6
    The method of one of the preceding claims wherein said step b) further comprises the step of generating at least a first watermark, wherein said first watermark is encoded using said private key ( sy) of H.
  5. 9
    The method of one of the preceding claims wherein said step b) further comprises the step of generating at least one second watermark, wherein said second watermark comprises a payload (pcjj[AM]) derived from the Fourier transform of said stego data (SD) .
  6. 10
    The method of one of the preceding claims wherein said step b) comprises the steps of:i) providing a message (s^, S2, ..., s M ) to be transmitted in said at least one watermark, said mes- sage consisting of a plurality of symbols, ii) providing a pseudo random generator seeded with a seed value derived from at least one key of said key pair (ps^ / vs H ) of H or a hash value thereof, iii) encoding said message using values from said pseudo random generator iv) using the said encoded message (m) for embedding said watermark.
  7. 15
    The method of one of the claims 10 - 14 wherein the position of components to be modulated by each value of the encoded message (m) is given by a pseudo random generator seeded by a key known by both H and B.
  8. 16
    The method of one of the preceding claims comprising the step of encoding a message for being em- bedded in said watermark by using symbol based Reed Solomon codes as error control codes.
  9. 17
    The method of one of the preceding claims wherein said step b) further comprises the step of calcu- lating a logarithm of said cover data set (CD) before embedding said watermark for embedding said watermark in a perceptually flat domain.
  10. 18
    A method for generating a stego data set (SD) from a cover data set (CD) especially for step b) of one of the preceding claims, comprising the steps of:generating at least one message (ID^D) < digitally signing said message (ID D ) using an asymmetric cryptographic key pair ( H# V H) an< ^ a signature generating algorithm (DSSMR) with message recovery for generating a digital signature (OADQ Q ) , and generating said stego data set (SD) of said cover data set (CD) by generating at least one digital watermark, wherein said digital signature (OADQD) is used for deriving a seed for generating said watermark.
  11. 19
    Method for generating and verifying a watermark in a cover data set (CD) representing a two- dimensional cover image, especially for step b) of one of the preceding claims, comprising the following steps for generating said watermark A) calculating the Fourier transform of at least part of cover data set (CD) for generating Fourier components of said cover image, and B) modulating at least part of said Fourier components using a template modulation pattern (T' ) , C) using the inverse Fourier transform for generating a stego data set (SD) , said method further comprising the following steps for verifying said watermark in a possibly scaled and/or rotated version of said stego data set (SD) , D) calculating the Fourier transform of the possibly scaled and/or rotated version of said stego data set (SD) for generating Fourier components of said stego data set, E) calculating a log-polar or log-log trans- form of said Fourier components of said stego data set (SD) , and F) calculating the cross correlation between a log-polar or log-log transform (T) of said modulation pattern (T') and said log-polar or log-log transform of said Fourier components of said stego data set for evalu- ating a scaling and/or rotation factor.
  12. 21
    A method for verifying a watermark in a possibly rotated and/or scaled version of a two or three dimensional stego data set (SD) , comprising the steps of:A) calculating a Fourier transform of said stego data set (SD) , B) calculating a log-polar or a log-log transform of said Fourier transform of said stego data set, C) calculating the correlation between said log-polar or log-log transform and a template (T) , which template is the log-polar or log-log transformation of said watermark.
  13. 25
    The method of one of the claims 21 - 24, further comprising at least one of the following steps:i) pre-filtering said cover data by applying a windowing algorithm thereto, preferably Blackman, Han- ning or Welch windowing, and/or ii) calculating the variance or distribution of the Fourier transform locally for filtering outliers and noise, and/or iii) locating local peaks in said Fourier transform and carrying out said step B) for these local peaks only, preferably transforming only the coordinates of these local peaks, and preferably using the log-log or log-polar transform of said coordinates for calculating said correlation, iv) excluding low frequency data from said Fourier transform before carrying out said step B) , and/or, v) detecting a scaling and/or rotation in said step C) , using said scaling and/or rotation for either a) scaling and/or or rotating said Fourier transform, calculating a scaled and/or rotated log-log or log- polar transform therefrom and correlating said rotated log-log or log-polar transform with said template, or b) calculating a second template by scaling and/or rotating an original Fourier-space template and calculating a log- log and or log-polar transform therefrom and using said second template for calculation a second correlation with said log-log or log-polar transform of said stego data, and/or vi) weighing low frequency components of said log-log or log-polar transform stronger that high frequency components while carrying out said correlation.
  14. 26
    A method for generating a stego data set (SD) from a cover data set (CD) especially for step b) of one of the claims 1 - 18, comprising the step of modulating said cover data set (CD) using a given pattern, which pattern is calculated from a watermark using the follow- ing steps:A) providing said watermark, B) calculating a first inverse Fourier transform of said watermark, C) calculating an inverse log-log or log- polar transform of said watermark, and D) calculating said pattern from said inverse log-log or log-polar transform.
  15. 28
    A method for verifying a watermark in a possibly rotated and/or scaled version of a two or three dimensional stego data set (SD) , preferably as generated in one of the claims 25 or 26, comprising the steps of:A) calculating a first Fourier transform of said stego data set (SD) , B) calculating a log-polar or a log-log transform of said Fourier transform of said stego data set, C) calculating a second Fourier transform of i said log-polar or log-log transform and searching said watermark in said second Fourier transform.
  16. 29
    A method for generating a watermark in a cover data set (CD) representing a two or three dimen- sional data set, especially for step b) of one of the preceding claims, comprising the following steps:A) generating a template modulation pattern (T') using a random number generator seeded by a key (K) , B) calculating the Fourier transform of at least part of said cover data set (CD) for generating Fourier components of said cover data set, C) modulating at least part of said Fourier components using said template modulation pattern (T' ) , D) using the inverse Fourier transform for generating a stego-image.
  17. 30
    Method for generating a watermark in a cover data set (CD) representing a cover image especially for one of the preceding claims, characterized by the step of dividing said image into a plurality of blocks and by the following steps carried out for each block:i) calculating the Fourier transform of the block, ii) modulating at least part of the magnitude components of the Fourier transform of the block using a modulation pattern, which modulation pattern defines values to be added/subtracted to/from said magnitude components, wherein for each magnitude component its corresponding phase component determines if said value is to be added or subtracted, and wherein the same modulation pattern is used for all blocks.
  18. 35
    The method of one of the claims 30 - 34 wherein the watermark is applied to all or some of the frames of a video.
  19. 36
    A method for generating a stego data set (SD) from a cover data set (CD) especially for step b) of one of the claims 1 - 18, by adding a watermark to said cover data set, wherein said cover data set comprises video data, comprising the steps of generating three dimensional spatio-temporal blocks of said video data and applying said watermark to each of said blocks, preferably by calculating a Fourier transform of each of said blocks.
  20. 37
    A method for generating a stego data set (SD) from a cover data set (CD) especially according to one of the preceding claims, by adding a watermark to said cover data set comprising the steps of dividing said stego data sets into blocks, calculating a lapped orthogonal transform (LOT) of each of said blocks, and applying said watermark to said lapped or- thogonal transforms.
  21. 39
    Method for generating and transmitting a data set between two parties H and B, especially of one of the preceding claims, comprising the steps of providing a cover data set (CD) corresponding to the data set to be transmitted, generating a stego data set (SD) of said cover data set (CD at a party H by generating at least one digital watermark in said cover data set (CD) , transmitting a hash value of said stego data set (SD) to a registration party (0) , and permanently storing certification data (CCD) at said registration party (0) , said certification data comprising said hash value of said stego data set (SI) , a digital time stamp (TVP) and information designating said party H.
  22. 41
    A method for embedding a watermark in a cover data set for generating a stego data set, especially of one of the preceding claims, comprising the. steps of calculating at least some magnitude Fourier components (MC) of said cover data set (CD) , applying an authentication function (AF) for generating a value (AM) derived from said Fourier components (MC) , ciphering said value (AM) using a secret key (pc H ) of an asymmetric key pair (pc H , vc H ) for generating a ciphered message, and embedding said ciphered message as a payload in a public watermark.
Independent claims22