WO2018177201A1 - 数字水印嵌入方法、提取方法、装置及数字水印系统 - Google Patents
数字水印嵌入方法、提取方法、装置及数字水印系统 Download PDFInfo
- Publication number
- WO2018177201A1 WO2018177201A1 PCT/CN2018/080148 CN2018080148W WO2018177201A1 WO 2018177201 A1 WO2018177201 A1 WO 2018177201A1 CN 2018080148 W CN2018080148 W CN 2018080148W WO 2018177201 A1 WO2018177201 A1 WO 2018177201A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- digital watermark
- watermark
- file
- sub
- target
- Prior art date
Links
- 238000000034 method Methods 0.000 title claims abstract description 92
- 239000000969 carrier Substances 0.000 claims abstract description 80
- 238000004422 calculation algorithm Methods 0.000 claims description 68
- 238000000605 extraction Methods 0.000 claims description 45
- 238000012795 verification Methods 0.000 claims description 28
- 239000000284 extract Substances 0.000 claims description 7
- 230000002194 synthesizing effect Effects 0.000 claims description 6
- 239000013598 vector Substances 0.000 claims description 4
- 230000000694 effects Effects 0.000 abstract description 2
- 230000006870 function Effects 0.000 description 27
- 230000008569 process Effects 0.000 description 25
- 238000012545 processing Methods 0.000 description 22
- 238000010586 diagram Methods 0.000 description 18
- 230000003993 interaction Effects 0.000 description 10
- 238000005516 engineering process Methods 0.000 description 7
- 238000004364 calculation method Methods 0.000 description 5
- 238000006243 chemical reaction Methods 0.000 description 5
- 238000004891 communication Methods 0.000 description 5
- 238000012986 modification Methods 0.000 description 4
- 230000004048 modification Effects 0.000 description 4
- 238000001514 detection method Methods 0.000 description 3
- 238000007726 management method Methods 0.000 description 3
- 241000699666 Mus <mouse, genus> Species 0.000 description 2
- 230000001133 acceleration Effects 0.000 description 2
- 230000007774 longterm Effects 0.000 description 2
- 230000007246 mechanism Effects 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 102220183183 rs770312290 Human genes 0.000 description 2
- 230000005236 sound signal Effects 0.000 description 2
- 238000012546 transfer Methods 0.000 description 2
- 241000699670 Mus sp. Species 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 230000015572 biosynthetic process Effects 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 238000012790 confirmation Methods 0.000 description 1
- 238000013075 data extraction Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000007599 discharging Methods 0.000 description 1
- 230000005484 gravity Effects 0.000 description 1
- 230000006698 induction Effects 0.000 description 1
- 238000012905 input function Methods 0.000 description 1
- 230000002427 irreversible effect Effects 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 238000010079 rubber tapping Methods 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 238000010897 surface acoustic wave method Methods 0.000 description 1
- 238000003786 synthesis reaction Methods 0.000 description 1
- 238000010200 validation analysis Methods 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T1/00—General purpose image data processing
- G06T1/0021—Image watermarking
- G06T1/0042—Fragile watermarking, e.g. so as to detect tampering
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/10—Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
- G06F21/106—Enforcing content protection by specific content processing
- G06F21/1063—Personalisation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/10—Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
- G06F21/16—Program or content traceability, e.g. by watermarking
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/64—Protecting data integrity, e.g. using checksums, certificates or signatures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T1/00—General purpose image data processing
- G06T1/0021—Image watermarking
- G06T1/005—Robust watermarking, e.g. average attack or collusion attack resistant
- G06T1/0071—Robust watermarking, e.g. average attack or collusion attack resistant using multiple or alternating watermarks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T1/00—General purpose image data processing
- G06T1/0021—Image watermarking
- G06T1/0092—Payload characteristic determination in a watermarking scheme, e.g. number of bits to be embedded
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N5/00—Details of television systems
- H04N5/222—Studio circuitry; Studio devices; Studio equipment
- H04N5/262—Studio circuits, e.g. for mixing, switching-over, change of character of image, other special effects ; Cameras specially adapted for the electronic generation of special effects
- H04N5/278—Subtitling
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2201/00—General purpose image data processing
- G06T2201/005—Image watermarking
- G06T2201/0062—Embedding of the watermark in text images, e.g. watermarking text documents using letter skew, letter distance or row distance
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2201/00—General purpose image data processing
- G06T2201/005—Image watermarking
- G06T2201/0065—Extraction of an embedded watermark; Reliable detection
Definitions
- the embodiments of the present invention relate to the field of digital watermarking technologies, and in particular, to a digital watermark embedding method, an extracting method, a device, and a digital watermarking system.
- the digital watermarking technology refers to a technique of embedding a digital watermark in a carrier without affecting the normal use of the carrier.
- the carrier may be at least one of an image, a document, a video, and a software.
- the digital watermark may be a secret key or an anti-counterfeiting information. Identification information.
- the digital watermark is not easily detected and modified again, but can be recognized by the embedded party. By identifying the digital watermark hidden in the carrier, it can be determined whether the carrier has been tampered with.
- a typical digital watermark embedding algorithm includes: embedding a preset key into a watermark image (such as a bitmap file, a binary image, etc.) to obtain watermark information in an image format; and then re-encoding and encrypting the watermark information in the image format.
- the watermark information in binary format is obtained, and finally the watermark information in the binary format is embedded in the carrier.
- An order file is a file that is passed between a sender and a receiver through a network platform.
- the source file content of the order may be maliciously tampered with, and the signed image of the order may be maliciously stolen.
- the digital watermark embedding algorithm used Due to the different format of the source file and the signature image, the digital watermark embedding algorithm used is different.
- a typical digital watermark embedding algorithm is only embedded in a single format. Therefore, a digital watermark can only protect one of the source file or the signature image. If you need to protect both the source file and the signature image, you need to use two.
- Digital watermarking then embedding a digital watermark into the source file, and embedding the digital watermark into the signature image; when verifying the digital watermark, the digital watermark in the source file and the signature image needs to be verified separately, so that the digital watermark embedding process and The amount of calculations and interactions during the verification process are multiplied.
- the embodiment of the present application provides a digital watermark embedding method, an extracting method, a device and a digital watermarking system, which can solve the problem that the integrity of the order file cannot be guaranteed by using two mutually independent watermark embedding mechanisms and watermark verification mechanisms, and The increase in the number of carriers, the amount of computation and the number of interactions in the process of embedding the digital watermark and the verification process are multiplied.
- the technical solution is as follows:
- a digital watermark embedding method comprising:
- the combined file comprising at least two carriers
- the i-th sub-watermark is embedded in the i-th carrier of the combined file to obtain an i-th target carrier, i is a positive integer, 1 ⁇ i ⁇ N;
- N pieces of the target vectors are combined into an object file.
- a digital watermark extraction method comprising:
- the target file includes at least two carriers, the digital watermark is an implicit identifier embedded in the target file, and the sub-watermark is an implicit identifier embedded in a corresponding carrier, and each of the sub-watermarks corresponds to Part of the content of the digital watermark.
- a digital watermark embedding apparatus comprising:
- An obtaining module configured to acquire a digital watermark of the combined file, where the combined file includes at least two carriers;
- a splitting module configured to split the digital watermark into N sub-watermarks according to the number N of carriers of the combined file acquired by the acquiring module, where each of the sub-watermarks corresponds to a part of the digital watermark, N Is a positive integer, N>1;
- An embedding module configured to embed the i-th sub-watermark split by the splitting module into the i-th carrier of the combined file, to obtain an i-th target carrier, where i is a positive integer, 1 ⁇ i ⁇ N;
- a synthesizing module configured to synthesize the N target carriers into an object file.
- a digital watermark extraction apparatus comprising:
- An extracting module configured to respectively extract a corresponding sub-watermark from each carrier included in the target file after acquiring the target file;
- a merging module configured to merge each of the sub-watermarks extracted by the extraction module into a digital watermark
- a verification module configured to verify the digital watermark obtained by the merging module
- the target file includes at least two carriers, the digital watermark is an implicit identifier embedded in the target file, and the sub-watermark is an implicit identifier embedded in a corresponding carrier, and each of the sub-watermarks corresponds to Part of the content of the digital watermark.
- a server including a processor and a memory, the system memory storing one or more programs, the one or more programs being used by one or more processors to execute The above digital watermark embedding method.
- a server including a processor and a memory, the system memory storing one or more programs, the one or more programs being used by one or more processors to execute The above digital watermark extraction method.
- a computer readable medium in another aspect, storing one or more programs, the one or more programs being used by one or more processors to perform the digital watermark embedding described above method.
- a computer readable medium in another aspect, storing one or more programs, the one or more programs being used by one or more processes to perform the digital watermark extraction described above method.
- a digital watermarking system comprising: a digital watermark embedding device and a digital watermark extracting device;
- the digital watermark embedding apparatus includes the digital watermark embedding apparatus as described above;
- the digital watermark extracting apparatus includes the digital watermark extracting apparatus as described above;
- the digital watermark embedding device is a server for performing a digital watermark embedding method as described above; and the digital watermark extracting device is a server for performing a digital watermark extracting method as described above.
- the digital watermark is split into several sub-watermarks equal to the number of carriers according to the number of carriers of the combined file, and then the i-th sub-watermark is embedded in the i-th carrier of the combined file to obtain the i-th target carrier, and the sub-watermarks are all
- each target carrier is synthesized into an object file; for a combined file including at least two carriers, a part of the digital watermark is embedded on each carrier, so that each carrier of the combined file is protected, since only one number needs to be generated.
- the watermarks are sub-watermarks embedded in the respective carriers, so that each carrier of the combined file can be protected, and the integrity of the combined files is ensured, and the calculation amount and interaction in the digital watermark embedding process are reduced.
- FIG. 1 is a schematic diagram of an implementation scenario provided by an exemplary embodiment of the present application.
- FIG. 2 is a flowchart of a method for a digital watermark embedding method provided by an exemplary embodiment of the present application
- FIG. 3 is a schematic diagram of a digital watermark embedding method provided by an exemplary embodiment of the present application.
- FIG. 4 is a flowchart of a method for a digital watermark embedding method provided by another exemplary embodiment of the present application.
- FIG. 5 is a flowchart of a watermark embedding algorithm in an image provided by an exemplary embodiment of the present application.
- FIG. 6 is a flowchart of a watermark embedding algorithm in a PDF document provided by an exemplary embodiment of the present application
- FIG. 7 is a flowchart of a digital watermark embedding method in an order file provided by an exemplary embodiment of the present application.
- FIG. 8 is a flowchart of a method for extracting a digital watermark provided by an exemplary embodiment of the present application.
- FIG. 9 is a schematic diagram of a digital watermark extraction method provided by an exemplary embodiment of the present application.
- FIG. 10 is a flowchart of a method for extracting a digital watermark provided by another exemplary embodiment of the present application.
- FIG. 11 is a flowchart of a digital watermark extraction algorithm in an image provided by an exemplary embodiment of the present application.
- FIG. 13 is a flowchart of a digital watermark extraction method in an order file provided by an exemplary embodiment of the present application.
- FIG. 14 is a schematic structural diagram of a system for processing an order file according to an exemplary embodiment of the present application.
- FIG. 15 is a structural block diagram of a digital watermark embedding apparatus provided by an exemplary embodiment of the present application.
- 16 is a block diagram showing the structure of a digital watermark extracting apparatus provided by an exemplary embodiment of the present application.
- FIG. 17 is a structural block diagram of a digital watermark system provided by an exemplary embodiment of the present application.
- FIG. 18 is a structural block diagram of a terminal provided by an exemplary embodiment of the present application.
- FIG. 19 is a schematic structural diagram of a server provided by an exemplary embodiment of the present application.
- FIG. 1 is a schematic diagram of an implementation scenario provided by an exemplary embodiment of the present application.
- the implementation scenario includes a terminal 110 , a website server 120 , a service server 130 , a database server 140 , and a file server 150 .
- the terminal 110 has the capability of web browsing, and the user can open the web page through the terminal 110.
- the file related information is input in the web page, and the web page generates a file request according to the information related to the file, and the terminal 110 is configured to send the file request to the website server 120.
- a file processing application can be installed in the terminal 110, and the user runs the file processing application through the terminal 110.
- the user control file processing class application generates a file request, and the terminal 110 transmits the file request to the website server 120.
- the terminal 110 includes: a desktop computer, a laptop portable computer, a tablet computer, a smart phone, an e-book reader, a procurement-dedicated computer device, and the like.
- the file is a stand-alone file or a combined file.
- a stand-alone file includes only one type of file type carrier, such as: document, image, video, audio, etc.; the combined file includes at least two different types of carriers, such as: order file (source file of document format + signature image), contract file (contract text in the document format + signature image + fingerprint image), etc.
- the web server 120 is a platform for providing data reception and data forwarding. After receiving the file request sent by the terminal 110, the website server 120 forwards the file request to the service server 130 for processing.
- the service server 130 is used for embedding and verifying digital watermarks on files.
- Digital watermarking is an implicit identifier used to embed a file without affecting the normal use of the file.
- the digital watermark is generated according to the identification information of the file by using a predetermined digital encryption rule, and is embedded into the file according to a predetermined embedding rule.
- the identification information is an explicit identifier for uniquely identifying the file, such as a file name and a file number.
- the identification information of the order file may be an order number
- the predetermined digital encryption rule is Message-Digest Algorithm 5 (English: Message-Digest Algorithm 5, MD5 algorithm for short), and the MD5 algorithm encrypts the order number.
- the digital watermark is generated by the MD5 algorithm; or the order number is added with the globally unique identifier (English: Globally Unique Identifier, GUID), and the digital watermark is generated by the MD5 algorithm, where the random number or the GUID is associated with the order.
- the digital watermark generated by the MD5 algorithm is usually a 32-bit string.
- the predetermined embedding rule includes an embedding position of the digital watermark, an embedding method, and the like.
- the database server 140 is configured to store related information of the digital watermark, and the related information of the digital watermark includes a correspondence relationship between the digital watermark and the file, a generation rule of the digital watermark, and an embedding rule of the digital watermark.
- the correspondence between storing the digital watermark and the file means that the digital watermark is stored corresponding to the identification information of the file.
- the digital watermark generation rules include the encryption algorithm of the digital watermark, the data used in the encryption process (random number or GUID); the embedding rules of the digital watermark include the embedding mode and embedding position of the digital watermark.
- the database server 140 includes a database request queue, a database processing module, and a database.
- the database server 140 places the received requests into the database request queue according to the received request, and the database processing module requests from the database.
- Each request is extracted in the queue, and a corresponding task is created for each request.
- the created task includes a read operation, a write operation, a delete operation, and the like in the database.
- the database is used to store data.
- the file server 150 is used to store files embedded with digital watermarks.
- the terminal 110 sends an acquisition request to the website server 120, and the website server 120 calls the file server 150 to acquire the corresponding file according to the acquisition request.
- the foregoing various servers may be one server, or a server cluster composed of several servers, or two or more adjacent servers are combined to implement the same server.
- Data between servers in a server cluster can be shared. This sharing refers to all sharing or partial sharing.
- the load balancing device 160 is further included in the implementation scenario.
- the load balancing device 160 is disposed between the terminal 110 and the website server 120.
- the terminal 110 sends the file request to the load balancing device 160.
- the load balancing device 160 randomly allocates the file request to a website server 120, or the load balancing device 160.
- the file request is distributed to the less loaded web server 120 according to the load of the web server 120.
- implementation environment is merely illustrative and represents only a typical implementation environment.
- implementation environment consisting of a first terminal and a second terminal, the first terminal being a computer of the producer/sender of the combined file, and the second terminal is The storage side/receiver's computer of the combined file.
- the order file is taken as an example to describe the generation process and verification process of the order file in combination with the implementation scenario.
- the order file is generated as follows:
- the terminal 110 opens a webpage page, and the webpage page generates an order file generation request according to the source file and the signature image of the input order, and the webpage page sends an order file generation request to the load balancing apparatus 160, and the load balancing apparatus 160 allocates the order file generation request to the webpage.
- a website server 120 receives the order file generation request, and sends the order file generation request to the service server 130 for processing.
- the service server 130 acquires the source file and the signature image of the order to generate a digital watermark. And embedding the digital watermark, then synthesizing the source file and the signature image into an order file, storing the synthesized order file to the file server 150, and storing the related information of the digital watermark to the database server 140.
- the verification process for the order file is as follows:
- the terminal 110 opens a webpage page, and the webpage page generates an order file verification request according to the related information of the input order file (for example, an order number), and the webpage page sends the order file verification request to the load balancing apparatus 160, and the load balancing apparatus 160 verifies the order file.
- the request is distributed to one of the website servers 120.
- the website server 120 calls the file server 150, obtains the corresponding order file according to the order file verification request, and sends the obtained order file to the service server 130 for verification.
- the service server 130 obtains the related information of the digital watermark corresponding to the order file from the database server 140, extracts the digital watermark from the order file according to the related information of the digital watermark, compares the extracted digital watermark with the stored digital watermark, and determines Whether the order document has been tampered with.
- the related art there are corresponding digital watermark embedding algorithms for various documents, images, audio, video, and the like, but for a combination file including at least two carriers such as an order document or a contract document, the related technology can only The digital watermark is embedded in one of the vectors and does not protect the combined file.
- the digital watermark embedding method and the digital watermark extraction method according to various embodiments of the present application can be applied to a combined file.
- the digital watermark embedding method and the digital watermark extraction method in the combined file are described below through various embodiments of the present application.
- FIG. 2 is a flowchart of a method for embedding a digital watermark according to an embodiment of the present application.
- the digital watermark embedding method is exemplified by being applied to the service server 130 shown in FIG. 1.
- the digital watermark embedding method may include:
- Step 201 Obtain a digital watermark of the combined file, where the combined file includes at least two carriers.
- the carrier is one of a document, an image, an audio, and a video.
- a carrier may also be referred to as a file, a sub-file, a digital carrier, a binary carrier, and the like.
- the combined file is composed of at least two carriers.
- the order file can be composed of the source file and the signature image of the order.
- the source file of the order is the content of the order, including at least the order number, the order quantity, the order type, the order time, and the order.
- Product, etc., signing on the source file of the order means that the confirmation of the source file is valid.
- An order file that is delivered on a network platform is usually not a signature for each source file, but a combination of the same signature image and multiple source files of the order.
- a digital watermark is an implicit identifier used to embed a file without affecting the normal use of the file.
- Digital watermarking is safe and concealed.
- Security means that digital watermarks are not easily falsified or forged.
- Concealment means that digital watermarks are not easily perceived by non-embedded parties or third parties, and do not affect protected data (embedded carriers). Normal use.
- the digital watermark corresponds to the embedded combined file, that is, the digital watermark is used to uniquely identify the combined file that is embedded.
- Step 202 Split the digital watermark into N sub-watermarks according to the number N of carriers of the combined file, and each sub-watermark corresponds to a part of the digital watermark, and N is a positive integer, N>1.
- the digital watermark is split into sub-watermarks equal to the number of carriers of the combined file.
- a digital watermark consists of a 10-bit string, denoted as S56FHY8SJ2.
- S56FHY8SJ2 the number of carriers of the combined file is 3
- the digital watermark is split into 3 sub-watermarks
- the first sub-watermark is S56F
- the first sub-watermark is HY8,
- the three sub-watermarks are SJ2.
- the N sub-watermarks of the digital watermark can be re-spliced into a complete digital watermark in the order of splitting.
- Step 203 Embed the i-th sub-watermark in the i-th carrier of the combined file to obtain an i-th target carrier, where i is a positive integer, and 1 ⁇ i ⁇ N.
- the combined file is a contract document, which consists of three vectors: contract text, signature image, and fingerprint image.
- the first sub-watermark S56F is embedded in the contract text
- the second sub-watermark HY8 is embedded in the signature image
- the third sub-watermark SJ2 is embedded in the fingerprint image.
- the service server 130 analyzes the different types of carriers to determine a corresponding watermark embedding algorithm.
- the target carrier refers to a carrier carrying a sub-watermark.
- step 204 the N target carriers are combined into an object file.
- the respective target carriers are combined into the target file according to the manner in which the combined files are generated.
- the target file refers to a combined file carrying a digital watermark.
- the combined file 210 includes a first carrier 211, a second carrier 212, and a third carrier 213.
- the digital watermark 220 is split into a first sub-watermark 221, a second sub-watermark 222, and a third.
- the sub-watermark 223, the first sub-watermark 221 is embedded in the first carrier 211
- the second sub-watermark 222 is embedded in the second carrier 212
- the third sub-watermark 223 is embedded in the third carrier 213, and finally the target file 230 is synthesized.
- the object file 230 may be a file or a group of files, and a group of files is a combination of several carriers.
- FIG. 3 is exemplified by the object file 230 being a file, but the embodiment of the present application does not limit this.
- the digital watermark embedding method splits the digital watermark into a plurality of sub-watermarks equal to the number of carriers according to the number of carriers of the combined file, and then embeds the i-th sub-watermark into the combined file.
- the i carriers the i-th target carrier is obtained, and after the sub-watermarks are all embedded, each target carrier is synthesized into an object file; and for a combined file including at least two carriers, a part of the digital watermark is embedded on each carrier, The respective carriers of the combined file are protected. Since only one digital watermark needs to be generated, the sub-watermarks embedded in the respective carriers are associated, thereby protecting each carrier of the combined file and ensuring the integrity of the combined file. Reduce the amount of computation and interaction in the digital watermark embedding process.
- the digital watermark embedding method is illustrated by using the service server 130 shown in FIG. 1, as shown in FIG.
- the embedding method can include:
- Step 301 Generate a digital watermark by using an MD5 algorithm according to the identification information of the combined file and the random number.
- the combined file is composed of at least two carriers.
- the carrier is one of a document, an image, an audio, and a video.
- the order file can be composed of the source file and the signature image of the order.
- the source file of the order records the contents of the order, including at least the order number, the order quantity, the order type, the order time, the order product, etc., and signs the source file of the order. Indicates that the source file validation is in effect.
- the order documents passed on the network platform are usually not signed for each source file, but the same signed image and the source file of the order are combined into an order file.
- the identification information is an explicit identification for uniquely identifying the combined file.
- the identification information of the order file may be the order number of the order file.
- the random number corresponds to the identification information of the combined file.
- the random number is a sequence of integers of arbitrary length, which are randomly generated by the service server 130.
- the random number is allowed to be replaced with a GUID.
- the spliced data is encrypted by the MD5 algorithm to obtain a fixed-length string.
- the MD5 algorithm obtains a 32-bit string.
- the MD5 algorithm can be replaced with other irreversible mapping algorithms.
- a digital watermark is an implicit identifier used to embed a file without affecting the normal use of the file.
- Digital watermarking is safe and concealed.
- Security means that digital watermarks are not easily falsified or forged.
- Concealment means that digital watermarks are not easily perceived by non-embedded parties or third parties, and do not affect protected data (embedded carriers). Normal use.
- the digital watermark corresponds to the embedded combined file, that is, the digital watermark is used to uniquely identify the combined file that is embedded.
- the digital watermark has a one-to-one correspondence with the embedded combined file.
- the service server 130 stores the identification information, the random number, and the digital watermark of the combined file in the database server 140.
- Step 302 Split the digital watermark into N sub-watermarks according to the number N of carriers of the combined file, and each sub-watermark corresponds to a part of the digital watermark, and N is a positive integer, N>1.
- the digital watermark is split into sub-watermarks equal to the number of carriers of the combined file.
- the service server 130 stores the splitting rules of the digital watermark and the identification information of the combined file in the database server 140.
- the splitting rule of the digital watermark includes at least the number of splits and the number of bits corresponding to each sub-watermark.
- the relationship between the digits of each sub-watermark obtained includes:
- the number of bits of each sub-watermark is the same; or, among the N sub-watermarks, there are at least two sub-watermarks having the same number of bits, and the number of bits of at least two sub-watermarks is different; or, the number of bits of the N sub-watermarks is different.
- Step 303 Determine, according to the format of the i-th carrier, a watermark embedding algorithm corresponding to the format of the i-th carrier.
- the service server 130 analyzes the different types of carriers to determine a corresponding watermark embedding algorithm.
- the watermark embedding algorithms of the carriers of different formats are usually different.
- the watermark embedding algorithms of the carriers of each format are different; alternatively, the watermark embedding algorithms of the carriers having at least two different formats are different.
- Step 304 Embed the ith sub-watermark in the i-th carrier of the combined file according to the watermark embedding algorithm corresponding to the format of the i-th carrier.
- the i-th carrier is an image
- the i-th carrier is a Portable Document Format (PDF) document
- PDF Portable Document Format
- embedding the i-th sub-watermark into the image may include the following steps:
- step 304a the i-th sub-watermark is converted into a first binary bit stream.
- the digital watermark obtained by the MD5 algorithm is a 32-bit character string, so the split sub-watermark is also a character string, and the first binary bit stream is obtained by binary conversion of the sub-watermark.
- the number of bits of the first binary bit stream is n, n is a positive integer, the j-th bit data (or bit) in the first binary bit stream is data S j , and the value of the data S j is 0. Or 1, j is a positive integer, 1 ⁇ j ⁇ n.
- the first binary bit stream is 1101
- the first bit data S 1 is 1
- the second bit data S 2 is 0,
- the third bit data S 3 is 1
- the fourth bit data S 4 is 1.
- step 304b the pixel points in the image are sequentially divided into groups of pixel points in a predetermined division order, and each group of pixel points includes gray values of two adjacent pixel points.
- the predetermined dividing order is from left to right for the same pixel row, from top to bottom for different pixel rows; or, the predetermined dividing order is for the same pixel column from top to bottom, for different pixels
- the order of the columns from left to right can be determined by the technician according to the requirements.
- the first pixel point and the second pixel point of the first row are used as the first group of pixel point pairs
- the third pixel and the fourth pixel of the first row are used as the second group of pixel pairs, and so on. If the number of pixels in the first row is an odd number, the last pixel of the first row and the first pixel of the second row are treated as a set of pixel pairs.
- the adjacent two pixel points in the image are divided into a group of pixel point pairs according to a predetermined division order, and each group of pixel point pairs is represented by a gray value of the pixel point.
- the gray value refers to the color depth of the pixel, and the range is usually from 0 to 255.
- a set of pixel pairs is represented as (x, y), then x represents the gray value of the previous pixel in the pair of pixels, and y represents the gray of the next pixel in the pair of pixels. value.
- step 304c the embedding position k of the i-th sub-watermark is randomly determined, and k is a positive integer.
- the embedding position k corresponds to the group number of the pixel point pair.
- the embedded position k is typically determined based on the length of the first binary bit stream to ensure that each bit of data in the first binary bit stream can be fully embedded in the image.
- step 304d the data S j in the first binary bit stream is embedded in the k+j-1th pixel point pair starting from the kth pixel point pair.
- the data S j in the first binary bit stream is embedded in the k+j-1 group of pixel points, including the following steps:
- the gray value of the previous pixel point in each group of pixel points is the first gray value
- the gray value of the next pixel point in each group of pixel points is the second gray value
- l represents the mean of the first gray value and the second gray value
- h represents the difference between the first gray value and the second gray value
- the calculation for each set of target pixel point pairs is based on the steps shown in FIG.
- each set of target pixel point pairs may be sequentially calculated in the order of serial execution, or each set of target pixel point pairs may be simultaneously calculated in the order of parallel execution.
- embedding the i-th sub-watermark into the image may include the following steps:
- Step 304e reading the PDF document.
- Reading a PDF document is a process of reading a PDF document into a memory stream and reading the various components of the PDF document.
- a PDF document consists of four parts: a file header, a file body, a cross-reference table, and a file tail.
- the header is used to indicate that the PDF file complies with the version number of the PDF specification and appears in the first line of the PDF file.
- the file body consists of a series of PDF indirect objects that make up the specific content of the PDF document, including fonts, pages, images, and so on.
- the cross-reference list is an indirect object address index table established for random access to indirect objects.
- the end of the file is used to declare the address of the cross-reference table, indicating the root object of the file body.
- a PDF document consists of a file header, a file body, a cross-reference table, and a file tail.
- Step 304f look up the cross-reference list of the PDF document, and find the last cross-reference section from the cross-reference list.
- the PDF document is modified in an incremental manner.
- the PDF document When the PDF document is generated, it has a set of file header + file body + cross reference table + file tail. If the PDF document is modified, a file body + cross reference table + file tail will be added below the first set of files. If the PDF document is modified again, continue to add a set of file body + cross-reference table + file tail below the end of the second file, and so on. It can be seen that the last set of file body + cross-reference table + file end of the PDF document corresponds to the PDF document content obtained after the last modification.
- the last cross-reference section is the last set of file body + cross-reference table + cross-reference list in the file end of the PDF document. That is, the cross-reference section includes a set of file headers + file body + cross-reference table + file tail.
- step 304g the i-th sub-watermark is sequentially embedded in the blank character in the last cross-reference section, and each white space is embedded in one bit of the i-th sub-watermark.
- the cross-reference table consists of several cross-reference entries, each with a fixed format: nnnnnnnnnnn ggggg n, consisting of three parts: offset address (nnnnnnnnn), code name (ggggg), whether to use the tag (n, where n means that it is in use, f means idle), there is a white space between the offset address and the code, and there is a white space between the code and the mark used.
- the characteristic of a blank character is that writing any information on the blank of the cross-reference entry does not affect the display of the PDF document.
- the split sub-watermark in the string format can directly embed each character in the white space position, such as the sub-watermark is gj65y6, from the first cross-reference entry in the last cross-reference section. Start with the first white space, write g to the first white space, write j to the second white space, write 6 to the third white space, and 5 to the fourth white space. Write y to the fifth white space and 6 to the sixth white space.
- the ith sub-watermark is sequentially embedded in the white space in the last cross-reference section, including the following steps:
- the second binary bit stream is sequentially embedded in the blank character in the last cross-reference section, and each blank character is embedded in one bit of the second binary bit stream.
- step 304g the i-th sub-watermark is first binary converted to obtain a second binary bit stream, and then each bit of the second binary bit stream is sequentially embedded into the white space. position.
- step 305 the N target carriers are combined into an object file.
- each target carrier is synthesized into a target file according to the manner in which the combined file is generated.
- the target file refers to a combined file carrying a digital watermark.
- Step 306 storing related information of the digital watermark.
- the related information of the digital watermark includes at least: a correspondence between the digital watermark and the combined file, a generation rule of the digital watermark, a splitting rule of the digital watermark, and an embedding rule of the digital watermark.
- storing the correspondence between the digital watermark and the combined file means that at least the order number is stored corresponding to the digital watermark.
- the generation rule for storing the digital watermark means storing at least the random number or GUID for generating the digital watermark.
- the splitting rule for storing the digital watermark refers to storing at least the number of split sub-watermarks, the number of bits of each sub-watermark, and the corresponding order of the sub-watermarks in the digital watermark.
- the embedding rule for storing the digital watermark corresponds to the above step 304c, which means that at least the embedding position k is stored.
- the number of bits of the converted binary bit stream is stored.
- the digital watermark embedding algorithm may also be represented as the flowchart shown in FIG. 7. As shown in FIG. 7 , step 310 is performed first, and “order number + random number” is obtained, and “order number + random number” is generated by the MD5 algorithm as a digital watermark; then step 320 is performed to split the digital watermark.
- step 330 Part of the first watermark; proceeding to step 330, embedding the first watermark into the source file of the order; as another branch following step 310, performing step 340, using the second portion of the digital watermark split as the second watermark; Step 350, embedding the second watermark into the signature image; finally, according to step 330 and step 350, performing step 360 to generate an order file embedded with the digital watermark.
- an algorithm for embedding a digital watermark into an image and a PDF document is provided.
- the watermark embedding algorithm may be specifically analyzed according to the format of the carrier, which is not described in this embodiment.
- the digital watermark embedding method splits the digital watermark into a plurality of sub-watermarks equal to the number of carriers according to the number of carriers of the combined file, and then embeds the i-th sub-watermark into the combined file.
- the i carriers the i-th target carrier is obtained, and after the sub-watermarks are all embedded, each target carrier is synthesized into an object file; and for a combined file including at least two carriers, a part of the digital watermark is embedded on each carrier, The respective carriers of the combined file are protected. Since only one digital watermark needs to be generated, the sub-watermarks embedded in the respective carriers are associated, thereby protecting each carrier of the combined file and ensuring the integrity of the combined file. Reduce the amount of computation and interaction in the digital watermark embedding process.
- the sub-watermark in the binary format can be embedded in a part of the pixel in the image, and the gray value of the partial pixel is changed, and the method is applied to the signature image. Effectively avoid the problem of the correct signature image being stolen.
- the sub-watermark in the string format or the binary format can be embedded in the white space of the cross-reference table. , but does not affect the display of PDF documents, keeping the content of the PDF document correct.
- the correspondence between the digital watermark and the combined file can be saved, so that when the digital watermark is verified, the correct digital watermark can be found according to the combined file; in addition, by storing the digital watermark
- the generation rule, the split rule, and the embedding rule enable the sub-watermark embedded in each carrier to be restored to a complete digital watermark when the digital watermark is verified, and then compared with the correct digital watermark.
- FIG. 8 is a flowchart of a method for extracting a digital watermark according to an embodiment of the present disclosure.
- the digital watermark extraction method is illustrated by using the service server 130 shown in FIG. 1, as shown in FIG. Methods can include:
- Step 401 After obtaining the target file, extract corresponding sub-watermarks from the respective carriers included in the target file.
- the web server 120 calls the file server 150 to acquire the target file, and transmits the target file to the service server 130, whereby the service server 130 can thereby acquire the target file.
- the target file refers to a combined file carrying a digital watermark, and the target file includes at least two carriers.
- the sub-watermark is an implicit identifier embedded in the corresponding carrier.
- Step 402 Combine the extracted sub-watermarks into a digital watermark.
- the digital watermark is an implicit identifier embedded in the target file, and each sub-watermark corresponds to a part of the digital watermark.
- the sub-watermarks are embedded in each carrier, so the sub-watermarks in each carrier need to be extracted to obtain a complete digital watermark embedded in the target file.
- step 403 the digital watermark is verified.
- the service server 130 compares the extracted digital watermark with the correct digital watermark corresponding to the target file stored in the database server 140, determines whether the extracted digital watermark is correct, and determines whether the target file has been tampered with.
- the object file 410 includes a first carrier 411, a second carrier 412, and a third carrier 413.
- the first carrier 411 extracts the first sub-watermark 421, and the second carrier 412 extracts To the second sub-watermark 422, the third sub-watermark 423 is extracted from the third carrier 413, and the first sub-watermark 421, the second sub-watermark 422, and the third sub-watermark 423 are spliced to obtain a digital watermark 420.
- the digital watermark extraction method can detect whether the combined file is detected by separately extracting the corresponding sub-watermark from each carrier of the combined file, and then combining the sub-watermark into a digital watermark for verification. Tampering, or detecting whether a part of the combined file has been tampered with; solving the problem in the prior art that the digital watermark in each carrier needs to be separately verified, and the integrity of the combined file cannot be guaranteed; since each sub-watermark is associated with Only need to verify the digital watermark obtained in the last combination, and can quickly determine whether a part of the combined file or the combined file has been tampered, thereby ensuring the integrity of the combined file and reducing the digital watermark in the combined file. The amount of computation and interaction when validating.
- the digital watermark extraction method is illustrated by using the service server 130 shown in FIG. 1, as shown in FIG.
- the extraction method may include:
- Step 501 After obtaining the target file, determine an inverse algorithm of the watermark embedding algorithm corresponding to the format of the i-th carrier according to the format of the i-th carrier.
- the target file includes N carriers, N is a positive integer, N>1, i is a positive integer, and 1 ⁇ i ⁇ N.
- the web server 120 calls the file server 150 to acquire the target file, and transmits the target file to the service server 130, whereby the service server 130 can thereby acquire the target file.
- any two different format carriers may correspond to different watermark embedding algorithms or inverse algorithms; optionally, at least two different formats of carriers may correspond to different watermark embedding algorithms or inverse algorithms.
- Step 502 Extract an ith sub-watermark from the i-th carrier according to an inverse algorithm of the watermark embedding algorithm corresponding to the format of the i-th carrier.
- the i-th carrier is an image
- the i-th carrier is a PDF document
- the watermark extraction algorithm shown in FIG. 11 when the i-th carrier is a PDF document, please refer to the watermark extraction algorithm shown in FIG. 11
- extracting the ith sub-watermark from the image may include the following steps:
- the target image in the target file is sequentially divided into groups of pixel points according to a predetermined division order, and each group of pixel points includes gray values of two adjacent pixel points.
- the predetermined dividing order is from left to right for the same pixel row, from top to bottom for different pixel rows; or, the predetermined dividing order is for the same pixel column from top to bottom, for different pixels
- the order of the columns from left to right can be determined by the technician according to the requirements.
- predetermined division order in the digital watermark embedding process is the same as the predetermined division order in the digital watermark extraction process.
- the first binary bit stream is obtained according to the i-th sub-watermark conversion, the embedded position k is randomly determined, k is a positive integer, and n is a positive integer.
- the service server 130 can acquire the related information of the digital watermark from the database server 150, including the embedded position k of the i-th sub-watermark and the bit of the first binary bit stream. Number n.
- the service server 130 can find the corresponding k-th pixel point pair according to the embedded position k, and then according to the number of bits n of the first binary bit stream, It is possible to find each set of target pixel point pairs in which the i-th sub-watermark is embedded.
- the data S j is the j-th bit data in the first binary bit stream, j is a positive integer, 1 ⁇ j ⁇ n.
- each bit of data of the first binary bit stream is embedded in a pair of pixel point pairs, respectively, so that the first binary bit stream can be extracted from the set of target pixel point centering service servers 130.
- One piece of data is
- determining the corresponding data Sj according to the j-th target pixel pair may include the following steps:
- the first target gray value in the determined j-th target pixel pair is x
- the second target gray value is y
- the difference h x-y between the first target gray value and the second target gray value.
- the mean l of x and y is first calculated, then the difference h is divided by 2, and rounded down to obtain a difference.
- the value h' substituting the difference h' and the mean l into the equation (1) to solve the binary one-time equations, and obtaining the first gray value x' and the second gray value y', (x', y')
- the jth pixel point is the gray value before the digital watermark is embedded.
- the determined respective data Sj is composed of the first binary bit stream in order.
- each of the digital data S j makes up a sequence of 0's and 1's, the binary number sequence to a first bit stream.
- step 502f is an inverse operation.
- extracting the ith sub-watermark from the image may include the following steps:
- Step 502g reading the target PDF document of the target file.
- Reading the target PDF document is to read the target PDF document into the memory stream and read the various components of the target PDF document.
- Step 502h Find a cross-reference list of the target PDF document, and find the last cross-reference section from the cross-reference list.
- the last cross-reference section corresponds to the last modification of the PDF document.
- the PDF document is quickly determined to have been tampered with.
- step 502i the number of bits n of the i-th sub-watermark is obtained, and n is a positive integer.
- the service server 130 can obtain the number n of the i-th sub-watermark from the related information of the digital watermark stored in the database server 140.
- the two-digit n of the second binary bit stream is obtained.
- Step 502j from the first blank position to the nth blank position in the last cross-reference section, sequentially read data corresponding to each blank position.
- the service server 130 directly reads from the first white space position when extracting.
- the service server 130 acquires the specified location from the database server 140 and starts reading from the specified location.
- step 502k the data corresponding to each blank position is combined into the i-th sub-watermark.
- the service server 130 synthesizes the extracted data into the i-th sub-watermark according to the order of the respective data extractions or the order of the white space positions corresponding to the respective data.
- combining the data corresponding to each white space position into the i-th sub-watermark includes the following steps:
- the service server 130 After acquiring the number of bits n of the second binary bit stream, the service server 130 acquires each data from the corresponding white space position at a time to form a second binary bit stream.
- the second binary bit stream is obtained by binary conversion of the i-th sub-watermark, an inverse operation is required after the second binary bit stream is obtained.
- Step 503 Combine the extracted sub-watermarks into a digital watermark.
- the service server 130 combines the sub-watermarks extracted from the respective carriers into a complete digital watermark in a predetermined order based on the related information of the digital watermarks stored in the database server 140.
- Step 504 Verify the extracted digital watermark according to the stored information of the digital watermark.
- the related information of the digital watermark includes at least the correspondence between the digital watermark and the target file, the generation rule of the digital watermark, the splitting rule of the digital watermark, and the embedding rule of the digital watermark.
- the digital watermark is stored corresponding to the order number, and the service server 130 searches the database server 140 for the corresponding digital watermark according to the order number when verifying the digital watermark, and then compares Whether the extracted digital watermark is the same as the stored digital watermark.
- S2 Acquire a generated digital watermark generation rule, generate a corresponding digital watermark according to the acquired target file, and verify whether the generated digital watermark is the same as the extracted digital watermark.
- the service server 130 For the MD5 algorithm, still taking the order file as an example, the service server 130 generates a string according to the order number of the order file and the stored random number or GUID through the MD5 algorithm, and uses the string as the generated digital watermark, and the extracted The digital watermarks are compared to confirm whether they are the same.
- the extracted digital watermark is the same as the stored digital watermark, or when the extracted digital watermark is identical to the generated digital watermark, it indicates that the target file has not been tampered with.
- the extracted digital watermark is different from the stored digital watermark, or when the extracted digital watermark is different from the generated digital watermark, it indicates that the target file has been tampered with.
- the digital watermark extraction algorithm provided in this embodiment can also be represented as the flowchart shown in FIG. As shown in FIG. 13, first step 510 is executed to read the order file; then step 520 is executed to extract the first watermark from the source file of the order, and step 530 is performed to extract the second watermark from the signature image; Step 540: splicing the first watermark and the second watermark into a digital watermark; finally performing step 550, comparing the spliced digital watermark with the digital watermark stored in the database, and determining whether the order file has been tampered with.
- the digital watermark extraction method can detect whether the combined file is detected by separately extracting the corresponding sub-watermark from each carrier of the combined file, and then combining the sub-watermark into a digital watermark for verification. Tampering, or detecting whether a part of the combined file has been tampered with; solving the problem in the prior art that the digital watermark in each carrier needs to be separately verified, and the integrity of the combined file cannot be guaranteed; since each sub-watermark is associated with Only need to verify the digital watermark obtained in the last combination, and can quickly determine whether a part of the combined file or the combined file has been tampered, thereby ensuring the integrity of the combined file and reducing the digital watermark in the combined file. The amount of computation and interaction when validating.
- a part of the digital watermark embedded in the image may be extracted, and the target image may also be restored to the pre-embedded watermark according to the inverse algorithm of the watermark embedding algorithm.
- the image not only protects the image from being stolen during the transfer of the file, but also restores the target image to the original image, thereby avoiding image distortion.
- a part of the digital watermark embedded in the PDF can be extracted by the method of extracting the sub-watermark from the PDF document in steps 502g to 502k.
- the sub-watermark is embedded in the last cross-reference section of the cross-reference list of the PDF document, when the PDF document is modified, the sub-watermark is not extracted in the last cross-reference section, thereby quickly determining that the PDF document has been tampered with. .
- step 504 By verifying the extracted digital watermark in step 504, it can be determined whether the extracted digital watermark is the same as the stored digital watermark, thereby determining whether the target file has been tampered with, thereby ensuring the validity of the target file, and According to the generated digital watermark generation rule, the digital watermark is generated according to the identification information that is not easily changed in the target file, and then the extracted digital watermark is compared with the generated digital watermark, and whether the target file has been tampered with can be determined.
- FIG. 14 is a schematic structural diagram of a system for processing an order file according to an embodiment of the present application.
- the application 10 sends a request to the digital watermark generating module 20.
- the digital watermark is sent to the digital watermark embedding module 30, and the digital watermark is embedded.
- the module 30 includes a source file watermark embedding module 31 and a signature image watermark embedding module 32.
- the digital watermark embedding module 30 sends an operation request to the database to the database request queue 40, and the database processing module 50 creates a corresponding request for the request in the database request queue 40.
- Task 51 task 51 is to write to the database 60; in the digital watermark extraction process, the application 10 sends a request to the digital watermark extraction module 70, the digital watermark extraction module 70 includes a source file watermark extraction module 71 and a signature image watermark extraction After the digital watermark is extracted, the digital watermark extraction module 70 sends the extracted digital watermark to the digital watermark verification module 80, and the digital watermark verification module 80 sends an operation request for the database to the database request queue 40, and the database processing module 50 is in the database request queue 40 A request is made to create a corresponding task 51, which is a read operation on the database 60.
- FIG. 15 is a block diagram showing the structure of a digital watermark embedding apparatus provided by an embodiment of the present application.
- the digital watermark embedding apparatus 600 is exemplified by being applied to the service server 130 shown in FIG. 1.
- the digital watermark embedding apparatus 600 may include an obtaining module 610, a splitting module 620, an embedding module 630, and a synthesizing module 640.
- the obtaining module 610 is configured to implement the foregoing steps 201, 301, and any other implicit or public related functions related to the acquisition.
- the splitting module 620 is configured to implement the foregoing step 202, step 302, and any other implicit or explicit split-related functions.
- the embedding module 630 is configured to implement the foregoing step 203 and any other implicit or explicit embedding related functions.
- the synthesizing module 640 is configured to implement the foregoing steps 204, 305, and any other implicit or disclosed synthesis-related functions.
- the embedding module 630 includes: a determining unit and an embedding unit.
- An embedding unit configured to implement the foregoing step 304, step 304a, step 304b, step 304c, step 304d, step 304e, step 304f, step 304g, step S1, step S2, step S3, step S4, step S5, and other arbitrary implied Or publicly related features related to embedding.
- the digital watermark embedding apparatus 600 further includes: a storage module.
- the storage module is configured to implement the above step 306 and any other implicit or public storage-related functions.
- the digital watermark embedding apparatus splits the digital watermark into a plurality of sub-watermarks equal to the number of carriers according to the number of carriers of the combined file, and then embeds the i-th sub-watermark into the combined file.
- the i carriers the i-th target carrier is obtained, and after the sub-watermarks are all embedded, each target carrier is synthesized into an object file; and for a combined file including at least two carriers, a part of the digital watermark is embedded on each carrier, The respective carriers of the combined file are protected. Since only one digital watermark needs to be generated, the sub-watermarks embedded in the respective carriers are associated, thereby protecting each carrier of the combined file and ensuring the integrity of the combined file. Reduce the amount of computation and interaction in the digital watermark embedding process.
- the digital watermark embedding apparatus provided in the foregoing embodiment is only illustrated by the division of the foregoing functional modules when embedding the digital watermark. In actual applications, the functions may be allocated by different functional modules as needed. Upon completion, the internal structure of the business server is divided into different functional modules to complete all or part of the functions described above.
- the digital watermark embedding apparatus and the digital watermark embedding method are provided in the same embodiment, and the specific implementation process is described in detail in the method embodiment, and details are not described herein again.
- FIG. 16 is a block diagram showing the structure of a digital watermark extracting apparatus provided by an embodiment of the present application.
- the digital watermark extracting apparatus 700 is exemplified by being applied to the service server 130 shown in FIG. 1.
- the digital watermark extraction apparatus 700 may include an extraction module 710, a merging module 720, and a verification module 730.
- the extraction module 710 is configured to implement the foregoing step 401 and any other implicit or explicit extraction-related functions.
- the merging module 720 is configured to implement the foregoing steps 402, 503, and any other implicit or explicit merging-related functions.
- the verification module 730 is configured to implement the foregoing steps 403, 504, and any other implicit or explicit verification-related functions.
- the extraction module 710 includes: a determining unit and an extracting unit.
- the determining unit is configured to implement the above step 501 and any other implicit or publicly related functions related to the determination.
- An extracting unit configured to implement the foregoing step 502, step 502a, step 502b, step 502c, step 502d, step 502e, step 502f, step 502g, step 502h, step 502i, step 502j, step 502k, step S6, step S7, step S8, step S9, and any other implicit or publicly related extraction-related functions.
- the verification module 730 includes: a first verification unit and a second verification unit.
- the first verification unit is configured to implement the above step s1 and any other implicit or explicit verification-related functions.
- the second verification unit is configured to implement the above step s2 and any other implicit or public verification-related functions.
- the digital watermark extraction apparatus can detect whether the combined file is detected by separately extracting the corresponding sub-watermark from each carrier of the combined file, and then combining the sub-watermark into a digital watermark for verification. Tampering, or detecting whether a part of the combined file has been tampered with; solving the problem in the prior art that the digital watermark in each carrier needs to be separately verified, and the integrity of the combined file cannot be guaranteed; since each sub-watermark is associated with Only need to verify the digital watermark obtained in the last combination, and can quickly determine whether a part of the combined file or the combined file has been tampered, thereby ensuring the integrity of the combined file and reducing the digital watermark in the combined file. The amount of computation and interaction when validating.
- the digital watermark extraction apparatus provided in the above embodiment is only illustrated by the division of each functional module in the extraction of the digital watermark. In actual applications, the functions may be allocated by different functional modules as needed. Upon completion, the internal structure of the business server is divided into different functional modules to complete all or part of the functions described above.
- the digital watermarking device and the digital watermarking method are provided in the same embodiment, and the specific implementation process is described in detail in the method embodiment, and details are not described herein again.
- the digital watermark system 90 includes a digital watermark embedding device 600 and a digital watermark extracting device 700.
- the digital watermark embedding apparatus 600 includes the structure as shown in FIG. 15, and the digital watermark extracting apparatus 700 includes the structure as shown in FIG.
- the terminal 800 is configured to implement the digital watermark embedding method and the digital watermark extraction method provided by the foregoing embodiments.
- the terminal 800 in the present application may include one or more of the following components: a processor for executing computer program instructions to perform various processes and methods, and for random access memory for information and stored program instructions (English: random access memory) , abbreviation: RAM) and read-only memory (English: read-only memory, referred to as: ROM), memory for storing data and information, I / O devices, interfaces, antennas, etc.
- a processor for executing computer program instructions to perform various processes and methods
- random access memory for information and stored program instructions
- RAM random access memory
- ROM read-only memory
- the terminal 800 can include a radio frequency (English: Radio Frequency, abbreviation: RF) circuit 810, a memory 820, an input unit 830, a display unit 840, a sensor 850, an audio circuit 860, and a wireless fidelity (English: wireless fidelity, referred to as WiFi) module. 870, processor 880, power supply 882, camera 890 and other components. It will be understood by those skilled in the art that the terminal structure shown in FIG. 18 does not constitute a limitation to the terminal, and may include more or less components than those illustrated, or a combination of certain components, or different component arrangements.
- RF Radio Frequency, abbreviation: RF
- the components of the terminal 800 will be specifically described below with reference to FIG. 18:
- the RF circuit 810 can be used for transmitting and receiving information or during a call, and receiving and transmitting the signal. Specifically, after receiving the downlink information of the base station, the processor 880 processes the data. In addition, the uplink data is designed to be sent to the base station.
- the RF circuit includes, but is not limited to, an antenna, at least one amplifier, a transceiver, a coupler, a low noise amplifier (Low Noise Amplifier, LNA for short), a duplexer, and the like.
- RF circuitry 810 can also communicate with the network and other devices via wireless communication.
- the wireless communication may use any communication standard or protocol, including but not limited to Global System of Mobile communication (GSM), General Packet Radio Service (English: General Packet Radio Service, referred to as: GPRS) ), Code Division Multiple Access (CDMA), Wideband Code Division Multiple Access (WCDMA), Long Term Evolution (English: Long Term Evolution, LTE for short) ), e-mail, short message service (English: Short Messaging Service, referred to as: SMS).
- GSM Global System of Mobile communication
- General Packet Radio Service English: General Packet Radio Service, referred to as: GPRS
- CDMA Code Division Multiple Access
- WCDMA Wideband Code Division Multiple Access
- LTE Long Term Evolution
- SMS Short Messaging Service
- the memory 820 can be used to store software programs and modules, and the processor 880 executes various functional applications and data processing of the terminal 800 by running software programs and modules stored in the memory 820.
- the memory 820 may mainly include a storage program area and a storage data area, wherein the storage program area may store an operating system, an application required for at least one function (such as a sound playing function, an image playing function, etc.), and the like; the storage data area may be stored according to The data created by the use of the terminal 800 (such as audio data, phone book, etc.) and the like.
- memory 820 can include high speed random access memory, and can also include non-volatile memory, such as at least one magnetic disk storage device, flash memory device, or other volatile solid state storage device.
- the input unit 830 can be configured to receive input numeric or character information and to generate key signal inputs related to user settings and function control of the terminal 800.
- the input unit 830 may include a touch panel 831 and other input devices 832.
- the touch panel 831 also referred to as a touch screen, can collect touch operations on or near the user (such as the user using a finger, a stylus, or the like on the touch panel 831 or near the touch panel 831. Operation), and drive the corresponding connecting device according to a preset program.
- the touch panel 831 can include two parts: a touch detection device and a touch controller.
- the touch detection device detects the touch orientation of the user, and detects a signal brought by the touch operation, and transmits the signal to the touch controller; the touch controller receives the touch information from the touch detection device, converts the touch information into contact coordinates, and sends the touch information.
- the processor 880 is provided and can receive commands from the processor 880 and execute them.
- the touch panel 831 can be implemented in various types such as resistive, capacitive, infrared, and surface acoustic waves.
- the input unit 830 may also include other input devices 832.
- other input devices 832 may include, but are not limited to, one or more of a physical keyboard, function keys (such as volume control buttons, switch buttons, etc.), trackballs, mice, joysticks, and the like.
- the display unit 840 can be used to display information input by the user or information provided to the user and various menus of the terminal 800.
- the display unit 840 may include a display panel 841.
- the display may be configured in the form of a liquid crystal display (LCD) or an organic light-emitting diode (OLED).
- Panel 841 Further, the touch panel 831 can cover the display panel 841. When the touch panel 831 detects a touch operation thereon or nearby, the touch panel 831 transmits to the processor 880 to determine the type of the touch event, and then the processor 880 according to the touch event. The type provides a corresponding visual output on display panel 841.
- touch panel 831 and the display panel 841 are used as two independent components to implement the input and input functions of the terminal 800 in FIG. 18, in some embodiments, the touch panel 831 may be integrated with the display panel 841. The input and output functions of the terminal 800 are implemented.
- Terminal 800 may also include at least one type of sensor 850, such as a gyro sensor, a magnetic induction sensor, a light sensor, a motion sensor, and other sensors.
- the light sensor may include an ambient light sensor and a proximity sensor, wherein the ambient light sensor may adjust the brightness of the display panel 841 according to the brightness of the ambient light, and the proximity sensor may close the display panel 841 when the terminal 800 moves to the ear. / or backlight.
- the acceleration sensor can detect the magnitude of acceleration in all directions (usually three axes). When it is stationary, it can detect the magnitude and direction of gravity.
- An audio circuit 860, a speaker 861, and a microphone 862 can provide an audio interface between the user and the terminal 800.
- the audio circuit 860 can transmit the converted electrical data of the received audio data to the speaker 861 for conversion to the sound signal output by the speaker 861; on the other hand, the microphone 862 converts the collected sound signal into an electrical signal by the audio circuit 860. After receiving, it is converted into audio data, and then processed by the audio data output processor 880, transmitted to the terminal, for example, via the RF circuit 810, or the audio data is output to the memory 820 for further processing.
- WiFi is a short-range wireless transmission technology
- the terminal 800 can help users to send and receive emails, browse web pages, and access streaming media through the WiFi module 870, which provides wireless broadband Internet access for users.
- FIG. 18 shows the WiFi module 870, it can be understood that it does not belong to the essential configuration of the terminal 800, and may be omitted as needed within the scope of not changing the essence of the disclosure.
- Processor 880 is the control center of terminal 800, which connects various portions of the entire electronic device using various interfaces and lines, by running or executing software programs and/or modules stored in memory 820, and recalling data stored in memory 820.
- the various functions and processing data of the terminal 800 are performed to perform overall monitoring of the electronic device.
- the processor 880 may include one or more processing units; preferably, the processor 880 may integrate an application processor and a modem processor, where the application processor mainly processes an operating system, a user interface, an application, and the like.
- the modem processor primarily handles wireless communications. It will be appreciated that the above described modem processor may also not be integrated into the processor 880.
- the terminal 800 also includes a power source 882 (such as a battery) for powering various components.
- a power source 882 such as a battery
- the power source can be logically coupled to the processor 880 through a power management system to manage functions such as charging, discharging, and power management through the power management system.
- the camera 890 is generally composed of a lens, an image sensor, an interface, a digital signal processor, a CPU, a display screen, and the like.
- the lens is fixed above the image sensor, and the focus can be changed by manually adjusting the lens;
- the image sensor is equivalent to the "film" of the conventional camera, and is the heart of the image captured by the camera;
- the interface is used to connect the camera with the cable and the board to the board.
- the spring-type connection mode is connected to the electronic device motherboard, and the collected image is sent to the memory 820;
- the digital signal processor processes the acquired image through mathematical operations, converts the collected analog image into a digital image, and sends the image through the interface.
- the terminal 800 may further include a Bluetooth module or the like, and details are not described herein again.
- FIG. 19 is a schematic structural diagram of a server according to an embodiment of the present application.
- the server may be the web server 120, the business server 130, the database server 140, and the file server 150 shown in FIG.
- the server 900 includes a central processing unit (English: Central Processing Unit, CPU for short) 901, a system memory 904 including a random access memory (RAM) 902 and a read only memory (ROM) 903, and a connection system memory 904. And a system bus 905 of the central processing unit 901.
- the server 900 also includes a basic input/output system (I/O system) 906 that facilitates transfer of information between various devices within the computer, and mass storage for storing the operating system 913, applications 914, and other program modules 915.
- I/O system basic input/output system
- the basic input/output system 906 includes a display 908 for displaying information and an input device 909 such as a mouse or keyboard for user input of information.
- the display 908 and input device 909 are both connected to the central processing unit 901 by an input/output controller 910 that is coupled to the system bus 905.
- the basic input/output system 906 can also include an input output controller 910 for receiving and processing input from a plurality of other devices, such as a keyboard, mouse, or electronic stylus.
- input/output controller 910 also provides output to a display screen, printer, or other type of output device.
- the mass storage device 907 is connected to the central processing unit 901 by a mass storage controller (not shown) connected to the system bus 905.
- the mass storage device 907 and its associated computer readable medium provide non-volatile storage for the server 900. That is, the mass storage device 907 may include a computer readable medium (not shown) such as a hard disk or a compact disc read-only memory (CD-ROM).
- a computer readable medium such as a hard disk or a compact disc read-only memory (CD-ROM).
- the computer readable medium can include computer storage media and communication media.
- Computer storage media includes volatile and nonvolatile, removable and non-removable media implemented in any method or technology for storage of information such as computer readable instructions, data structures, program modules or other data.
- Computer storage medium includes RAM, ROM, erasable programmable read-only memory (EPROM), electrically erasable programmable read-only memory (English: electrically erasable programmable read-only memory) , referred to as: EEPROM), flash memory or other solid-state storage technology, CD-ROM, digital Versatile Disc (DVD) or other optical storage, tape cartridge, tape, disk storage or other magnetic storage devices.
- EEPROM electrically erasable programmable read-only memory
- flash memory or other solid-state storage technology
- CD-ROM compact disc
- DVD digital Versatile Disc
- the server 900 may also be operated by a remote computer connected to the network through a network such as the Internet. That is, the server 900 can be connected to the network 912 through a network interface unit 911 connected to the system bus 905, or can also be connected to other types of networks or remote computer systems (not shown) using the network interface unit 911. .
- the embodiment of the present application further provides a computer readable storage medium, which may be a computer readable storage medium included in the memory in the foregoing embodiment, or may exist separately and not assembled into the terminal.
- Computer readable storage medium stores one or more programs that are used by one or more processors to perform the digital watermark embedding method and/or digital watermark extraction method described above.
- a person skilled in the art may understand that all or part of the steps of implementing the above embodiments may be completed by hardware, or may be instructed by a program to execute related hardware, and the program may be stored in a computer readable storage medium.
- the storage medium mentioned may be a read only memory, a magnetic disk or an optical disk or the like.
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Computer Security & Cryptography (AREA)
- Computer Hardware Design (AREA)
- General Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Technology Law (AREA)
- Signal Processing (AREA)
- Health & Medical Sciences (AREA)
- Bioethics (AREA)
- General Health & Medical Sciences (AREA)
- Editing Of Facsimile Originals (AREA)
- Image Processing (AREA)
Abstract
一种数字水印嵌入方法、提取方法、装置及数字水印系统,属于数字水印技术领域。所述方法包括:获取组合文件的数字水印(201);根据所述组合文件的载体数N,将数字水印拆分为N个子水印,每个子水印对应数字水印的部分内容(202);将第i个子水印嵌入组合文件的第i个载体,得到第i个目标载体(203);将N个目标载体合成目标文件(204)。解决了相关技术中的数字水印技术对不能保证订单文件的完整性的问题,达到了对组合文件的各个载体进行同时保护,保证了组合文件的安全性和完整性的效果。
Description
本申请要求于2017年03月29日提交中国国家知识产权局、申请号为201710196907.3、发明名称为“数字水印嵌入方法、提取方法、装置及数字水印系统”的中国专利申请的优先权,其全部内容通过引用结合在本申请中。
本申请实施例涉及数字水印技术领域,特别涉及一种数字水印嵌入方法、提取方法、装置及数字水印系统。
数字水印技术是指在不影响载体的正常使用的前提下,将数字水印嵌入载体中的技术,载体可以是图像、文档、视频、软件中的至少一种,数字水印可以是秘钥、防伪信息等标识信息。数字水印不容易被探知和再次修改,但可以被嵌入方识别出来,通过识别隐藏在载体中的数字水印,可以判断出载体是否被篡改。
对于已嵌入有数字水印的载体,通过在提取到该载体中的数字水印之后验证该数字水印的合法性,可以判断出该载体是否为盗用或伪造的。随着数字水印技术的发展,越来越多的数字水印嵌入算法随之出现。一种典型的数字水印嵌入算法包括:将预设秘钥嵌入水印图像(比如:位图文件、二值图像等),得到图像格式的水印信息;然后将图像格式的水印信息重新编码及加密,得到二进制格式的水印信息,最后将二进制格式的水印信息嵌入到载体中。
订单文件是通过网络平台在发送方和接收方之间传递的文件。订单文件在传递过程中,订单的源文件内容可能会被恶意篡改,订单的签名图像可能会被恶意窃取。由于源文件和签名图像的格式不同,使用的数字水印嵌入算法也不同。一种典型的数字水印嵌入算法只针对单独一种格式进行嵌入,因此一个数字水印只能保护源文件或签名图像中的一个,若需要对源文件和签名图像均进行保护,需要用到两个数字水印,然后将一个数字水印嵌入源文件,另一个数字水印嵌入签名图像;在对数字水印进行验证时,需要对源文件和签名图像中的数字水印分别进行验证,使得数字水印的嵌入过程和验证过程中的计算量和 交互操作均成倍地增加。
发明内容
本申请实施例提供了一种数字水印嵌入方法、提取方法、装置及数字水印系统,可以解决采用两个相互独立的水印嵌入机制和水印验证机制不能保证订单文件的完整性,且随着组合文件的载体数的增加,数字水印的嵌入过程和验证过程中的计算量和交互操作均成倍地增加的问题。所述技术方案如下:
一个方面,提供了一种数字水印嵌入方法,所述方法包括:
获取组合文件的数字水印,所述组合文件至少包括两个载体;
根据所述组合文件的载体数N,将所述数字水印拆分为N个子水印,每个所述子水印对应所述数字水印的部分内容,N为正整数,N>1;
将第i个所述子水印嵌入所述组合文件的第i个所述载体,得到第i个目标载体,i为正整数,1≤i≤N;
将N个所述目标载体合成目标文件。
另一方面,提供了一种数字水印提取方法,所述方法包括:
在获取到目标文件后,从所述目标文件包括的各个载体中分别提取出对应的子水印;
将提取到的各个所述子水印合并成数字水印;
对所述数字水印进行验证;
其中,所述目标文件至少包括两个载体,所述数字水印是所述目标文件中嵌入的隐式标识,所述子水印是对应的载体中嵌入的隐式标识,每个所述子水印对应所述数字水印的部分内容。
另一方面,提供了一种数字水印嵌入装置,所述装置包括:
获取模块,用于获取组合文件的数字水印,所述组合文件至少包括两个载体;
拆分模块,用于根据所述获取模块获取的所述组合文件的载体数N,将所述数字水印拆分为N个子水印,每个所述子水印对应所述数字水印的部分内容,N为正整数,N>1;
嵌入模块,用于将所述拆分模块拆分的第i个所述子水印嵌入所述组合文件的第i个所述载体,得到第i个目标载体,i为正整数,1≤i≤N;
合成模块,用于将N个所述目标载体合成目标文件。
另一方面,提供了一种数字水印提取装置,所述装置包括:
提取模块,用于在获取到目标文件后,从所述目标文件包括的各个载体中分别提取出对应的子水印;
合并模块,用于将所述提取模块提取到的各个所述子水印合并成数字水印;
验证模块,用于对所述合并模块得到的所述数字水印进行验证;
其中,所述目标文件至少包括两个载体,所述数字水印是所述目标文件中嵌入的隐式标识,所述子水印是对应的载体中嵌入的隐式标识,每个所述子水印对应所述数字水印的部分内容。
另一方面,提供了一种服务器,所述服务器包括处理器和存储器,所述系统存储器存储有一个或一个以上的程序,所述一个或一个以上的程序被一个或一个以上的处理器用来执行上述数字水印嵌入方法。
另一方面,提供了一种服务器,所述服务器包括处理器和存储器,所述系统存储器存储有一个或者一个以上的程序,所述一个或一个以上的程序被一个或一个以上的处理器用来执行上述数字水印提取方法。
另一方面,提供了一种计算机可读介质,所述计算机可读介质存储有一个或一个以上的程序,所述一个或一个以上的程序被一个或一个以上的处理器用来执行上述数字水印嵌入方法。
另一方面,提供了一种计算机可读介质,所述计算机可读介质存储有一个或一个以上的程序,所述一个或一个以上的程序被一个或一个以上的处理用来执行上述数字水印提取方法。
另一方面,提供了一种数字水印系统,所述数字水印系统包括:数字水印嵌入装置和数字水印提取装置;
所述数字水印嵌入装置包括如上所述的数字水印嵌入装置;所述数字水印提取装置包括如上所述的数字水印提取装置;
或者,
所述数字水印嵌入装置是如上所述的用来执行数字水印嵌入方法的服务器;和所述数字水印提取装置是如上所述的用来执行数字水印提取方法的服务器。
本申请实施例提供的技术方案带来的有益效果至少包括:
通过根据组合文件的载体数,将数字水印拆分为与载体数相等的若干个子 水印,然后将第i个子水印嵌入组合文件的第i个载体中,得到第i个目标载体,在子水印全部嵌入完毕后,将各个目标载体合成目标文件;对于包含至少两个载体的组合文件,在每个载体上分别嵌入数字水印的一部分,使得组合文件的各个载体均受到保护,由于只需要生成一个数字水印,各个载体中嵌入的子水印是关联的,从而对组合文件的各个载体均能进行保护,并且保证了组合文件的完整性,减少了数字水印嵌入过程中的计算量和交互操作。
通过从组合文件的各个载体中分别提取出对应的子水印,然后将子水印合并成数字水印进行验证,可以检测出组合文件是否被篡改,或者可以检测出组合文件的一部分是否被篡改;解决了相关技术中需要对各个载体中的数字水印分别进行验证,不能保证组合文件的完整性的问题;由于各个子水印之间是关联的,只需要对最后组合得到的数字水印进行验证,就能快速确定出组合文件或组合文件的一部分是否被篡改,从而保证了组合文件的完整性,并且减少了对组合文件中的数字水印进行验证时的计算量和交互操作。
图1是本申请一个示例性实施例提供的实施场景的示意图;
图2是本申请一个示例性实施例提供的数字水印嵌入方法的方法流程图;
图3是本申请一个示例性实施例提供的数字水印嵌入方法的示意图;
图4是本申请另一个示例性实施例提供的数字水印嵌入方法的方法流程图;
图5是本申请一个示例性实施例提供的在图像中的水印嵌入算法的流程图;
图6是本申请一个示例性实施例提供的在PDF文档中的水印嵌入算法的流程图;
图7是本申请一个示例性实施例提供的订单文件中的数字水印嵌入方法的流程图;
图8是本申请一个示例性实施例提供的数字水印提取方法的方法流程图;
图9是本申请一个示例性实施例提供的数字水印提取方法的示意图;
图10是本申请另一个示例性实施例提供的数字水印提取方法的方法流程图;
图11是本申请一个示例性实施例提供的在图像中的数字水印提取算法的 流程图;
图12是本申请一个示例性实施例提供的在PDF文档中的数字水印提取算法的流程图;
图13是本申请一个示例性实施例提供的订单文件中的数字水印提取方法的流程图;
图14是本申请一个示例性实施例提供的用于处理订单文件的系统结构示意图;
图15是本申请一个示例性实施例提供的数字水印嵌入装置的结构方框图;
图16是本申请一个示例性实施例提供的数字水印提取装置的结构方框图;
图17是本申请一个示例性实施例提供的数字水印系统的结构方框图;
图18是本申请一个示例性实施例提供的终端的结构方框图;
图19是本申请一个示例性实施例提供的服务器的结构示意图。
为使本申请的目的、技术方案和优点更加清楚,下面将结合附图对本申请实施方式作进一步地详细描述。
图1是本申请一个示例性实施例提供的实施场景的示意图,如图1所示,该实施场景包括终端110、网站服务器120、业务服务器130、数据库服务器140、文件服务器150。
终端110具备网页浏览的能力,用户通过终端110能够打开网页页面。在网页页面中输入与文件相关的信息,网页页面根据与文件相关的信息生成文件请求,终端110用于将文件请求发送给网站服务器120。
可选的,终端110中可以安装文件处理类应用程序,用户通过终端110运行文件处理类应用程序。用户控制文件处理类应用程序生成文件请求,终端110将文件请求发送给网站服务器120。
可选的,终端110包括:台式计算机、膝上型便携计算机、平板电脑、智能手机、电子书阅读器、采购专用电脑设备等。
可选的,文件为独立文件或组合文件。独立文件只包括一种文件类型的载体,比如:文档、图像、视频、音频等;组合文件包括至少两种不同类型的载体,比如:订单文件(文档格式的源文件+签名图像)、合同文件(文档格式的 合同文本+签名图像+指纹图像)等。
网站服务器120是用于提供数据接收与数据转发的平台。网站服务器120在接收到终端110发送的文件请求后,将文件请求转发给业务服务器130进行处理。
业务服务器130用于对文件进行数字水印的嵌入与验证。数字水印是指在不影响文件的正常使用的前提下,用于嵌入文件中的隐式标识。可选的,数字水印根据文件的标识信息采用预定数字加密规则生成,根据预定嵌入规则嵌入到文件中。标识信息是用于唯一标识文件的显式标识,比如:文件名、文件编号。
以订单文件为例,订单文件的标识信息可以为订单号,预定数字加密规则为信息-摘要算法5(英文:Message-Digest Algorithm 5,简称:MD5算法),MD5算法在进行加密时,订单号加上随机数后经过MD5算法生成数字水印;或者,订单号加上全局唯一标识符(英文:Globally Unique Identifier,简称:GUID)后经过MD5算法生成数字水印,这里的随机数或GUID均与订单号对应,通过MD5算法生成的数字水印通常为32位的字符串。预定嵌入规则包括数字水印的嵌入位置、嵌入方式等。
数据库服务器140用于存储数字水印的相关信息,数字水印的相关信息包括数字水印与文件的对应关系、数字水印的生成规则、数字水印的嵌入规则等。存储数字水印与文件的对应关系是指将数字水印与文件的标识信息对应存储。数字水印的生成规则包括数字水印的加密算法,加密过程中用到的数据(随机数或GUID);数字水印的嵌入规则包括数字水印的嵌入方式、嵌入位置等。
可选的,数据库服务器140中包括数据库请求队列、数据库处理模块和数据库,数据库服务器140根据接收到的请求,按照先后顺序将接收到的各个请求放入数据库请求队列中,数据库处理模块从数据库请求队列中依次提取出各个请求,并为每一个请求创建对应的任务,创建的任务包括在数据库中的读操作、写操作、删除操作等。数据库用于存储数据。
文件服务器150用于存储嵌入数字水印后的文件。当用户需要获取某个文件时,通过终端110向网站服务器120发送获取请求,网站服务器120根据获取请求调用文件服务器150获取对应的文件。
可选的,上述各种服务器可以是一台服务器,或者由若干服务器组成的服务器集群,或者相邻的两个或几个服务器合并实现成为同一个服务器。服务器 集群中的各个服务器之间的数据可以共享。该共享是指全部共享或部分共享。
可选的,该实施场景中还包括负载均衡设备160。负载均衡设备160设置在终端110与网站服务器120之间,终端110将文件请求先发送给负载均衡设备160,负载均衡设备160将文件请求随机分配给一台网站服务器120,或者,负载均衡设备160根据网站服务器120的负载情况,将文件请求分配给负载较少的网站服务器120。
需要说明的是,上述实施环境仅为示例性说明,仅代表一种典型的实施环境。在不同的实施例中,还可能有其它形式的实施环境,比如由第一终端和第二终端所组成的实施环境,第一终端是组合文件的生成方/发送方的电脑,第二终端是组合文件的存储方/接收方的电脑。
下面以订单文件为例,结合该实施场景分别对订单文件的生成过程和验证过程进行说明。
订单文件的生成过程如下:
终端110打开网页页面,网页页面根据输入的订单的源文件和签名图像生成订单文件生成请求,网页页面将订单文件生成请求发送给负载均衡设备160,负载均衡设备160将订单文件生成请求分配给其中一个网站服务器120,网站服务器120接收订单文件生成请求,将订单文件生成请求发送给业务服务器130进行处理,业务服务器130接收到订单文件生成请求后,获取订单的源文件和签名图像,生成数字水印并嵌入数字水印,然后将源文件和签名图像合成订单文件,将合成的订单文件存储至文件服务器150,将数字水印的相关信息存储至数据库服务器140。
订单文件的验证过程如下:
终端110打开网页页面,网页页面根据输入的订单文件的相关信息(比如:订单号)生成订单文件验证请求,网页页面将订单文件验证请求发送给负载均衡设备160,负载均衡设备160将订单文件验证请求分配给其中一个网站服务器120,网站服务器120接收订单文件验证请求后,调用文件服务器150,根据订单文件验证请求获取到对应的订单文件,将获取到的订单文件发送给业务服务器130进行验证,业务服务器130从数据库服务器140中获取该订单文件对应的数字水印的相关信息,根据数字水印的相关信息从订单文件中提取出数字水印,将提取出的数字水印和存储的数字水印进行比较,确定出订单文件是 否被篡改过。
在相关技术中针对各种文档、图像、音频、视频等独立文件均有各自对应的数字水印嵌入算法,但对于订单文件或合同文件这类包含至少两个载体的组合文件,相关技术只能将数字水印嵌入其中一个载体中,对组合文件不能起到很好的保护作用。本申请各个实施例涉及的数字水印嵌入方法和数字水印提取方法可以应用在组合文件中,下面通过本申请各个实施例对组合文件中的数字水印嵌入方法和数字水印提取方法进行说明。
图2是本申请一个实施例提供的数字水印嵌入方法的方法流程图,该数字水印嵌入方法以应用在图1所示的业务服务器130中进行举例说明。如图2所示,该数字水印嵌入方法可以包括:
步骤201,获取组合文件的数字水印,组合文件至少包括两个载体。
可选的,载体是文档、图像、音频、视频中的一种。载体还可以称为文件、子文件、数字载体、二进制载体等其它名称。
组合文件是由至少两个载体组成的,比如:订单文件可以由订单的源文件和签名图像组成,订单的源文件是订单的内容,至少包括订单号、订单数量、订单类型、订单时间、订单产品等,在订单的源文件上签名表示对源文件确认生效。在网络平台上传递的订单文件,通常不是对每一份源文件签名,而是将同一个签名图像与订单的多个源文件合成订单文件。
数字水印是在不影响文件的正常使用的前提下,用于嵌入文件中的隐式标识。数字水印具有安全性和隐蔽性,安全性是指数字水印不易被篡改或伪造,隐蔽性是指数字水印不容易被非嵌入方或第三方感知,不影响被保护数据(被嵌入的载体)的正常使用。
数字水印是与被嵌入的组合文件相对应的,也就是说,数字水印用于唯一标识被嵌入的组合文件。
步骤202,根据组合文件的载体数N,将数字水印拆分为N个子水印,每个子水印对应数字水印的部分内容,N为正整数,N>1。
为了使组合文件的每个载体都嵌入数字水印,因此将数字水印拆分成与组合文件的载体数相等的子水印。比如一个数字水印由10位字符串组成,表示为S56FHY8SJ2,当组合文件的载体数为3时,数字水印被拆分为3个子水印, 第1个子水印为S56F,第1个子水印为HY8,第3个子水印为SJ2。
数字水印的N个子水印按照拆分的顺序能够重新拼接成完整的数字水印。
步骤203,将第i个子水印嵌入组合文件的第i个载体,得到第i个目标载体,i为正整数,1≤i≤N。
假设组合文件为合同文件,分别由合同文本、签名图像、指纹图像三个载体组成。对应步骤202中对数字水印的举例,将第1个子水印S56F嵌入合同文本,将第2个子水印HY8嵌入签名图像,将第3个子水印SJ2嵌入指纹图像。
在将子水印嵌入不同类型的载体中时,业务服务器130针对不同类型的载体进行分析,确定出对应的水印嵌入算法。
目标载体是指携带有子水印的载体。
步骤204,将N个目标载体合成目标文件。
在步骤203将各个子水印分别嵌入对应的载体中后,按照组合文件的生成方式将各个目标载体合成目标文件。
目标文件是指携带有数字水印的组合文件。
下面通过图3所示的数字水印嵌入的示意图对图2所涉及的实施例进行说明。如图3所示,组合文件210包括第一个载体211、第二个载体212、第三个载体213,数字水印220被拆分成第一个子水印221、第二个子水印222、第三个子水印223,第一个子水印221嵌入第一个载体211,第二个子水印222嵌入第二个载体212,第三个子水印223嵌入第三个载体213,最后合成目标文件230。目标文件230可以是一个文件或一组文件,一组文件是几个载体的组合,图3以目标文件230是一个文件来举例说明,但本申请实施例对此不加以限定。
综上所述,本申请实施例提供的数字水印嵌入方法,通过根据组合文件的载体数,将数字水印拆分为与载体数相等的若干个子水印,然后将第i个子水印嵌入组合文件的第i个载体中,得到第i个目标载体,在子水印全部嵌入完毕后,将各个目标载体合成目标文件;对于包含至少两个载体的组合文件,在每个载体上分别嵌入数字水印的一部分,使得组合文件的各个载体均受到保护,由于只需要生成一个数字水印,各个载体中嵌入的子水印是关联的,从而对组合文件的各个载体均能进行保护,并且保证了组合文件的完整性,减少了数字水印嵌入过程中的计算量和交互操作。
图4是本申请另一个实施例提供的数字水印嵌入方法的方法流程图,该数字水印嵌入方法以应用在图1所示的业务服务器130中进行举例说明,如图4所示,该数字水印嵌入方法可以包括:
步骤301,根据组合文件的标识信息和随机数,通过MD5算法生成数字水印。
组合文件是由至少两个载体组成的,可选的,载体是文档、图像、音频、视频中的一种。比如:订单文件可以由订单的源文件和签名图像组成,订单的源文件记载有订单的内容,至少包括订单号、订单数量、订单类型、订单时间、订单产品等,在订单的源文件上签名表示对源文件确认生效。在网络平台上传递的订单文件,通常不是对每一份源文件签名,而是将同一个签名图像与订单的源文件合成订单文件。
标识信息是用于唯一标识组合文件的显式标识。以订单文件为例,订单文件的标识信息可以为订单文件的订单号。
随机数与组合文件的标识信息对应。随机数为任意长度的整数序列,由业务服务器130随机生成。
可选的,随机数允许被替换成GUID。
标识信息与随机数进行拼接后,通过MD5算法对拼接后的数据进行加密,得到定长的字符串,通常MD5算法得到的是32位的字符串。可选地,MD5算法可以采用其它不可逆映射算法进行替代。
数字水印是在不影响文件的正常使用的前提下,用于嵌入文件中的隐式标识。数字水印具有安全性和隐蔽性,安全性是指数字水印不易被篡改或伪造,隐蔽性是指数字水印不容易被非嵌入方或第三方感知,不影响被保护数据(被嵌入的载体)的正常使用。
数字水印是与被嵌入的组合文件相对应的,也就是说,数字水印用于唯一标识被嵌入的组合文件。或者说,数字水印与被嵌入的组合文件具有一一对应关系。
可选的,在通过MD5算法得到数字水印之后,业务服务器130将组合文件的标识信息、随机数、数字水印对应存储至数据库服务器140中。
步骤302,根据组合文件的载体数N,将数字水印拆分为N个子水印,每个子水印对应数字水印的部分内容,N为正整数,N>1。
为了使组合文件的每个载体都嵌入数字水印,因此将数字水印拆分成与组合文件的载体数相等的子水印。
可选的,在将数字水印拆分为N个子水印之后,业务服务器130将数字水印的拆分规则、组合文件的标识信息对应存储至数据库服务器140中。数字水印的拆分规则至少包括拆分的个数、每个子水印对应的位数。
可选的,数字水印在拆分后,得到的各个子水印的位数之间的关系包括:
每个子水印的位数相同;或者,在N个子水印中,存在至少两个子水印的位数相同,存在至少两个子水印的位数不同;或者,N个子水印的位数各不相同。
步骤303,根据第i个载体的格式,确定与第i个载体的格式对应的水印嵌入算法。
在将子水印嵌入不同类型的载体中时,业务服务器130针对不同类型的载体进行分析,确定出对应的水印嵌入算法。
由于不同格式的载体具有不同的特性,因此不同格式的载体的水印嵌入算法通常是不同的。可选地,每种格式的载体的水印嵌入算法均为不同的;可选地,存在至少两个不同格式的载体的水印嵌入算法是不同的。
步骤304,按照与第i个载体的格式对应的水印嵌入算法,将第i个子水印嵌入组合文件的第i个载体。
当第i个载体为图像时,请参见图5所示出的水印嵌入算法;当第i个载体为便携式文档格式(Portable Document Format,PDF)文档时,请参见图6所示出的水印嵌入算法。
如图5所示,当第i个载体为图像时,将第i个子水印嵌入图像可以包括如下步骤:
步骤304a,将第i个子水印转换为第一二进制比特流。
通过MD5算法加密得到的数字水印是32位的字符串,因此拆分得到的子水印也是字符串,通过将子水印进行二进制转换得到第一二进制比特流。
第一二进制比特流的位数为n,n为正整数,所述第一二进制比特流中的第j位数据(或比特)为数据S
j,数据S
j的取值为0或1,j为正整数,1≤j≤n。
比如:第一二进制比特流为1101,则第一位数据S
1为1,第二位数据S
2为0,第三位数据S
3为1,第四位数据S
4为1。
步骤304b,按照预定划分顺序,将图像中的像素点依次划分为各组像素点 对,每组像素点对包含相邻的两个像素点的灰度值。
可选的,预定划分顺序为针对相同的像素行从左往右,针对不同的像素行从上往下的顺序;或者,预定划分顺序为针对相同的像素列从上往下,针对不同的像素列从左往右的顺序。除了以上两种划分顺序,在实际实现时,预定划分顺序可以依据需求由技术人员进行确定。
以针对相同的像素行从左往右,针对不同的像素行从上往下的顺序为例,将第一行的第一个像素点和第二个像素点作为第一组像素点对,将第一行的第三个像素点和第四个像素点作为第二组像素点对,依次类推。若第一行的像素点个数为奇数,则将第一行最后一个像素点和第二行第一个像素点作为一组像素点对。
按照预定划分顺序,将图像中的相邻的两个像素点划分为一组像素点对,每组像素点对用像素点的灰度值来表示。灰度值是指像素点的颜色深度,范围通常在0至255。比如,一组像素点对表示为(x,y),则x表示这一组像素点对中前一个像素点的灰度值,y表示这一组像素点对中后一个像素点的灰度值。
步骤304c,随机确定出第i个子水印的嵌入位置k,k为正整数。
嵌入位置k与像素点对的组序号对应。
在实际应用中,通常会根据第一二进制比特流的长度确定嵌入位置k,以确保第一二进制比特流中的每位数据能够全部嵌入到图像中。
步骤304d,以第k组像素点对为起点,将第一二进制比特流中的数据S
j嵌入第k+j-1组像素点对。
在一种可能的实现方式中,当第一二进制比特流中的数据嵌入到最后一组像素点对后,第一二进制比特流中还有几位数据没有嵌入,其余的几位数据按照顺序依次从第一组像素点对开始嵌入。
可选的,将第一二进制比特流中的数据S
j嵌入第k+j-1组像素点对,包括如下步骤:
S1,计算第k+j-1组像素点对的第一灰度值和第二灰度值的均值和差值。
每组像素点对中的前一个像素点的灰度值为第一灰度值,每组像素点对中的后一个像素点的灰度值为第二灰度值。
当第一灰度值为x,第二灰度值为y时,按照公式(1)计算第一灰度值和第二灰度值的均值和差值:
其中,l表示第一灰度值和第二灰度值的均值,h表示第一灰度值和第二灰度值的差值,floor为向下取整函数,比如:Z=floor(z),当z为3.2时,Z等于3。
S2,将差值乘以2,加上第一二进制比特流的数据S
j,得到目标差值。
目标差值的计算请参照公式(2):
h′=h×2+S
j 公式(2)
其中,h表示差值,h′表示目标差值。
S3,根据均值和目标差值计算第k+j-1组像素点对的第一目标灰度值和第二目标灰度值,得到第k+j-1组目标像素点对。
将S2中计算得到的目标差值h′代入公式(1),均值l保持不变,根据公式(1)中的两个等式得到二元一次方程组,通过解二元一次方程组,得到x′和y′,x′为第一目标灰度值,y′为第二目标灰度值,目标像素点对为(x′,y′)。
在可选的实施例中,对于每组目标像素点对的计算都是根据图5所示的步骤。
在可选的实施例中,可以按照串行执行的顺序依次计算各组目标像素点对,也可以按照并行执行的顺序同时计算各组目标像素点对。
如图6所示,当第i个载体为PDF文档时,将第i个子水印嵌入图像可以包括如下步骤:
步骤304e,读取PDF文档。
读取PDF文档是将PDF文档读入内存流中,能够读取到PDF文档的各个组成部分。
PDF文档由四部分组成:文件头、文件体、交叉引用表、文件尾。
文件头用于指明该PDF文件所遵从PDF规范的版本号,出现在PDF文件的第一行。
文件体由一系列的PDF间接对象组成,这些间接对象构成PDF文档的具体内容,包括字体、页面、图像等。
交叉引用表是为了对间接对象进行随机存取而设立的间接对象地址索引表。
文件尾用于声明交叉引用表的地址,指明文件体的根对象。
通常一个PDF文档由一个文件头、一个文件体、一个交叉引用表和一个文件尾构成。
步骤304f,查找PDF文档的交叉引用表,从交叉引用表中查找到最后一个交叉引用节。
可选地,PDF文档被修改时采用的是增量的方式。PDF文档在生成时,具有一套文件头+文件体+交叉引用表+文件尾,若PDF文档被修改,则在第一套文件尾下面会增加一套文件体+交叉引用表+文件尾,若PDF文档再次被修改,则继续在第二个文件尾下面增加一套文件体+交叉引用表+文件尾,依次类推。由此可知,PDF文档的最后一套文件体+交叉引用表+文件尾对应的是最后一次修改后得到的PDF文档内容。
从交叉引用表中查找最后一个交叉引用节,即查找最后一次修改后得到的PDF文档,最后一个交叉引用节即PDF文档的最后一套文件体+交叉引用表+文件尾中的交叉引用表。也即,交叉引用节包括一套文件头+文件体+交叉引用表+文件尾。
步骤304g,将第i个子水印依次嵌入最后一个交叉引用节中的空白符,每个空白符嵌入第i个子水印中的一位数据。
交叉引用表由若干条交叉引用条目组成,每条交叉引用条目具备固定格式:nnnnnnnnnn ggggg n,由三部分组成:偏移地址(nnnnnnnnnn)、代号(ggggg)、是否使用的标记(n,其中,n表示在使用,f表示空闲),偏移地址和代号之间有一个空白符,代号和是否使用的标记之间有一个空白符。空白符的特点是在交叉引用条目的空白符上写任何信息都不会影响PDF文档的显示。
在可选的实施例中,拆分得到的字符串格式的子水印可以直接将每一位字符嵌入空白符位置,比如子水印为gj65y6,从最后一个交叉引用节中的第一个交叉引用条目中的第一个空白符开始,依次将g写入第一个空白符,将j写入第二个空白符,将6写入第三个空白符,将5写入第四个空白符,将y写入第五个空白符,将6写入第六个空白符。
可选的,将第i个子水印依次嵌入最后一个交叉引用节中的空白符,包括如下步骤:
S4,将第i个子水印转换为第二二进制比特流。
S5,将第二二进制比特流依次嵌入最后一个交叉引用节中的空白符,每个 空白符嵌入第二二进制比特流中的一位数据。
作为步骤304g的另一种可能的实现方式,将第i个子水印先进行二进制转换,得到第二二进制比特流,再将第二二进制比特流中的每一位数据依次嵌入空白符位置。
步骤305,将N个目标载体合成目标文件。
将各个子水印分别嵌入对应的载体中后,按照组合文件的生成方式将各个目标载体合成目标文件。
目标文件是指携带有数字水印的组合文件。
步骤306,将数字水印的相关信息进行存储。
数字水印的相关信息至少包括:数字水印与组合文件的对应关系、数字水印的生成规则、数字水印的拆分规则、数字水印的嵌入规则。
可选地,以订单文件为例,存储数字水印与组合文件的对应关系,是指至少将订单号与数字水印对应存储。
存储数字水印的生成规则,对应上述MD5算法,是指至少将用于生成数字水印的随机数或GUID进行存储。
存储数字水印的拆分规则,是指至少将拆分得到的子水印的个数、每一位子水印的位数、子水印在数字水印中对应的先后顺序进行存储。
存储数字水印的嵌入规则,对应上述步骤304c,是指至少将嵌入位置k进行存储。可选的,将子水印进行二进制转换后,对转换得到的二进制比特流的位数进行存储。
可选地,当组合文件为订单文件,订单文件包含源文件和签名图像时,本实施例提供的数字水印嵌入算法还可表示为图7所示的流程图。如图7所示,首先执行步骤310,获取“订单号+随机数”,将“订单号+随机数”通过MD5算法生成密文作为数字水印;然后执行步骤320,将数字水印拆分的第一部分作为第一水印;继续执行步骤330,将第一水印嵌入订单的源文件;作为步骤310后面的另一个分支,执行步骤340,将数字水印拆分的第二部分作为第二水印;继续执行步骤350,将第二水印嵌入签名图像;最后根据步骤330和步骤350,执行步骤360,生成嵌入数字水印的订单文件。
需要说明的是,本实施例中提供了将数字水印嵌入图像和PDF文档的算法,对于其他格式的载体,可以根据载体的格式,具体分析出适合的水印嵌入算法,本实施例就不在赘述。
综上所述,本申请实施例提供的数字水印嵌入方法,通过根据组合文件的载体数,将数字水印拆分为与载体数相等的若干个子水印,然后将第i个子水印嵌入组合文件的第i个载体中,得到第i个目标载体,在子水印全部嵌入完毕后,将各个目标载体合成目标文件;对于包含至少两个载体的组合文件,在每个载体上分别嵌入数字水印的一部分,使得组合文件的各个载体均受到保护,由于只需要生成一个数字水印,各个载体中嵌入的子水印是关联的,从而对组合文件的各个载体均能进行保护,并且保证了组合文件的完整性,减少了数字水印嵌入过程中的计算量和交互操作。
通过步骤304a至步骤304d中将子水印嵌入图像的方法,可以将二进制格式的子水印嵌入图像中的部分像素点,改变部分像素点的灰度值,将这种方法应用在签名图像中,可以有效避免正确的签名图像被窃取的问题。
通过步骤304e至步骤304g中将子水印嵌入PDF文档的方法,利用了PDF文档的交叉引用表中空白符的特点,可以将字符串格式或二进制格式的子水印嵌入到交叉引用表的空白符中,但不影响PDF文档的显示,保持了PDF文档中的内容的正确性。
通过步骤306将数字水印的相关信息进行存储,可以保存数字水印与组合文件的对应关系,使得在对数字水印进行验证时,能够根据组合文件查找到正确的数字水印;另外,通过存储数字水印的的生成规则、拆分规则、嵌入规则,使得在对数字水印进行验证时,能够将嵌入在各个载体中的子水印恢复为完整的数字水印,然后与正确的数字水印进行比对。
图8是本申请一个实施例提供的数字水印提取方法的方法流程图,该数字水印提取方法以应用在图1所示的业务服务器130中进行举例说明,如图8所示,该数字水印提取方法可以包括:
步骤401,在获取到目标文件后,从目标文件包括的各个载体中分别提取出对应的子水印。
网站服务器120调用文件服务器150获取目标文件,将目标文件发送给业务服务器130,业务服务器130从而能够获取到目标文件。
目标文件是指携带有数字水印的组合文件,目标文件至少包括两个载体。
子水印是对应的载体中嵌入的隐式标识。
步骤402,将提取到的各个子水印合并成数字水印。
数字水印是目标文件中嵌入的隐式标识,每个子水印对应数字水印的部分内容。
由于目标文件包含多个载体,每个载体中均嵌入子水印,因此需要将各个载体中的子水印提取出来,才能得到嵌入目标文件中的完整的数字水印。
步骤403,对数字水印进行验证。
业务服务器130将提取到的数字水印与数据库服务器140中存储的与目标文件对应的正确的数字水印进行比对,确定出提取的数字水印是否正确,从而判断出目标文件是否被篡改。
下面通过图9所示的数字水印提取的示意图对图8所涉及的实施例进行说明。如图9所示,目标文件410包括第一个载体411、第二个载体412、第三个载体413,第一个载体411中提取到第一个子水印421,第二个载体412中提取到第二个子水印422,第三个载体413中提取到第三个子水印423,第一个子水印421、第二个子水印422、第三个子水印423经过拼接得到数字水印420。
综上所述,本申请实施例提供的数字水印提取方法,通过从组合文件的各个载体中分别提取出对应的子水印,然后将子水印合并成数字水印进行验证,可以检测出组合文件是否被篡改,或者可以检测出组合文件的一部分是否被篡改;解决了现有技术中需要对各个载体中的数字水印分别进行验证,不能保证组合文件的完整性的问题;由于各个子水印之间是关联的,只需要对最后组合得到的数字水印进行验证,就能快速确定出组合文件或组合文件的一部分是否被篡改,从而保证了组合文件的完整性,并且减少了对组合文件中的数字水印进行验证时的计算量和交互操作。
图10是本申请另一个实施例提供的数字水印提取方法的方法流程图,该数字水印提取方法以应用在图1所示的业务服务器130中进行举例说明,如图10所示,该数字水印提取方法可以包括:
步骤501,在获取到目标文件后,根据第i个载体的格式,确定与第i个载体的格式对应的水印嵌入算法的逆算法。
目标文件包括N个载体,N为正整数,N>1,i为正整数,1≤i≤N。
网站服务器120调用文件服务器150获取目标文件,将目标文件发送给业务服务器130,业务服务器130从而能够获取到目标文件。
由于载体的类型不同,即载体的格式不同,不同格式的载体可以对应不同的水印嵌入算法,因此从不同格式的载体中提取水印时,需要根据载体的格式确定对应的水印嵌入算法的逆算法。可选地,任意两个不同格式的载体都可以对应不同的水印嵌入算法或逆算法;可选地,存在至少两个不同格式的载体都可以对应不同的水印嵌入算法或逆算法。
步骤502,按照与第i个载体的格式对应的水印嵌入算法的逆算法,从第i个载体中提取出第i个子水印。
当第i个载体为图像时,请参见图11所示的水印提取算法;当第i个载体为PDF文档时,请参见图12所示的水印提取算法。
如图11所示,当第i个载体为图像时,从图像中提取出第i个子水印可以包括如下步骤:
502a,按照预定划分顺序,将目标文件中的目标图像依次划分为各组像素点对,每组像素点对包含相邻的两个像素点的灰度值。
可选的,预定划分顺序为针对相同的像素行从左往右,针对不同的像素行从上往下的顺序;或者,预定划分顺序为针对相同的像素列从上往下,针对不同的像素列从左往右的顺序。除了以上两种划分顺序,在实际实现时,预定划分顺序可以依据需求由技术人员进行确定。
需要说明的是,在数字水印嵌入过程中的预定划分顺序与数字水印提取过程中的预定划分顺序相同。
502b,获取第i个子水印的嵌入位置k和第一二进制比特流的位数n。
第一二进制比特流是根据第i个子水印转换得到的,嵌入位置k是随机确定的,k为正整数,n为正整数。
由于数据库服务器140中存储了数字水印的相关信息,因此业务服务器130可以从数据库服务器150中获取数字水印的相关信息,其中包括第i个子水印的嵌入位置k和第一二进制比特流的位数n。
502c,根据嵌入位置k和第一二进制比特流的位数n,将第k组像素点对至第k+n-1组像素点对分别确定为第1组目标像素点对至第n组目标像素点对。
由于划分像素点对的预定划分顺序相同,获取到嵌入位置k后,业务服务器130根据嵌入位置k可以找到对应的第k组像素点对,然后根据第一二进制比特流的位数n,能够找到嵌入有第i个子水印的各组目标像素点对。
502d,根据第j组目标像素点对,确定对应的数据S
j。
数据S
j是第一二进制比特流中的第j位数据,j为正整数,1≤j≤n。
在嵌入过程中,第一二进制比特流的每一位数据分别嵌入到一组像素点对中,因此,从一组目标像素点对中业务服务器130能够提取到第一二进制比特流的一位数据。
可选的,根据第j组目标像素点对,确定对应的数据Sj,可以包括如下步骤:
S6,计算第j组目标像素点对的第一目标灰度值和第二目标灰度值的差值。
假设确定的第j组目标像素点对中的第一目标灰度值为x,第二目标灰度值为y,第一目标灰度值和第二目标灰度值的差值h=x-y。
S7,将差值的二进制表示的最低一位数据确定为对应的数据S
j。
将差值h转换为二进制表示,若最后一位数据为0,则确定出的数据S
j=0,若最后一位数据为1,则确定出的数据S
j=1。
可选的,由于在嵌入过程中,目标差值是通过乘以2再加上S
j,因此,若差值h为奇数,则表明数据S
j=1,若差值为偶数,则表明数据S
j=0。
可选的,若需要将目标图像恢复成嵌入数字水印之前的图像,根据公式(1),先计算x和y的均值l,然后将差值h除以2,并向下取整,得到差值h′,将差值h′和均值l代入公式(1)解二元一次方程组,得到第一灰度值x′和第二灰度值y′,(x′,y′)即为第j像素点对在嵌入数字水印之前的灰度值。
502e,将确定出的各个数据S
j按照顺序组成第一二进制比特流。
按照提取到的各个数据S
j对应的像素点对的顺序,将各个数据S
j拼成一个由0和1组成的数字序列,这个数字序列为第一二进制比特流。
502f,将第一二进制比特流转换得到第i个子水印。
由于第一二进制比特流是第i个子水印经过二进制转换得到的,因此步骤502f是一个逆运算的过程。
如图12所示,当第i个载体为PDF文档时,从图像中提取出第i个子水印可以包括如下步骤:
步骤502g,读取目标文件的目标PDF文档。
读取目标PDF文档是将目标PDF文档读入内存流中,能够读取到目标PDF文档的各个组成部分。
步骤502h,查找目标PDF文档的交叉引用表,从交叉引用表中查找最后一个交叉引用节。
最后一个交叉引用节中对应的是PDF文档最后一次修改的内容。
在一种可能的实现中,若PDF文档在子水印嵌入后被修改,且最后一个交叉引用节中的空白符位置没有被替换,则快速确定出PDF文档被篡改过。
步骤502i,获取第i个子水印的位数n,n为正整数。
业务服务器130从数据库服务器140中存储的数字水印的相关信息中能够获取到第i个子水印的位数n。
可选的,若第i个子水印是在转换为第二二进制比特流之后嵌入的,则获取第二二进制比特流的二位数n。
步骤502j,从最后一个交叉引用节中的第1个空白符位置至第n个空白符位置中,依次读取与各个空白符位置对应的数据。
可选的,若子水印是从第1个空白符位置开始写入,则业务服务器130在提取时直接从第1个空白符位置读取。
可选的,若子水印是从指定位置开始写入的,则业务服务器130从数据库服务器140获取指定位置,从指定位置开始读取。
步骤502k,将与各个空白符位置对应的数据组合成第i个子水印。
业务服务器130按照各个数据提取的先后顺序,或者按照各个数据对应的空白符位置的先后顺序,将提取到的数据合成第i个子水印。
可选的,若第i个子水印是在转换为第二二进制比特流之后嵌入的,则将与各个空白符位置对应的数据组合成第i个子水印包括如下步骤:
S8,将与各个空白符位置对应的数据组合成第二二进制比特流。
在获取到第二二进制比特流的位数n后,业务服务器130一次从对应的空白符位置获取各个数据,组成第二二进制比特流。
S9,将第二二进制比特流转换得到第i个子水印。
由于第二二进制比特流是第i个子水印经过二进制转换得到的,在得到第二二进制比特流之后需要进行逆运算。
步骤503,将提取到的各个子水印合并成数字水印。
业务服务器130根据数据库服务器140中存储的数字水印的相关信息,将从各个载体中提取的子水印按照预定顺序组合成完整的数字水印。
步骤504,根据存储的数字水印的相关信息对提取的数字水印进行验证。
数字水印的相关信息至少包括数字水印与目标文件的对应关系、数字水印的生成规则、数字水印的拆分规则、数字水印的嵌入规则。
可选的,在对提取的数字水印进行验证时,有以下两种方式:
s1,根据存储的数字水印与目标文件的对应关系,查找与获取的目标文件对应的存储的数字水印,验证存储的数字水印与提取的数字水印是否相同。
以订单文件为例,在数字水印嵌入过程中,将数字水印与订单号对应存储,则业务服务器130在对数字水印进行验证时,根据订单号到数据库服务器140中查找对应的数字水印,然后比较提取的数字水印与存储的数字水印是否相同。
s2,获取存储的数字水印的生成规则,根据获取的目标文件生成对应的数字水印,验证生成的数字水印与提取的数字水印是否相同。
对于MD5算法,仍以订单文件为例,业务服务器130根据订单文件的订单号以及存储的随机数或GUID经过MD5算法生成一段字符串,将这段字符串作为生成的数字水印,与提取到的数字水印进行比对,确认是否相同。
当提取的数字水印与存储的数字水印相同时,或当提取的数字水印与生成的数字水印相同时,表明目标文件没有被篡改过。
当提取的数字水印与存储的数字水印不同时,或当提取的数字水印与生成的数字水印不同时,表明目标文件被篡改过。
当目标文件为订单文件,订单文件包含源文件和签名图像时,本实施例提供的数字水印提取算法还可表示为图13所示的流程图。如图13所示,首先执行步骤510,读取订单文件;然后执行步骤520,从订单的源文件中提取出第一水印,同时执行步骤530,从签名图像中提取出第二水印;继续执行步骤540,将第一水印和第二水印拼接成数字水印;最后执行步骤550,将拼接得到的数字水印与数据库中存储的数字水印比对,判断订单文件是否被篡改。
综上所述,本申请实施例提供的数字水印提取方法,通过从组合文件的各个载体中分别提取出对应的子水印,然后将子水印合并成数字水印进行验证,可以检测出组合文件是否被篡改,或者可以检测出组合文件的一部分是否被篡改;解决了现有技术中需要对各个载体中的数字水印分别进行验证,不能保证组合文件的完整性的问题;由于各个子水印之间是关联的,只需要对最后组合得到的数字水印进行验证,就能快速确定出组合文件或组合文件的一部分是否被篡改,从而保证了组合文件的完整性,并且减少了对组合文件中的数字水印进行验证时的计算量和交互操作。
通过步骤502a至步骤502f中从图像中提取子水印的方法,可以将嵌入在 图像中的数字水印的一部分提取出来,并且还可以根据水印嵌入算法的逆算法将目标图像恢复为嵌入子水印之前的图像,既保护了图像在文件的传递过程中不被窃取,同时还可以将目标图像恢复为原来的图像,避免了图像失真。
通过步骤502g至步骤502k中从PDF文档中提取子水印的方法,可以将嵌入在PDF中的数字水印的一部分提取出来。另外,由于子水印嵌入在PDF文档的交叉引用表的最后一个交叉引用节中,当PDF文档被修改过,则最后一个交叉引用节中提取不到子水印,从而快速确定该PDF文档被篡改过。
通过步骤504中对提取到的数字水印进行验证,可以确定出提取到的数字水印与存储的数字水印是否相同,从而确定出目标文件是否被篡改过,保证了目标文件的有效性,另外,通过根据存储的数字水印的生成规则,根据目标文件中不易被更改的标识信息生成数字水印,然后将提取的数字水印与生成的数字水印进行比对,也能确定出目标文件是否被篡改过。
结合上述实施例,以订单文件为例,用于对订单文件的进行处理的系统如图14所示,图14是本申请一个实施例提供的用于处理订单文件的系统结构示意图。如图14所示,在数字水印嵌入过程中,应用程序10将请求发送给数字水印生成模块20,数字水印生成模块20生成数字水印之后,将数字水印发送给数字水印嵌入模块30,数字水印嵌入模块30包括源文件水印嵌入模块31和签名图像水印嵌入模块32,数字水印嵌入模块30将对数据库的操作请求发送到数据库请求队列40,数据库处理模块50为数据库请求队列40中的请求创建对应的任务51,任务51是对数据库60进行写操作;在数字水印提取过程中,应用程序10将请求发送给数字水印提取模块70,数字水印提取模块70包括源文件水印提取模块71和签名图像水印提取模块72,数字水印提取模块70在提取到数字水印之后,将提取到的数字水印发送给数字水印验证模块80,数字水印验证模块80将对数据库的操作请求发送到数据库请求队列40,数据库处理模块50为数据库请求队列40中的请求创建对应的任务51,任务51是对数据库60进行读操作。
图15是本申请一个实施例提供的数字水印嵌入装置的结构方框图,该数字水印嵌入装置600以应用在图1所示的业务服务器130中进行举例说明。如图15所示,该数字水印嵌入装置600可以包括:获取模块610、拆分模块620、 嵌入模块630和合成模块640。
获取模块610,用于实现上述步骤201、步骤301以及其他任意隐含或公开的与获取相关的功能。
拆分模块620,用于实现上述步骤202、步骤302以及其他任意隐含或公开的与拆分相关的功能。
嵌入模块630,用于实现上述步骤203以及其他任意隐含或公开的与嵌入相关的功能。
合成模块640,用于实现上述步骤204、步骤305以及其他任意隐含或公开的与合成相关的功能。
可选的,嵌入模块630包括:确定单元和嵌入单元。
确定单元,用于实现上述步骤303以及其他任意隐含或公开的与确定相关的功能。
嵌入单元,用于实现上述步骤304、步骤304a、步骤304b、步骤304c、步骤304d、步骤304e、步骤304f、步骤304g、步骤S1、步骤S2、步骤S3、步骤S4、步骤S5以及其他任意隐含或公开的与嵌入相关的功能。
可选的,该数字水印嵌入装置600还包括:存储模块。
存储模块,用于实现上述步骤306以及其他任意隐含或公开的与存储相关的功能。
综上所述,本申请实施例提供的数字水印嵌入装置,通过根据组合文件的载体数,将数字水印拆分为与载体数相等的若干个子水印,然后将第i个子水印嵌入组合文件的第i个载体中,得到第i个目标载体,在子水印全部嵌入完毕后,将各个目标载体合成目标文件;对于包含至少两个载体的组合文件,在每个载体上分别嵌入数字水印的一部分,使得组合文件的各个载体均受到保护,由于只需要生成一个数字水印,各个载体中嵌入的子水印是关联的,从而对组合文件的各个载体均能进行保护,并且保证了组合文件的完整性,减少了数字水印嵌入过程中的计算量和交互操作。
需要说明的是:上述实施例中提供的数字水印嵌入装置在嵌入数字水印时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将业务服务器的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供 的数字水印嵌入装置与数字水印嵌入方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。
图16是本申请一个实施例提供的数字水印提取装置的结构方框图,该数字水印提取装置700以应用在图1所示的业务服务器130中进行举例说明。如图16所示,该数字水印提取装置700可以包括:提取模块710、合并模块720和验证模块730。
提取模块710,用于实现上述步骤401以及其他任意隐含或公开的与提取相关的功能。
合并模块720,用于实现上述步骤402、步骤503以及其他任意隐含或公开的与合并相关的功能。
验证模块730,用于实现上述步骤403、步骤504以及其他任意隐含或公开的与验证相关的功能。
可选的,提取模块710,包括:确定单元和提取单元。
确定单元,用于实现上述步骤501以及其他任意隐含或公开的与确定相关的功能。
提取单元,用于实现上述步骤502、步骤502a、步骤502b、步骤502c、步骤502d、步骤502e、步骤502f、步骤502g、步骤502h、步骤502i、步骤502j、步骤502k、步骤S6、步骤S7、步骤S8、步骤S9以及其他任意隐含或公开的与提取相关的功能。
可选的,验证模块730,包括:第一验证单元和第二验证单元。
第一验证单元,用于实现上述步骤s1以及其他任意隐含或公开的与验证相关的功能。
第二验证单元,用于实现上述步骤s2以及其他任意隐含或公开的与验证相关的功能。
综上所述,本申请实施例提供的数字水印提取装置,通过从组合文件的各个载体中分别提取出对应的子水印,然后将子水印合并成数字水印进行验证,可以检测出组合文件是否被篡改,或者可以检测出组合文件的一部分是否被篡改;解决了现有技术中需要对各个载体中的数字水印分别进行验证,不能保证组合文件的完整性的问题;由于各个子水印之间是关联的,只需要对最后组合得到的数字水印进行验证,就能快速确定出组合文件或组合文件的一部分是否 被篡改,从而保证了组合文件的完整性,并且减少了对组合文件中的数字水印进行验证时的计算量和交互操作。
需要说明的是:上述实施例中提供的数字水印提取装置在提取数字水印时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将业务服务器的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的数字水印提取装置与数字水印提取方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。
图17是本申请一个实施例提供的数字水印系统的结构方框图,如图17所示,数字水印系统90包括数字水印嵌入装置600和数字水印提取装置700。
数字水印嵌入装置600包括如图15所示的结构,数字水印提取装置700包括如图16所示的结构。
请参见图18所示,其示出了本申请部分实施例中提供的终端的结构方框图。该终端800用于实施上述实施例提供的数字水印嵌入方法和数字水印提取方法。本申请中的终端800可以包括一个或多个如下组成部分:用于执行计算机程序指令以完成各种流程和方法的处理器,用于信息和存储程序指令随机接入存储器(英文:random access memory,简称:RAM)和只读存储器(英文:read-only memory,简称:ROM),用于存储数据和信息的存储器,I/O设备,界面,天线等。具体来讲:
终端800可以包括射频(英文:Radio Frequency,简称:RF)电路810、存储器820、输入单元830、显示单元840、传感器850、音频电路860、无线保真(英文:wireless fidelity,简称:WiFi)模块870、处理器880、电源882、摄像头890等部件。本领域技术人员可以理解,图18中示出的终端结构并不构成对终端的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
下面结合图18对终端800的各个构成部件进行具体的介绍:
RF电路810可用于收发信息或通话过程中,信号的接收和发送,特别地,将基站的下行信息接收后,给处理器880处理;另外,将设计上行的数据发送 给基站。通常,RF电路包括但不限于天线、至少一个放大器、收发信机、耦合器、低噪声放大器(英文:Low Noise Amplifier,简称:LNA)、双工器等。此外,RF电路810还可以通过无线通信与网络和其他设备通信。所述无线通信可以使用任一通信标准或协议,包括但不限于全球移动通讯系统(英文:Global System of Mobile communication,简称:GSM)、通用分组无线服务(英文:General Packet Radio Service,简称:GPRS)、码分多址(英文:Code Division Multiple Access,简称:CDMA)、宽带码分多址(英文:Wideband Code Division Multiple Access,简称:WCDMA)、长期演进(英文:Long Term Evolution,简称:LTE)、电子邮件、短消息服务(英文:Short Messaging Service,简称:SMS)等。
存储器820可用于存储软件程序以及模块,处理器880通过运行存储在存储器820的软件程序以及模块,从而执行终端800的各种功能应用以及数据处理。存储器820可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序(比如声音播放功能、图像播放功能等)等;存储数据区可存储根据终端800的使用所创建的数据(比如音频数据、电话本等)等。此外,存储器820可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。
输入单元830可用于接收输入的数字或字符信息,以及产生与终端800的用户设置以及功能控制有关的键信号输入。具体地,输入单元830可包括触控面板831以及其他输入设备832。触控面板831,也称为触摸屏,可收集用户在其上或附近的触摸操作(比如用户使用手指、触笔等任何适合的物体或附件在触控面板831上或在触控面板831附近的操作),并根据预先设定的程式驱动相应的连接装置。可选的,触控面板831可包括触摸检测装置和触摸控制器两个部分。其中,触摸检测装置检测用户的触摸方位,并检测触摸操作带来的信号,将信号传送给触摸控制器;触摸控制器从触摸检测装置上接收触摸信息,并将它转换成触点坐标,再送给处理器880,并能接收处理器880发来的命令并加以执行。此外,可以采用电阻式、电容式、红外线以及表面声波等多种类型实现触控面板831。除了触控面板831,输入单元830还可以包括其他输入设备832。具体地,其他输入设备832可以包括但不限于物理键盘、功能键(比如音量控制按键、开关按键等)、轨迹球、鼠标、操作杆等中的一种或多种。
显示单元840可用于显示由用户输入的信息或提供给用户的信息以及终端800的各种菜单。显示单元840可包括显示面板841,可选的,可以采用液晶显示器(英文:Liquid Crystal Display,简称:LCD)、有机发光二极管(英文:Organic Light-Emitting Diode,简称:OLED)等形式来配置显示面板841。进一步的,触控面板831可覆盖显示面板841,当触控面板831检测到在其上或附近的触摸操作后,传送给处理器880以确定触摸事件的类型,随后处理器880根据触摸事件的类型在显示面板841上提供相应的视觉输出。虽然在图18中,触控面板831与显示面板841是作为两个独立的部件来实现终端800的输入和输入功能,但是在某些实施例中,可以将触控面板831与显示面板841集成而实现终端800的输入和输出功能。
终端800还可包括至少一种传感器850,比如陀螺仪传感器、磁感应传感器、光传感器、运动传感器以及其他传感器。具体地,光传感器可包括环境光传感器及接近传感器,其中,环境光传感器可根据环境光线的明暗来调节显示面板841的亮度,接近传感器可在终端800移动到耳边时,关闭显示面板841和/或背光。作为运动传感器的一种,加速度传感器可检测各个方向上(一般为三轴)加速度的大小,静止时可检测出重力的大小及方向,可用于识别电子设备姿态的应用(比如横竖屏切换、相关游戏、磁力计姿态校准)、振动识别相关功能(比如计步器、敲击)等;至于终端800还可配置的气压计、湿度计、温度计、红外线传感器等其他传感器,在此不再赘述。
音频电路860、扬声器861,传声器862可提供用户与终端800之间的音频接口。音频电路860可将接收到的音频数据转换后的电信号,传输到扬声器861,由扬声器861转换为声音信号输出;另一方面,传声器862将收集的声音信号转换为电信号,由音频电路860接收后转换为音频数据,再将音频数据输出处理器880处理后,经RF电路810以发送给比如另一终端,或者将音频数据输出至存储器820以便进一步处理。
WiFi属于短距离无线传输技术,终端800通过WiFi模块870可以帮助用户收发电子邮件、浏览网页和访问流式媒体等,它为用户提供了无线的宽带互联网访问。虽然图18示出了WiFi模块870,但是可以理解的是,其并不属于终端800的必须构成,完全可以根据需要在不改变公开的本质的范围内而省略。
处理器880是终端800的控制中心,利用各种接口和线路连接整个电子设备的各个部分,通过运行或执行存储在存储器820内的软件程序和/或模块,以 及调用存储在存储器820内的数据,执行终端800的各种功能和处理数据,从而对电子设备进行整体监控。可选的,处理器880可包括一个或多个处理单元;优选的,处理器880可集成应用处理器和调制解调处理器,其中,应用处理器主要处理操作系统、用户界面和应用程序等,调制解调处理器主要处理无线通信。可以理解的是,上述调制解调处理器也可以不集成到处理器880中。
终端800还包括给各个部件供电的电源882(比如电池),优选的,电源可以通过电源管理系统与处理器880逻辑相连,从而通过电源管理系统实现管理充电、放电、以及功耗管理等功能。
摄像头890一般由镜头、图像传感器、接口、数字信号处理器、CPU、显示屏幕等组成。其中,镜头固定在图像传感器的上方,可以通过手动调节镜头来改变聚焦;图像传感器相当于传统相机的“胶卷”,是摄像头采集图像的心脏;接口用于把摄像头利用排线、板对板连接器、弹簧式连接方式与电子设备主板连接,将采集的图像发送给所述存储器820;数字信号处理器通过数学运算对采集的图像进行处理,将采集的模拟图像转换为数字图像并通过接口发送给存储器820。
尽管未示出,终端800还可以包括蓝牙模块等,在此不再赘述。
图19是本申请一个实施例提供的服务器的结构示意图。该服务器可以是图1所示的网站服务器120、业务服务器130、数据库服务器140、文件服务器150。具体来讲:服务器900包括中央处理单元(英文:Central Processing Unit,简称:CPU)901、包括随机存取存储器(RAM)902和只读存储器(ROM)903的系统存储器904,以及连接系统存储器904和中央处理单元901的系统总线905。所述服务器900还包括帮助计算机内的各个器件之间传输信息的基本输入/输出系统(I/O系统)906,和用于存储操作系统913、应用程序914和其他程序模块915的大容量存储设备907。
所述基本输入/输出系统906包括有用于显示信息的显示器908和用于用户输入信息的诸如鼠标、键盘之类的输入设备909。其中所述显示器908和输入设备909都通过连接到系统总线905的输入/输出控制器910连接到中央处理单元901。所述基本输入/输出系统906还可以包括输入输出控制器910以用于接收和处理来自键盘、鼠标、或电子触控笔等多个其他设备的输入。类似地,输入/输出控制器910还提供输出到显示屏、打印机或其他类型的输出设备。
所述大容量存储设备907通过连接到系统总线905的大容量存储控制器(未示出)连接到中央处理单元901。所述大容量存储设备907及其相关联的计算机可读介质为服务器900提供非易失性存储。也就是说,所述大容量存储设备907可以包括诸如硬盘或者只读光盘(英文:Compact Disc Read-Only Memory,简称:CD-ROM)驱动器之类的计算机可读介质(未示出)。
不失一般性,所述计算机可读介质可以包括计算机存储介质和通信介质。计算机存储介质包括以用于存储诸如计算机可读指令、数据结构、程序模块或其他数据等信息的任何方法或技术实现的易失性和非易失性、可移动和不可移动介质。计算机存储介质包括RAM、ROM、可擦除可编程只读存储器(英文:erasable programmable read-only memory,简称:EPROM)、电可擦除可编程只读存储器(英文:electrically erasable programmable read-only memory,简称:EEPROM)、闪存或其他固态存储其技术,CD-ROM、数字通用光盘(英文:Digital Versatile Disc,简称:DVD)或其他光学存储、磁带盒、磁带、磁盘存储或其他磁性存储设备。当然,本领域技术人员可知所述计算机存储介质不局限于上述几种。上述的系统存储器904和大容量存储设备907可以统称为存储器。
根据本申请的各种实施例,所述服务器900还可以通过诸如因特网等网络连接到网络上的远程计算机运行。也即服务器900可以通过连接在所述系统总线905上的网络接口单元911连接到网络912,或者说,也可以使用网络接口单元911来连接到其他类型的网络或远程计算机系统(未示出)。
本申请实施例还提供了一种计算机可读存储介质,该计算机可读存储介质可以是上述实施例中的存储器中所包含的计算机可读存储介质;也可以是单独存在,未装配入终端中的计算机可读存储介质。该计算机可读存储介质存储有一个或者一个以上程序,该一个或者一个以上程序被一个或者一个以上的处理器用来执行上述数字水印嵌入方法和/或数字水印提取方法。
上述本申请实施例序号仅仅为了描述,不代表实施例的优劣。
本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
以上所述仅为本申请的较佳实施例,并不用以限制本申请,凡在本申请的 精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。
Claims (19)
- 一种数字水印嵌入方法,其特征在于,用于业务服务器中,所述方法包括:获取组合文件的数字水印,所述组合文件至少包括两个载体;根据所述组合文件的载体数N,将所述数字水印拆分为N个子水印,每个所述子水印对应所述数字水印的部分内容,N为正整数,N>1;将第i个所述子水印嵌入所述组合文件的第i个所述载体,得到第i个目标载体,i为正整数,1≤i≤N;将N个所述目标载体合成目标文件。
- 根据权利要求1所述的方法,其特征在于,所述将第i个所述子水印嵌入所述组合文件的第i个所述载体,包括:根据第i个所述载体的格式,确定与第i个所述载体的格式对应的水印嵌入算法;按照与第i个所述载体的格式对应的所述水印嵌入算法,将第i个所述子水印嵌入所述组合文件的第i个所述载体。
- 根据权利要求2所述的方法,其特征在于,第i个所述载体为图像;所述按照与所述第i个所述载体的格式对应的所述水印嵌入算法,将第i个所述子水印嵌入所述组合文件的第i个所述载体,包括:将第i个所述子水印转换为第一二进制比特流,所述第一二进制比特流的位数为n,n为正整数,所述第一二进制比特流中的第j位数据为数据S j,所述数据S j的取值为0或1,j为正整数,1≤j≤n;按照预定划分顺序,将所述图像中的像素点依次划分为各组像素点对,每组所述像素点对包含相邻的两个像素点的灰度值;随机确定出第i个所述子水印的嵌入位置k,k为正整数;以第k组所述像素点对为起点,将所述第一二进制比特流中的数据S j嵌入第k+j-1组所述像素点对。
- 根据权利要求3所述的方法,其特征在于,每组所述像素点对中的前一 个像素点的灰度值为第一灰度值,每组所述像素点对中的后一个像素点的灰度值为第二灰度值;所述以第k组所述像素点对为起点,将所述第一二进制比特流中的数据S j嵌入第k+j-1组所述像素点对,包括:计算第k+j-1组所述像素点对的第一灰度值和第二灰度值的均值和差值;将所述差值乘以2,加上所述第一二进制比特流的数据S j,得到目标差值;根据所述均值和所述目标差值计算第k+j-1组所述像素点对的第一目标灰度值和第二目标灰度值,得到第k+j-1组目标像素点对。
- 根据权利要求2所述的方法,其特征在于,第i个所述载体为PDF文档;所述按照与所述第i个所述载体的格式对应的所述水印嵌入算法,将第i个所述子水印嵌入所述组合文件的第i个所述载体,包括:读取所述PDF文档;查找所述PDF文档的交叉引用表,从所述交叉引用表中查找到最后一个交叉引用节;将第i个所述子水印依次嵌入最后一个所述交叉引用节中的空白符,每个所述空白符嵌入第i个所述子水印中的一位数据。
- 根据权利要求1至5任一所述的方法,其特征在于,所述将N个所述目标载体合成目标文件之后,还包括:将所述数字水印的相关信息进行存储,所述数字水印的相关信息包括所述数字水印与所述组合文件的对应关系、所述数字水印的生成规则、所述数字水印的拆分规则、所述数字水印的嵌入规则。
- 一种数字水印提取方法,其特征在于,用于业务服务器中,所述方法包括:在获取到目标文件后,从所述目标文件包括的各个载体中分别提取出对应的子水印;将提取到的各个所述子水印合并成数字水印;对所述数字水印进行验证;其中,所述目标文件至少包括两个载体,所述数字水印是所述目标文件中 嵌入的隐式标识,所述子水印是对应的载体中嵌入的隐式标识,每个所述子水印对应所述数字水印的部分内容。
- 根据权利要求7所述的方法,其特征在于,所述目标文件包括N个载体,N为正整数,N>1;所述从所述目标文件包括的各个载体中分别提取出对应的子水印,包括:根据第i个所述载体的格式,确定与第i个所述载体的格式对应的水印嵌入算法的逆算法;按照与第i个所述载体的格式对应的所述水印嵌入算法的逆算法,从第i个所述载体中提取出第i个子水印,i为正整数,1≤i≤N。
- 根据权利要求8所述的方法,其特征在于,第i个所述载体为图像;所述按照与第i个所述载体的格式对应的所述水印嵌入算法的逆算法,从第i个所述载体中提取出第i个子水印,包括:按照预定划分顺序,将所述目标文件中的目标图像依次划分为各组像素点对,每组所述像素点对包含相邻的两个像素点的灰度值;获取第i个子水印的嵌入位置k和第一二进制比特流的位数n,所述第一二进制比特流是根据第i个所述子水印转换得到的,所述嵌入位置k是随机确定的,k为正整数,n为正整数;根据所述嵌入位置k和所述第一二进制比特流的位数n,将第k组像素点对至第k+n-1组像素点对分别确定为第1组目标像素点对至第n组目标像素点对;根据第j组所述目标像素点对,确定对应的数据S j,所述数据S j是所述第一二进制比特流中的第j位数据,j为正整数,1≤j≤n;将确定出的各个数据S j按照顺序组成所述第一二进制比特流;将所述第一二进制比特流转换得到第i个所述子水印。
- 根据权利要求9所述的方法,其特征在于,每组所述目标像素点对中的前一个像素点的灰度值为第一目标灰度值,每组所述目标像素点对中的后一个像素点的灰度值为第二目标灰度值;所述根据第j组所述目标像素点对,确定对应的数据S j,包括:计算第j组所述目标像素点对的第一目标灰度值和第二目标灰度值的差值;将所述差值的二进制表示的最低一位数据确定为对应的所述数据S j。
- 根据权利要求8所述的方法,其特征在于,第i个所述载体为PDF文档;所述按照与第i个所述载体的格式对应的所述水印嵌入算法的逆算法,从第i个所述载体中提取出第i个子水印,包括:读取所述目标文件的目标PDF文档;查找所述目标PDF文档的交叉引用表,从所述交叉引用表中查找最后一个交叉引用节;获取第i个所述子水印的位数n,n为正整数;从最后一个所述交叉引用节中的第1个空白符位置至第n个空白符位置中,依次读取与各个所述空白符位置对应的数据;将与各个所述空白符位置对应的数据组合成第i个所述子水印。
- 根据权利要求7至11任一所述的方法,其特征在于,所述对所述数字水印进行验证,包括:根据存储的数字水印的相关信息对提取的所述数字水印进行验证,所述数字水印的相关信息包括所述数字水印与所述组合文件的对应关系、所述数字水印的生成规则、所述数字水印的拆分规则、所述数字水印的嵌入规则。
- 一种数字水印嵌入装置,其特征在于,所述装置包括:获取模块,用于获取组合文件的数字水印,所述组合文件至少包括两个载体;拆分模块,用于根据所述获取模块获取的所述组合文件的载体数N,将所述数字水印拆分为N个子水印,每个所述子水印对应所述数字水印的部分内容,N为正整数,N>1;嵌入模块,用于将所述拆分模块拆分的第i个所述子水印嵌入所述组合文件的第i个所述载体,得到第i个目标载体,i为正整数,1≤i≤N;合成模块,用于将N个所述目标载体合成目标文件。
- 一种数字水印提取装置,其特征在于,所述装置包括:提取模块,用于在获取到目标文件后,从所述目标文件包括的各个载体中分别提取出对应的子水印;合并模块,用于将所述提取模块提取到的各个所述子水印合并成数字水印;验证模块,用于对所述合并模块得到的所述数字水印进行验证;其中,所述目标文件至少包括两个载体,所述数字水印是所述目标文件中嵌入的隐式标识,所述子水印是对应的载体中嵌入的隐式标识,每个所述子水印对应所述数字水印的部分内容。
- 一种服务器,其特征在于,所述服务器包括处理器和存储器,所述系统存储器存储有一个或一个以上的程序,所述一个或一个以上的程序被一个或一个以上的处理器用来执行如权利要求1至6任一所述的数字水印嵌入方法。
- 一种服务器,其特征在于,所述服务器包括处理器和存储器,所述系统存储器存储有一个或者一个以上的程序,所述一个或一个以上的程序被一个或一个以上的处理器用来执行如权利要求7至12任一所述的数字水印提取方法。
- 一种计算机可读介质,其特征在于,所述计算机可读介质存储有一个或一个以上的程序,所述一个或一个以上的程序被一个或一个以上的处理器用来执行如权利要求1至6任一所述的数字水印嵌入方法。
- 一种计算机可读介质,其特征在于,所述计算机可读介质存储有一个或一个以上的程序,所述一个或一个以上的程序被一个或一个以上的处理器用来执行如权利要求7至12任一所述的数字水印提取方法。
- 一种数字水印系统,其特征在于,所述数字水印系统包括:数字水印嵌入装置和数字水印提取装置;所述数字水印嵌入装置包括如权利要求13所述的装置;和所述数字水印提取装置包括如权利要求14所述的装置;或,所述数字水印嵌入装置是如权利要求15所述的服务器;和所述数字水印提 取装置包括如权利要求16所述的服务器。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US16/377,565 US10977761B2 (en) | 2017-03-29 | 2019-04-08 | Digital watermark embedding method and extraction method, digital watermark embedding apparatus and extraction apparatus, and digital watermark system |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710196907.3A CN108665403B (zh) | 2017-03-29 | 2017-03-29 | 数字水印嵌入方法、提取方法、装置及数字水印系统 |
CN201710196907.3 | 2017-03-29 |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US16/377,565 Continuation US10977761B2 (en) | 2017-03-29 | 2019-04-08 | Digital watermark embedding method and extraction method, digital watermark embedding apparatus and extraction apparatus, and digital watermark system |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2018177201A1 true WO2018177201A1 (zh) | 2018-10-04 |
Family
ID=63675188
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/CN2018/080148 WO2018177201A1 (zh) | 2017-03-29 | 2018-03-23 | 数字水印嵌入方法、提取方法、装置及数字水印系统 |
Country Status (3)
Country | Link |
---|---|
US (1) | US10977761B2 (zh) |
CN (1) | CN108665403B (zh) |
WO (1) | WO2018177201A1 (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112927119A (zh) * | 2019-12-06 | 2021-06-08 | 富士施乐实业发展(中国)有限公司 | TrueType字库的防盗信息嵌入方法及使用方法 |
CN118053435A (zh) * | 2024-03-23 | 2024-05-17 | 北京富通亚讯网络信息技术有限公司 | 基于数字水印技术的音频防篡改方法、装置、设备和介质 |
Families Citing this family (30)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20210203994A1 (en) * | 2015-06-12 | 2021-07-01 | Shaoher Pan | Encoding data in a source image with watermark image codes |
CN108665403B (zh) | 2017-03-29 | 2022-06-24 | 腾讯科技(深圳)有限公司 | 数字水印嵌入方法、提取方法、装置及数字水印系统 |
CN109522684B (zh) * | 2018-11-27 | 2020-07-28 | 中国联合网络通信集团有限公司 | 数据处理方法、设备及存储介质 |
CN111247785B (zh) * | 2018-11-30 | 2022-04-29 | 深圳市大疆创新科技有限公司 | 一种拍摄图像处理方法及相关设备 |
CN109784006A (zh) * | 2019-01-04 | 2019-05-21 | 平安科技(深圳)有限公司 | 水印嵌入和提取方法及终端设备 |
CN111435384B (zh) * | 2019-01-14 | 2022-08-19 | 阿里巴巴集团控股有限公司 | 数据安全处理和数据溯源方法、装置及设备 |
CN109474418B (zh) * | 2019-01-22 | 2023-04-07 | 杭州网易智企科技有限公司 | 文档加密方法、文档解密方法、装置、介质和计算设备 |
CN112750065B (zh) * | 2019-10-31 | 2022-12-09 | 阿里巴巴(中国)网络技术有限公司 | 载体对象处理和水印嵌入方法、装置及电子设备 |
CN112948895A (zh) * | 2019-12-10 | 2021-06-11 | 航天信息股份有限公司 | 数据的水印嵌入方法、水印溯源方法及装置 |
WO2021169502A1 (en) * | 2020-02-27 | 2021-09-02 | Changsha Pixel Code Technology Co. Ltd | A pixel image as well as its processing method and application system |
CN111860367A (zh) * | 2020-07-24 | 2020-10-30 | 上海连尚网络科技有限公司 | 视频重复性识别方法、电子设备及计算机可读存储介质 |
CN111836054B (zh) * | 2020-07-24 | 2022-07-22 | 上海连尚网络科技有限公司 | 视频防盗版方法、电子设备及计算机可读存储介质 |
CN114067811A (zh) * | 2020-07-29 | 2022-02-18 | 北京破壁者科技有限公司 | 音频数据处理与水印提取的方法、装置和系统 |
CN111932432B (zh) * | 2020-10-14 | 2021-01-15 | 腾讯科技(深圳)有限公司 | 盲水印的植入方法、检测方法、装置、设备及存储介质 |
CN112581549B (zh) * | 2020-12-16 | 2023-08-01 | 合肥图溯信息技术有限公司 | 图片溯源方法、存储介质、电子设备和主机设备 |
CN113032742B (zh) * | 2021-01-26 | 2022-02-22 | 北京安华金和科技有限公司 | 数据脱敏方法和装置、存储介质及电子装置 |
CN113190806B (zh) * | 2021-04-25 | 2024-08-09 | 北京丁牛科技有限公司 | 数据处理方法 |
US12106334B2 (en) * | 2021-05-07 | 2024-10-01 | Tina Anne Sebastian | Artificial intelligence-based system and method for grading collectible trading cards |
CN113221194B (zh) * | 2021-06-07 | 2024-03-08 | 云尖(北京)软件有限公司 | 篡改网页混合检测技术 |
CN113434710A (zh) * | 2021-06-29 | 2021-09-24 | 平安普惠企业管理有限公司 | 文档检索方法、装置、服务器以及存储介质 |
CN113987550A (zh) * | 2021-11-15 | 2022-01-28 | 阿里巴巴(中国)有限公司 | 数据安全处理方法、电子设备及计算机存储介质 |
CN114186252A (zh) * | 2021-12-06 | 2022-03-15 | 上海观安信息技术股份有限公司 | 数据水印生成方法及装置、数据溯源方法及装置 |
CN114463157A (zh) * | 2022-03-15 | 2022-05-10 | 河海大学 | 一种用于pdf格式电子档案图像的数字水印信息嵌入及提取方法 |
CN114913050B (zh) * | 2022-05-30 | 2023-09-12 | 南京数睿数据科技有限公司 | 水印嵌入方法、装置、电子设备和计算机可读介质 |
CN115329293B (zh) * | 2022-10-11 | 2023-02-03 | 新泰市中医医院 | 一种智能中医康复管理系统的数据安全存储方法 |
CN115883923B (zh) * | 2023-02-21 | 2023-05-23 | 北京瑞博星航科技有限公司 | 基于时间贯序光谱指纹的终端播放状态监测系统和方法 |
CN117056877B (zh) * | 2023-07-18 | 2024-06-25 | 深圳有方信息技术有限公司 | 电子文档脱密后防篡改处理方法、终端设备及存储介质 |
CN117057969B (zh) * | 2023-08-28 | 2024-04-19 | 天津大学 | 跨模态图像-水印联合生成与检测装置及方法 |
CN117034220B (zh) * | 2023-10-10 | 2024-01-05 | 北京安华金和科技有限公司 | 一种数字水印处理方法和系统 |
CN118070252B (zh) * | 2024-04-17 | 2024-07-30 | 合肥高维数据技术有限公司 | Pdf内嵌字体水印嵌入和提取方法及系统 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1189042A (zh) * | 1996-11-05 | 1998-07-29 | 日本电气株式会社 | 数字水印 |
US20080080738A1 (en) * | 2006-09-28 | 2008-04-03 | Fujitsu Limited | Electronic Watermark Embedment Apparatus And Electronic Watermark Detection Apparatus |
CN101401429A (zh) * | 2006-03-07 | 2009-04-01 | 日本电信电话株式会社 | 电子水印嵌入方法、装置、程序以及电子水印检测方法、装置、程序 |
CN102340669A (zh) * | 2011-09-13 | 2012-02-01 | 海南大学 | 一种基于三维小波和余弦变换在视频中嵌入大水印的方法 |
CN103237271A (zh) * | 2013-04-02 | 2013-08-07 | 北京中视广信科技有限公司 | 大容量视频数字水印的嵌入和检测方法及其系统 |
Family Cites Families (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7913087B2 (en) * | 1996-07-02 | 2011-03-22 | Wistaria Trading, Inc. | Optimization methods for the insertion, protection, and detection of digital watermarks in digital data |
US7107451B2 (en) * | 1996-07-02 | 2006-09-12 | Wistaria Trading, Inc. | Optimization methods for the insertion, protection, and detection of digital watermarks in digital data |
JP3596590B2 (ja) * | 1998-11-18 | 2004-12-02 | ソニー株式会社 | 付随情報付加装置および方法、付随情報検出装置および方法 |
US6594373B1 (en) * | 2000-07-19 | 2003-07-15 | Digimarc Corporation | Multi-carrier watermarks using carrier signals modulated with auxiliary messages |
US6965683B2 (en) * | 2000-12-21 | 2005-11-15 | Digimarc Corporation | Routing networks for use with watermark systems |
US6891958B2 (en) * | 2001-02-27 | 2005-05-10 | Microsoft Corporation | Asymmetric spread-spectrum watermarking systems and methods of use |
CN100354890C (zh) * | 2003-01-23 | 2007-12-12 | 皇家飞利浦电子股份有限公司 | 嵌入多重水印 |
JP3944490B2 (ja) | 2004-02-17 | 2007-07-11 | 株式会社東芝 | 電子透かし埋込装置、電子透かし検出装置、電子透かし埋込方法、電子透かし検出方法、電子透かし埋込プログラムおよび電子透かし検出プログラム |
US20090070588A1 (en) * | 2006-04-25 | 2009-03-12 | Koninklijke Philips Electronics N.V. | Renewable watermark for theatrical content |
US8509474B1 (en) * | 2009-12-11 | 2013-08-13 | Digimarc Corporation | Digital watermarking methods, apparatus and systems |
US8611531B2 (en) * | 2010-04-23 | 2013-12-17 | The Directv Group, Inc. | Method and apparatus for remotely inserting watermark into encrypted compressed video bitstream |
CN102122385B (zh) * | 2011-02-28 | 2012-02-29 | 北京工业大学 | 一种能同时抵抗多种攻击的数字水印方法 |
CN102270336B (zh) * | 2011-07-06 | 2013-04-24 | 北京航空航天大学 | 一种基于多块依赖结构的安全脆弱水印方法 |
CN102402780A (zh) * | 2011-12-05 | 2012-04-04 | 昆明理工大学 | 一种bmp图像的数字水印处理的方法 |
CN102855425A (zh) * | 2012-08-13 | 2013-01-02 | 贵州大学 | 基于门限数字签章的电子证据保全方法 |
CN104850765A (zh) * | 2014-02-19 | 2015-08-19 | 中国移动通信集团福建有限公司 | 一种水印处理方法、装置及系统 |
CN108665403B (zh) | 2017-03-29 | 2022-06-24 | 腾讯科技(深圳)有限公司 | 数字水印嵌入方法、提取方法、装置及数字水印系统 |
-
2017
- 2017-03-29 CN CN201710196907.3A patent/CN108665403B/zh active Active
-
2018
- 2018-03-23 WO PCT/CN2018/080148 patent/WO2018177201A1/zh active Application Filing
-
2019
- 2019-04-08 US US16/377,565 patent/US10977761B2/en active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1189042A (zh) * | 1996-11-05 | 1998-07-29 | 日本电气株式会社 | 数字水印 |
CN101401429A (zh) * | 2006-03-07 | 2009-04-01 | 日本电信电话株式会社 | 电子水印嵌入方法、装置、程序以及电子水印检测方法、装置、程序 |
US20080080738A1 (en) * | 2006-09-28 | 2008-04-03 | Fujitsu Limited | Electronic Watermark Embedment Apparatus And Electronic Watermark Detection Apparatus |
CN102340669A (zh) * | 2011-09-13 | 2012-02-01 | 海南大学 | 一种基于三维小波和余弦变换在视频中嵌入大水印的方法 |
CN103237271A (zh) * | 2013-04-02 | 2013-08-07 | 北京中视广信科技有限公司 | 大容量视频数字水印的嵌入和检测方法及其系统 |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112927119A (zh) * | 2019-12-06 | 2021-06-08 | 富士施乐实业发展(中国)有限公司 | TrueType字库的防盗信息嵌入方法及使用方法 |
CN112927119B (zh) * | 2019-12-06 | 2024-02-09 | 富士施乐实业发展(中国)有限公司 | TrueType字库的防盗信息嵌入方法及使用方法 |
CN118053435A (zh) * | 2024-03-23 | 2024-05-17 | 北京富通亚讯网络信息技术有限公司 | 基于数字水印技术的音频防篡改方法、装置、设备和介质 |
Also Published As
Publication number | Publication date |
---|---|
US10977761B2 (en) | 2021-04-13 |
CN108665403A (zh) | 2018-10-16 |
US20190236747A1 (en) | 2019-08-01 |
CN108665403B (zh) | 2022-06-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
WO2018177201A1 (zh) | 数字水印嵌入方法、提取方法、装置及数字水印系统 | |
JP7050725B2 (ja) | ユーザ認証方法及び手書きサインインサーバ | |
WO2018177124A1 (zh) | 业务处理方法、装置、数据共享系统及存储介质 | |
CN106850220B (zh) | 数据加密方法、数据解密方法及装置 | |
US9331856B1 (en) | Systems and methods for validating digital signatures | |
CN107453870A (zh) | 基于区块链的移动终端认证管理方法、装置及相应的移动终端 | |
US12101411B2 (en) | System and method for decentralized digital structured data storage, management, and authentication using blockchain | |
CN111601115B (zh) | 一种视频检测的方法、相关装置、设备及存储介质 | |
CN105100449B (zh) | 一种图片分享方法及移动终端 | |
WO2019148397A1 (zh) | 分解敏感数据存储在不同应用环境中 | |
CN114615031A (zh) | 文件存储方法、装置、电子设备及存储介质 | |
CN114362955A (zh) | 软件代码云端数字签名方法、系统、设备和存储介质 | |
CN110545542B (zh) | 基于非对称加密算法的主控密钥下载方法、装置和计算机设备 | |
Camacho et al. | A cloud-oriented integrity verification system for audio forensics | |
CN117978446A (zh) | 芯片通信传输加密方法、装置、计算机设备、存储介质 | |
CN110287733B (zh) | 一种文件防篡改方法和装置 | |
KR102657388B1 (ko) | 암호화될 데이터의 정보량에 기반하여 암호화에 사용될 키를 선택하는 전자 장치 및 전자 장치의 동작 방법 | |
CN105354506B (zh) | 隐藏文件的方法和装置 | |
KR20210014084A (ko) | 블록체인을 이용한 전자 데이터 제공 방법 및 그 시스템 | |
CN115225330B (zh) | 一种数据加密方法、装置、电子设备及存储介质 | |
CN115174758B (zh) | 图片的加密方法、装置、电子设备及存储介质 | |
CN113378147A (zh) | 一种用户登录业务平台的方法 | |
CN109324997B (zh) | 一种基于区块链的数字权利保护方法及装置 | |
US20100058071A1 (en) | System and method for encrypting an electronic file in a mobile electronic device | |
CN116527241A (zh) | 基于椭圆曲线数字签名算法的签名方法、装置及存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 18778099 Country of ref document: EP Kind code of ref document: A1 |
|
NENP | Non-entry into the national phase |
Ref country code: DE |
|
122 | Ep: pct application non-entry in european phase |
Ref document number: 18778099 Country of ref document: EP Kind code of ref document: A1 |