CN106919814A - A kind of software watermark coding method based on dynamic graph code - Google Patents
A kind of software watermark coding method based on dynamic graph code Download PDFInfo
- Publication number
- CN106919814A CN106919814A CN201710127115.0A CN201710127115A CN106919814A CN 106919814 A CN106919814 A CN 106919814A CN 201710127115 A CN201710127115 A CN 201710127115A CN 106919814 A CN106919814 A CN 106919814A
- Authority
- CN
- China
- Prior art keywords
- watermark
- code
- software
- prime number
- graph code
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 33
- 238000010586 diagram Methods 0.000 claims description 6
- 238000000354 decomposition reaction Methods 0.000 claims description 2
- 238000006243 chemical reaction Methods 0.000 claims 1
- 239000012634 fragment Substances 0.000 abstract description 5
- 238000003780 insertion Methods 0.000 description 6
- 230000037431 insertion Effects 0.000 description 6
- 238000001514 detection method Methods 0.000 description 4
- 238000005516 engineering process Methods 0.000 description 4
- 238000012937 correction Methods 0.000 description 2
- 238000012913 prioritisation Methods 0.000 description 2
- 241000545442 Radix Species 0.000 description 1
- 230000001925 catabolic effect Effects 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 230000007812 deficiency Effects 0.000 description 1
- 238000012217 deletion Methods 0.000 description 1
- 230000037430 deletion Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000012447 hatching Effects 0.000 description 1
- 238000011069 regeneration method Methods 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- XLYOFNOQVPJJNP-UHFFFAOYSA-N water Substances O XLYOFNOQVPJJNP-UHFFFAOYSA-N 0.000 description 1
Classifications
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Multimedia (AREA)
- Technology Law (AREA)
- Computer Hardware Design (AREA)
- Computer Security & Cryptography (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Editing Of Facsimile Originals (AREA)
- Image Processing (AREA)
Abstract
The invention discloses a kind of software watermark coding method based on dynamic graph code, belong to the technical field of software watermark.Watermark is decomposed into some watermark segments and adds redundancy fragment by the coding method using Chinese remainder theorem, graph code is ranked up to leaf node on the basis of former PPCT, realize the paired expression of watermark segment, software watermark with self error detecing capability can be formed using coding method disclosed by the invention, watermark encoder efficiency is improve, the disguise and attack tolerant of watermark is enhanced.
Description
Technical field
The invention discloses a kind of software watermark coding method based on dynamic graph code, belong to the technology neck of software watermark
Domain.
Background technology
People can conveniently and efficiently obtain increasing digital product by internet, but not complete due to law
It is kind and supervise it is not in place, it is illegal obtain, using, the illegal activities serious infringement rights and interests of the software copyright owner such as replicate.
Software Watermark is a branch of digital watermarking, the problems such as solving software product copyright protection.With existing software version
Power protection technique is compared, it not merely for the purpose of improving data insertion rate, but before ensureing that data insertion rate is higher
Put the disguise of raising watermark and resist the ability for deleting, increasing attack.When querying software copyright, Ke Yiti
Taking-up has been inserted into the watermark information in software to differentiate the software true and false, while fraudulent copying, traveling software product etc. can be hit
Malfeasance.Software watermark can be the relevant informations such as software author, publisher, the owner, period of validity of software.
Dynamic graph code realizes that watermark is all that the classical dynamic watermark proposed in Collberg and Thomborson is calculated at present
It is subject to perfect on the basis of method-CT algorithms, the key idea of CT algorithms is the topological diagram knot dynamically set up when program is run
Embedded watermark information in structure.On the basis of CT algorithms, have and realize the various of software watermark including following three kinds dynamic graph codes
Improved method:1. Yu Tao et al. proposes the improvement encoding scheme based on arrangement figure and plane loop tree;2. Wang Hui is tender et al. carries
Go out on the basis of plane loop tree-encoding structure, an empty pointer is separately increased to each leaf node to carry out watermark value
Coefficient coding;3. Zhang Haichao is proposed carries out K- radixes coding so as to realize watermark encoder to whole nodes of plane loop tree
Scheme.Above encoding scheme stresses to realize data insertion rate and ignores the code efficiency of watermark, robustness, disguise and be subject to
Self error detection and repair ability during attack.
The content of the invention
Goal of the invention of the invention is directed to the deficiency of above-mentioned background technology, there is provided a kind of based on the soft of dynamic graph code
Part watermark encoder method, is encoded and sequence graph code by PPCT (Planted Plane Cubic Tree, plane loop tree)
Hybrid coding mode realize the paired expression of watermark segment, solve existing software watermark coding techniques and stress to realize data
Embedded rate and ignore watermark encoder efficiency, robustness, disguise and under fire when self error detection and the technology of repair ability ask
Topic.
The present invention is adopted the following technical scheme that for achieving the above object:
A kind of software watermark coding method based on dynamic graph code, comprises the following steps:
A, watermark to be embedded is decomposed into by the watermark segment of remainder and prime number product representation using Chinese remainder theorem;
B, using combine PPCT coding and sequence graph code hybrid coding mode express watermark segment.
As the further prioritization scheme of the software watermark coding method based on dynamic graph code, the specific method of step A
For:Choose big integer W and numerical value is respectively less than m prime number p of big integer1,p2,...,pm, it is any from m prime number to choose prime number
I, prime number j, according to the big integer of selected prime decomposition constructing congruence equations:Each congruence side
Journey one watermark segment of correspondence, wherein, p1i、p1jRespectively the 1st time any prime number i, prime number j, x for choosing1It is the 1st congruence side
The remainder of journey, pki、pkjRespectively any prime number i, prime number j, x for choosing of kth timekIt is k-th remainder of congruence, k is most
Big value is
As the further prioritization scheme of the software watermark coding method based on dynamic graph code, the specific side of step B
Method is:
Remainder to each congruence carries out PPCT codings, and the modulus to each congruence is ranked up figure volume
Code, selection carries out minimum leaf node number needed for PPCT codings to remainder and minimum leaf needed for graph code is ranked up to modulus
Maximum in son node number determines leaf node number needed for hybrid coding, the minimum leaf needed for PPCT coded representation remainders
Nodes modulus is represented more than sorting coding needed for minimum leaf leaf node number when, if choosing PPCT coded representations remainder institute
Need minimum leaf node number as leaf node number needed for hybrid coding, this can cause when coding is ranked up to leaf node
There is unnecessary leaf node not used, therefore, it is stipulated that the right pointer of leaf node being not used during sorting coding is sky;
The pointer of each node in initialization PPCT topological diagrams:
Initialize each pointer of non-leaf nodes:Left pointers and Right pointers be respectively directed to the non-leaf nodes a left side,
Right child nodes, Next pointers point to Null,
Initialize each pointer of leaf node:Left pointers point to the left side near the leaf node of the leaf node,
Right pointers are used for the graph code that sorts, and Next pointers point to the leaf node in itself,
Each pointer of initialization generation node:Left pointers point to the generation node first leaf node from right to left,
Right pointers point to root node, and Next pointers point to Null.
A kind of software watermark embedding grammar based on dynamic graph code, the watermark segment coding that above-mentioned coding method is obtained
The watermark segment code that host is capable of identify that is converted to, when the specific list entries of embedded code arrives by watermark segment code
Randomly it is embedded in host.
A kind of software watermark extracting method based on dynamic graph code, when the specific list entries for performing code arrives,
The watermark segment code that the above-mentioned watermark embedding method of Dynamic Execution is obtained, the PPCT topological diagrams to being presented in heap carry out decoding and obtain
Take watermark information.
The present invention uses above-mentioned technical proposal, has the advantages that:
(1) the invention provides a kind of Software Watermark based on dynamic graph code, the program is fixed using Chinese Remainder
Watermark is decomposed into some fragments and adds redundancy fragment by reason, is ranked up figure volume to leaf node on the basis of former PPCT
Code, realizes the paired expression of watermark segment, when a certain node enters in attacker's topological subgraph corresponding to certain watermark segment
When row is attacked, the EDC error detection and correction energy of the circular linked list that can be constituted by the stability of PPCT and generation node and leaf node
Power realizes self-regeneration, when attacker carries out overall addition, deletion etc. to part watermark segment to be attacked, still can be by watermark point
The redundancy and error correcting capability of resolving Algorithm are modified, so as to recover correct watermark;
(2) watermark segment by paired expression is added in program, topological efficiency is higher and disguised, attack tolerant compared with
By force, the software watermark with self error detecing capability can be formed;
(3) coded system that the present invention relates to can be applied not only to software watermark field, for needing encryption to deposit
The data of storage are (such as:Scientific research private data) can use, the data stored using coding techniques disclosed in the present application are i.e.
Make to be stolen or distorted by the person of hatching a sinister plot, user still has an opportunity to obtain correct original data.
Brief description of the drawings
Fig. 1 is the flow chart of software watermark implementation method of the present invention.
Fig. 2 is that the PPCT topological diagrams that hybrid coding is obtained are carried out to 4mod (2 × 3).
Specific embodiment
The technical scheme invented is described in detail below in conjunction with the accompanying drawings.In order to existing software watermark coding techniques stresses
Realize data insertion rate and ignore watermark encoder efficiency, robustness, disguise and under fire when self error detection and repair ability
Defect, the application proposes a kind of software watermark coding method based on dynamic graph code, by PPCT (Planted Plane
Cubic Tree, plane loop tree) the hybrid coding mode of coding and sequence graph code realizes the paired expression of watermark segment.
And further extend the watermark embedding method and watermark extracting method being adapted therewith on the basis of coding method.
Based on the Software Watermark of dynamic graph code, as shown in figure 1, step is as follows:
A, watermark catabolic phase:Choose big integer W, m prime number p of simultaneous selection1,p2...pm, wherein, p1,p2...pm
Less than W.
B, using Chinese remainder theorem, big integer W is resolved intoIndividual shape such as xkmod(pi×pj) congruence side
Journey, wherein pi、pjIt is that two prime numbers are randomly selected from m prime number, calculatesIndividual remainder, the congruence of construction
Equation group is as follows:Each congruence one watermark segment of correspondence, each congruence side
Journey is made up of a pair of integers, i.e. xkAnd pi×pjProduct, the congruence equations are chosen two prime numbers and are existed superfluous due to any every time
Remaining equation, redundant equation correspondence redundancy fragment, p1i、p1jRespectively the 1st time any prime number i, prime number j, x for choosing1For the 1st together
The remainder of remaining equation, pki、pkjRespectively any prime number i, prime number j, x for choosing of kth timekIt is k-th remainder of congruence, k
Maximum be
C, coding stage:
Minimum node number needed for calculating two kinds of coded systems respectively, takes the two maximum as leaf section needed for hybrid coding
Points, xkEncoded with PPCT and realized, pi×pjRealized with sequence graph code,
For non-leaf nodes:Left pointers and Right pointers are respectively directed to the left and right child section of the non-leaf nodes
Point, Next pointers point to Null,
For leaf node:Left pointers point to the left side near the leaf node of the leaf node, and Right pointers are used for
Sequence graph code, Next pointers point to the leaf node in itself,
For generation node:Left pointers point to the generation node first leaf node from right to left, and Right pointers are pointed to
Root node, Next pointers point to Null;
By taking 4238 ≡ 4mod2 × 3 as an example, enumerated by PPCT and represent that the scope of integer understands leaf node needed for PPCT codings
The span of number a is a >=4, takes a=4, represents that integer range understands b by ordering chart!- 1 >=6, solve sequence graph code needed for
The span of leaf node number b is b >=4, takes b=4.Therefore, leaf node number needed for max=4, i.e. hybrid coding is 4.Root
Go up coding rule according to this, the hybrid coding of 4mod (2 × 3) as shown in Fig. 2 because non-leaf nodes next pointers are null,
Therefore this figure omits the next pointers of non-leaf nodes.
D, watermark insertion stage:After completing the coding of watermark segment, watermark segment is converted into the water that host is capable of identify that
Print fragment code, and watermark segment code is randomly embedded in host when the specific list entries of embedded code arrives.
E, watermark extracting stage:When the specific list entries for performing code arrives, Dynamic Execution watermark segment code is right
The PPCT topological diagrams being presented in heap carry out decoding and obtain watermark information.
Watermark information is decomposed the present invention some watermark pieces for asking remainder and prime number product representation using Chinese remainder theorem
Section, then some watermark segments are encoded by way of being ranked up graph code in PPCT leaf nodes, will originally once
The encoding scheme for once being encoded to a pair of integers can only be improved to the encoding scheme that an integer is encoded, be being taken into account
While data insertion rate, code efficiency is improve, enhance disguised, attack tolerant and self-correction ability.
Claims (5)
1. a kind of software watermark coding method based on dynamic graph code, it is characterised in that comprise the following steps:
A, watermark to be embedded is decomposed into by the watermark segment of remainder and prime number product representation using Chinese remainder theorem;
B, using combine PPCT coding and sequence graph code hybrid coding mode express watermark segment.
2. a kind of software watermark coding method based on dynamic graph code according to claim 1, it is characterised in that step A
Specific method be:Choose big integer W and numerical value is respectively less than m prime number p of big integer1,p2,...,pm, appoint from m prime number
Meaning chooses prime number i, prime number j, according to the big integer of selected prime decomposition constructing congruence equations:Often
One congruence one watermark segment of correspondence, wherein, p1i、p1jRespectively the 1st time any prime number i, prime number j, x for choosing1For
1st remainder of congruence, pki、pkjRespectively any prime number i, prime number j, x for choosing of kth timekIt is k-th congruence
Remainder, the maximum of k is
3. a kind of software watermark coding method based on dynamic graph code according to claim 2, it is characterised in that step B
Specific method be:
Remainder to each congruence carries out PPCT codings, and the modulus to each congruence is ranked up graph code,
Selection carries out minimum leaf node number needed for PPCT codings to remainder and minimum leaf needed for graph code is ranked up to modulus
Maximum in nodes determines leaf node number needed for hybrid coding;
Initialize each pointer of non-leaf nodes:Left pointers and Right pointers are respectively directed to the left and right child of the non-leaf nodes
Child node, Next pointers point to Null,
Initialize each pointer of leaf node:Left pointers point to the left side near the leaf node of the leaf node, and Right refers to
Pin is used for the graph code that sorts, and Next pointers point to the leaf node in itself,
Each pointer of initialization generation node:Left pointers point to the generation node first leaf node from right to left, and Right refers to
Pin points to root node, and Next pointers point to Null.
4. a kind of software watermark embedding grammar based on dynamic graph code, it is characterised in that by coding method described in claim 1
The watermark segment code that the watermark segment code conversion of acquisition is capable of identify that for host, arrives in the specific list entries of embedded code
Watermark segment code is randomly embedded in host when coming.
5. a kind of software watermark extracting method based on dynamic graph code, it is characterised in that performing the specific input sequence of code
When row arrive, the watermark segment code that watermark embedding method described in Dynamic Execution claim 4 is obtained, to being presented in heap
PPCT topological diagrams carry out decoding and obtain watermark information.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710127115.0A CN106919814A (en) | 2017-03-06 | 2017-03-06 | A kind of software watermark coding method based on dynamic graph code |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710127115.0A CN106919814A (en) | 2017-03-06 | 2017-03-06 | A kind of software watermark coding method based on dynamic graph code |
Publications (1)
Publication Number | Publication Date |
---|---|
CN106919814A true CN106919814A (en) | 2017-07-04 |
Family
ID=59460782
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710127115.0A Pending CN106919814A (en) | 2017-03-06 | 2017-03-06 | A kind of software watermark coding method based on dynamic graph code |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN106919814A (en) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110113505A (en) * | 2019-04-24 | 2019-08-09 | 湖北工业大学 | A kind of safe steganography coding method of low disturbance information based on Chinese remainder theorem |
CN116915262A (en) * | 2023-09-12 | 2023-10-20 | 北京路畅均安科技有限公司 | Intelligent construction site engineering quality management system based on Internet of things |
-
2017
- 2017-03-06 CN CN201710127115.0A patent/CN106919814A/en active Pending
Non-Patent Citations (2)
Title |
---|
彭超凡: "基于动态图编码的软件水印研究", 《中国优秀硕士学位论文全文数据库信息科技辑》 * |
李淑芝: "基于中国剩余定理的动态图软件水印方案", 《软件导刊》 * |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110113505A (en) * | 2019-04-24 | 2019-08-09 | 湖北工业大学 | A kind of safe steganography coding method of low disturbance information based on Chinese remainder theorem |
CN116915262A (en) * | 2023-09-12 | 2023-10-20 | 北京路畅均安科技有限公司 | Intelligent construction site engineering quality management system based on Internet of things |
CN116915262B (en) * | 2023-09-12 | 2023-12-08 | 北京路畅均安科技有限公司 | Intelligent construction site engineering quality management system based on Internet of things |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106161012B (en) | A kind of quantum key distribution after-treatment system and method based on polarization code error correction | |
CN108537049B (en) | Adaptive steganography algorithm based on binary image | |
JP3735521B2 (en) | Embedded code generation method and apparatus, embedded code detection method and apparatus, and digital watermark embedding apparatus | |
CN103605950B (en) | Method and system for hiding signature in credible two-dimensional code | |
CN106815544A (en) | A kind of information concealing method based on Quick Response Code | |
CN109657769B (en) | Two-dimensional code information hiding method based on run length coding | |
CN105320899A (en) | User-oriented cloud storage data integrity protection method | |
CN111966974B (en) | Safe and reversible relational database copyright protection method | |
Ulutas et al. | Secret image sharing scheme with adaptive authentication strength | |
CN110958232B (en) | Collusion-resistant power data fingerprint coding method based on CFF code and RS code | |
CN112016061A (en) | Excel document data protection method based on robust watermarking technology | |
CN110999201A (en) | Cryptographic apparatus and method | |
CN107862047A (en) | Natural person's data processing method and system based on multiple data sources | |
CN109495211B (en) | Channel coding and decoding method | |
CN106919814A (en) | A kind of software watermark coding method based on dynamic graph code | |
CN109840576A (en) | The generation method and coding/decoding method of anti-copying two dimensional code based on segmentation insertion | |
CN101923700B (en) | Double-effect digital watermarking method | |
CN104598801B (en) | A kind of Dynamic Two-dimensional code generating method based on algorithm reconstruct | |
CN109101791B (en) | Watermark parameter automatic acquisition method and system based on data characteristics | |
Merkle et al. | Multi-modal and multi-instance fusion for biometric cryptosystems | |
CN103262117A (en) | Paired carrier and pivot steganographic objects for stateful data layering | |
Schaathun | On watermarking/fingerprinting for copyright protection | |
CN109033853A (en) | Physical layer information hidden method, device and terminal based on convolutional code | |
Deshpande et al. | New watermarking technique for relational databases | |
CN104363089A (en) | Method for realizing fuzzy vault on the basis of geographical location information |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
WD01 | Invention patent application deemed withdrawn after publication | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20170704 |