CN111898138B - Separable ciphertext domain reversible data hiding method - Google Patents
Separable ciphertext domain reversible data hiding method Download PDFInfo
- Publication number
- CN111898138B CN111898138B CN202010639807.5A CN202010639807A CN111898138B CN 111898138 B CN111898138 B CN 111898138B CN 202010639807 A CN202010639807 A CN 202010639807A CN 111898138 B CN111898138 B CN 111898138B
- Authority
- CN
- China
- Prior art keywords
- block
- pixel
- bits
- value
- secret data
- 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.)
- Active
Links
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/60—Protecting data
- G06F21/602—Providing cryptographic facilities or services
-
- 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/62—Protecting access to data via a platform, e.g. using keys or access control rules
- G06F21/6209—Protecting access to data via a platform, e.g. using keys or access control rules to a single file or object, e.g. in a secure envelope, encrypted and accessed using a key, or with access control rules appended to the object itself
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Health & Medical Sciences (AREA)
- Bioethics (AREA)
- General Health & Medical Sciences (AREA)
- Computer Hardware Design (AREA)
- Computer Security & Cryptography (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Image Processing (AREA)
Abstract
The invention relates to a reversible data hiding method of a separable ciphertext domain, which comprises three parts, namely an owner of content, a hider of secret data and a receiver, wherein the owner of the content preprocesses a carrier image to vacate a vacant space to hide the secret data; the data hider can directly hide secret data under the condition of not knowing the content of the carrier image; after the receiver obtains the encrypted image with the secret data, the extraction of the secret data and the restoration of the carrier image can be respectively carried out. The invention realizes the reversible digital hiding method of the separable ciphertext domain. The authorized user can recover the carrier image without loss or extract the secret data without loss, according to his own needs or a key held by him.
Description
Technical Field
The invention belongs to the technical field of information hiding, and particularly relates to a separable ciphertext domain reversible data hiding method.
Background
Ciphertext domain reversible data hiding refers to a technology that a carrier used for embedding a secret is encrypted, and an original carrier can still be decrypted without errors after the secret is embedded. The technology combines encryption and steganography, and is one of the research hotspots for protecting privacy data in the cloud environment at present. The separable ciphertext domain reversible data hiding emphasizes the separability of two processes of user secret extraction and reversible carrier data recovery, and has great significance for privacy protection of users and information safety and management in a cloud environment.
In 2012, zhang et al proposed a separable ciphertext image data hiding mechanism, which compressed the LSB of the encrypted image by using a matrix operation method to vacate spatial hidden data, and the receiver could extract the secret data or recover the carrier image alone, but in this scheme, the accuracy of secret data extraction and carrier image recovery is based on the statistical characteristic of image pixel correlation, and therefore, the reversibility of the scheme cannot be fully guaranteed. In 2018, qin et al proposed a separable ciphertext domain reversible data hiding method based on adaptive embedding strategy and block selection. Firstly, dividing an original image into non-overlapping blocks with the same size; secondly, encrypting the blocks by using a mode of simulating stream ciphers and block replacement, and dividing the encrypted blocks into smooth blocks and edge blocks according to the smoothness degree of the blocks; finally, the data-concealer may make free space to embed the secret data by compressing the least significant bits of the pixels in the slider block. But this method has limited embedding capacity. In 2019, wu et al proposed a separable ciphertext domain reversible data hiding method based on scalable blocks, where the original image is divided into multiple blocks of different sizes, and two least significant bits of each pixel can be left out for hiding the secret data based on the average value of each block. The data-concealer may embed the secret data directly into the vacated bits. Experimental results show that the scheme is superior to the existing separable ciphertext domain reversible data hiding method in the aspects of visual quality, embedding capacity and data security. In summary, the key of the separable reversible data hiding method is to ensure the reversibility of the carrier recovery process under the condition of directly decrypting the embedded ciphertext, but the embedding of ciphertext domain data inevitably modifies the encrypted data, and the larger the modification is, the larger the decryption distortion is. With the increasing demand of users on the security of private data, the separable ciphertext domain reversible data hiding method has wider application space and application value.
Disclosure of Invention
Technical problem to be solved
In order to avoid the defects of insufficient embedding capacity and incomplete separation of extraction and decryption in the prior art, the invention provides a ciphertext domain data hiding method capable of separating a carrier image lossless decryption process and a secret data extraction process.
Technical scheme
A separable ciphertext domain reversible data hiding method is characterized by comprising three parts: (i) the owner of the content; (II) a concealer of secret data; (III) a recipient;
the method comprises the following steps that firstly, a content owner carries out preprocessing on a carrier image to vacate a vacant space and hide secret data, and specifically comprises the following steps:
the first step is as follows: reading a carrier image I with the size of M multiplied by N;
the second step is that: dividing the carrier image into non-overlapping blocks of a x b size, and calculating the mean value of each block according to formula (1);
wherein the content of the first and second substances,representing the mean, I, of image blocks located in ith row and jth column (p,q) (i, j) (1 ≦ i ≦ a,1 ≦ j ≦ B) for each pixel in block B (p, q), based on the pixel map>Represents rounding down;
the third step: calculating the difference value between each pixel in the current block and the block mean value by using the formula (2), and marking the difference value as D (p,q) (i,j):
The fourth step: setting a threshold parameter T, and obtaining a label value LM of the current block by using a formula (3) (p,q) :
The value is 0, which indicates that the current block can be used for hiding secret data, otherwise, the current block cannot be used;
the fifth step: setting two bits of flag to record the difference D (p,q) (i, j) in Table 1:
TABLE 1
And a sixth step: calculating a difference DB (p, q) of block means between adjacent blocks using equation (4), and correcting a label value LM according to the difference (p,q) ;
The seventh step: according to the following rules, a free space is made for hiding the secret data, and a carrier image with a free space is generated, which is denoted as I':
1) When LM (p,q) =1, pixels in the current image block do not do any processing;
2) When LM (p,1) =0, or LM (p,q) 1 and LM (p,q-1) If =1, the mean value of the current image blockThe method can be stored in the first 6 bits of the first pixel and the first two bits of the second pixel in the block by means of bit replacement, and the flag is recorded in the last two bits of the first pixel, and different flags are different from one another, and the bits left for hiding the secret data are different:
if flag is 00, this indicates that the pixel in the block is based on the mean value ≧ for the block>Equal, then the block is not used to record the block meanAnd all bits except flag, can be left out for hiding the secret data;
if flag is 01, it indicates the difference D between the block mean of the block and the pixels in the block (p,q) (i, j) are all (-2,2)]Then, in addition to the bits for recording the block mean and flag in the block, two bits are used in each pixel for recording the difference, and the remaining bits can be left free for hiding the secret data, note that: the first pixel is used to record the mean value, so its difference value can be recorded in the other pixels;
if flag is 10, it indicates the difference D between the block mean value of the pixels in the block and the block (p,q) (i, j) are all (-4,4)]Then, in addition to the bits for recording the block mean and flag in the block, three bits are used in each pixel for recording the difference, and the remaining bits can be left free for hiding the secret data, note that: the first pixel is used to record the mean value, so its difference value can be recorded in other pixels;
if flag is 11, it indicates the difference D between the block mean value of the block and the pixels in the block (p,q) (i, j) are all (-8,8)]Then, in addition to the bits for recording the block mean and flag in the block, four more bits are used in each pixel for recording the difference, and the remaining bits can be left free for hiding the secret data, note that: the first pixel is used to record the mean value, so its difference value can be recorded in the other pixels;
3) When LM (p,q) And LM (p,q-1) If =0, the difference DB (p, q) between the average values of the adjacent blocks can be saved in the first 6 bits of the first pixel in the block by bit replacement, and the flag is recorded in the last two bits of the first pixel, which is the same as the above step 2) for different flags;
eighth step: carrying out encryption processing on the carrier image I' with the vacant space to generate an encrypted image E;
1) Creating an encryption key K e And using this key to generate a value of 0,255]A random matrix R (i, j) of size M N;
2) Dividing the matrix R (i, j) into non-overlapping blocks of a x b size, and replacing the lowest two bits of the first element in each block with 00;
3) The image I' with the empty space is encrypted using formula (5) wherein,representing a bitwise exclusive-or calculation;
the method for hiding the data can hide the secret data directly without knowing the content of the carrier image, and specifically comprises the following steps:
the first step is as follows: the hider of the data needs to hold the tag value LM (p,q) ;
The second step: converting secret data to be hidden into a binary bit stream S = { S = { (S) } 1 ,s 2 ,...,s q };
The third step: creating a hidden secret key K d And the binary bit stream is encrypted out of order by using the key;
the fourth step: dividing the encrypted image E into non-overlapping blocks of a x b size, extracting the flag from the last two bits of the first pixel in each block, and calculating the flag value according to the flag value LM (p,q) And flag, the method of direct substitution of bit position imbeds the secret bit stream after encrypting into the spare bit position in advance sequentially, form the encryption image E' with secret data;
after the receiver obtains the encrypted image E' with the secret data, the extraction of the secret data and the recovery of the carrier image can be respectively carried out, and the two processes are separable:
1. when the receiver receives the message with the secretAfter encrypting the image E' of the secret data, if it holds the encryption key K e And a tag value LM (p,q) Then, the original carrier image can be restored without distortion, which specifically includes the following steps:
the first step is as follows: using an encryption key K e Produce a value of [0,255]A random matrix R (i, j) of size M N;
the second step: dividing R (i, j) into non-overlapping blocks of a x b size, and replacing the lowest two bits of the first element in each block with 00;
the third step: decrypting using equation (6);
the fourth step: according to the label value, the original pixel value of the carrier image is restored as follows:
when LM (p,q) And LM (p,q-1) =1, extracting a block mean value ÷ from the highest six bits of the first pixel and the first two bits of the second pixel in the decrypted image block>Extracting a flag from the lowest two bits of the first pixel, and extracting a difference value D from the pixel according to the value of the flag (p,q) (i, j) calculating a value of the original pixel using formula (7);
when LM (p,q) And LM (p,q-1) =0, extract difference DB (p, q) of block mean from the highest six bits of the first pixel in the decrypted current image block and use formula @>Calculating the mean value of the current block, extracting a flag from the lowest two bits of the first pixel, and extracting a difference value D from the pixel according to the value of the flag (p,q) (i, j) calculating a value of the original pixel using formula (7);
the fifth step: repeating the fourth step until all blocks are processed and the original carrier image is restored;
2. when the receiver receives the encrypted image E' with the secret data, if the receiver holds the hidden key K d And a tag value, the secret data can be extracted without loss, and the method specifically comprises the following steps:
in a first step, E' is divided into non-overlapping blocks of a x b size,
secondly, extracting a flag from the last two bits of the first pixel of each block, and extracting the secret data from the spare bits of each pixel directly according to the tag value and the flag;
third step, using the hidden key K d Decrypting the secret bit sequence extracted in the above steps to obtain original secret data;
3. when the receiver receives the encrypted image E' with the secret data, if the receiver holds the encryption key K e Hidden secret key K d And the label value, the processes 1 and 2 can be executed simultaneously, so that the carrier image can be recovered without loss, and the embedded secret data can be completely extracted.
The a x b is 2 x 2.
The threshold value T =8.
Advantageous effects
The separable ciphertext domain reversible data hiding method provided by the invention has the following beneficial effects:
(1) The scheme is simple, easy to realize, high in safety, and the embedding capacity is greatly improved compared with other algorithms.
(2) The protection of the carrier image is easy to realize;
(3) The scheme is flexible to apply, and can hide copyright information, identity or content retrieval and other information into the encrypted image according to different requirements of a user on image protection, so that management of copyright protection, security authentication, retrieval, classification and the like of the encrypted image is realized.
(4) The invention realizes a reversible digital hiding method of separable ciphertext domains. The authorized user can recover the carrier image without loss or extract the secret data without loss, according to his own needs or a key held by him.
Detailed Description
The invention will now be further described with reference to the following examples:
matlab is selected as a software platform, and the design of the scheme of the invention is realized by programming. The implementation selects a 512 × 512 standard test image "Lena" as the carrier image, assuming that the threshold T =8.
The specific operation steps are as follows:
the method comprises the following steps that I, an owner of the content preprocesses a carrier image to vacate a vacant space for hiding secret data, and specifically comprises the following steps:
firstly, reading a carrier image I with the size of 512 multiplied by 512;
in a second step, the carrier image is divided into non-overlapping blocks of size 2 × 2, and the average value of each block is calculated, for example:then->
Thirdly, calculating the difference value between each pixel in the current block and the block mean value, and for the first block, calculating the difference value between each pixel in the current block and the block mean value by: such as: d (1,1) (1,1)=163-163=0,D (1,1) (1,2)=163-163=0,D (1,1) (2,1)=163-163=0,D (1,1) (2,2)=163-163=0; for the second block there are: d (1,2) (1,1)=163-162=1,D (1,2) (1,2)=161-162=-1,D (1,2) (2,1)=163-162=1,D (1,2) (2,2)=161-162=-1;
Step four, setting a threshold parameter T =8, and then determining a label value of the block, where for the first block: max { D (1,1) (1,1),D (1,1) (1,2),D (1,1) (2,1),D (1,1) (2,2)}=0∈(-8,8]Thus LM (1,1) =0, current block hidden; for the second block there are: max [ D ] (1,2) (1,1),D (1,2) (1,2),D (1,2) (2,1),D (1,2) (2,2)]=max[1,-1,1,-1]∈(-8,8]Thus LM (1,2) =0, current block hidden;
fifthly, setting two bits of flag to record the difference D (p,q) (i, j), the first block differences are all 0, so flag is 00, and the second block differences are all (-2,2)]In the range of (1), all the flags are 01;
sixth step, because LM (1,1) =0,LM (1,2) =0, so the difference DB (1, 2) =162-163= -1 e (-32,32) between the two adjacent blocks is calculated]No correction of the tag value;
seventhly, vacating a vacant space for hiding the secret data and generating a carrier image with the vacant space, wherein the carrier image is marked as I' according to the following rules:
1) When LM (p,q) =1, pixels in the current image block do not do any processing;
2) When LM (1,1) Mean value of image blocks when =0The corresponding binary value is 01110011 and the flag is 00, so that the first six bits of the first pixel in the block record the upper six bits of the mean, the last two bits record the flag, and the first pixel is modified to be01110000; the first two bits of the second pixel are stored for the last two bits of the mean, and the second pixel is modified11110011, except the top two bits of the first and second pixels, other bits can be used to hide the secret data, so 22 bits can be left out of the current blockUsing the bit as vacant space hidden secret data;
3) When LM (1,2) And LM (1,1) If =0 is satisfied, DB (1, 2) = -1, only 6 bits are needed to record the difference between the mean values, -1 is converted to binary representation 000001, where the most significant bit 0 represents that the difference is negative and 1 represents that the difference is positive, so the first 6 bits of the first pixel are modified to 000001 and the last two bits record flag to 01, and the first pixel is modified to 00000100000101, respectively using {01,11} to represent the difference value { -1,1}, then D is obtained (1,2) (1,1)=1,D (1,2) (1, 2) = -1 is stored in the first four bits of the second pixel, D (1,2) (2, 1) =1 stored in the first two bits of the third pixel, D (1,2) (2, 2) = -1 is stored in the first two bits of the fourth pixel, and thus the second pixel is modified to be11010001, third Pixel modification11110011, the fourth pixel is modified01100001, except for the bits for recording the difference value and the flag, the rest bits can be used for hiding the secret data, therefore, 14 bits can be left in the current block as the vacant space hidden secret data;
eighthly, carrying out encryption processing on the carrier image I' with the vacant space to generate an encrypted image E;
4) Creating an encryption key K e =45, and use this key to generate a value of 0,255]A random matrix R (i, j) of size 512 × 512;
5) Dividing the matrix R (i, j) into non-overlapping blocks of 2 x 2 size and replacing the lowest two bits of the first element in each block with 00;
6) The image I' with the empty space is encrypted using formula (7) wherein,representing a bitwise exclusive-or calculation;
the method includes the following steps:
first, the hider of the data needs to hold the tag value LM (p,q) ;
In the second step, the first step is to remove the waste water, converting secret data to be hidden into binary bit stream S = { S = { S = } 1 ,s 2 ,...,s q };
Third step, create a hidden key K d =200, and uses the key to encrypt the binary bit stream out of order;
fourthly, dividing the encrypted image E into non-overlapping blocks of 2 × 2 size, and extracting a flag from the last two bits of the first pixel in each block, taking the first block as an example: LM (melt extrusion) (1,1) And if 0 and 00 is marked, all bits except the first two bits of the first pixel and the second pixel in the block can be replaced by the secret bits in sequence by using a bit replacement method, so that an encrypted image E' with the secret data is formed.
After the receiver obtains the encrypted image E' with the secret data, the extraction of the secret data and the recovery of the carrier image can be respectively carried out, and the two processes are separable:
1. when the receiver receives the encrypted image E' with the secret data, if the receiver holds the encryption key K e And a label value LM (p,q) Then, the original carrier image can be restored without distortion, specifically including the following steps:
first step, using an encryption key K e =45 yields a value of [0,255]A random matrix R (i, j) of size 512 × 512;
a second step of dividing R (i, j) into non-overlapping blocks of 2 x 2 size and replacing the lowest two bits of the first element in each block with 00;
thirdly, decrypting by using a formula (8);
fourthly, according to the label value, restoring the original pixel value of the carrier image according to the following conditions:
taking the second block as an example, LM (1,2) =0,LM (1,1) =0, DB (1, 2) = -1 is extracted from the first six bits of the first pixel in the block, flag is extracted from the last two bits, and the first 6 bits of the first pixel and the first two bits of the second pixel in the previous block are extractedBy means of a formula>Calculating the mean value of the current block; extracting corresponding difference D from the second, third and fourth pixels (p,q) (i, j) calculating the value of the original pixel; i is (1,2) (1,1)=162+1=163,I (1,2) (1,2)=162-1=161,I (1,2) (2,1)=162+1=163,I (1,2) (2,2)=162-1=161;
And fifthly, repeating the fourth step until all the blocks are processed and the original carrier image is recovered.
2. When the receiver receives the encrypted image E' with the secret data, if the receiver holds the hidden key K d And a tag value, the secret data can be extracted without loss, and the method specifically comprises the following steps:
in a first step, E' is divided into non-overlapping blocks of size 2 x 2,
secondly, extracting a flag from the last two bits of the first pixel of each block, and extracting the secret data from the spare bits of each pixel directly according to the tag value and the flag;
taking the first block as an example, LM (1,1) =0, flag is 00, and therefore, except for the first two bits of the first pixel and the second pixel, the remaining bits are secret data, and therefore, it is sufficient to directly extract these bits in sequence;
third, using the hidden key K d =200, the original secret data can be obtained by performing decryption processing on the secret bit sequence extracted in the above step.
3. When the receiver receives the encrypted image E' with the secret data, if the receiver holds the secret data, the receiver adds the secret dataSecret key K e Hidden secret key K d And the label value, the processes 1 and 2 can be simultaneously executed, the carrier image can be recovered without damage, and the embedded secret data can be completely extracted.
To further illustrate the feasibility of the present invention, six standard test images (Lena, baboon, airplan, bat, peppers, tiffany) with a size of 512 × 512 were selected as carrier images to perform experiments on the proposed scheme of the present invention.
Table 2 shows the effect of different block sizes on embedding capacity for a threshold T of 8. It can be seen that due to the correlation between adjacent pixels, the difference between a pixel and its predicted value is mostly concentrated around the value of 0, which provides a large redundant space for embedding secret information. Further, as the image block size is smaller, the larger the ratio of the difference between the pixel in the block and the block mean value being 0, the more redundant space is left, and therefore, the capacity of embedding is much larger for the block size of 2 × 2 than for the block size of 4 × 4. Furthermore, from the different test images, we can also see that the smoother the image, the greater the embedding capacity. The "airplan" has a large area of snow and sky as background, and the image detail is relatively small, so the embedding capacity of the image can reach 2.608bpp, while the "babon" has too much detail information, the variation between adjacent pixels is large, so more bits are needed to record the difference, and the embedding capacity is relatively low, and is only 0.561bpp. Table 3 shows a comparison between the scheme of the present invention and the three existing schemes, and compared with the other three schemes, the scheme of the present invention has a significant improvement in embedding capacity.
TABLE 2
TABLE 3
Claims (3)
1. A separable ciphertext domain reversible data hiding method is characterized by comprising three parts: (i) the owner of the content; (II) a concealer of secret data; (III) a recipient;
the method comprises the following steps that firstly, a content owner carries out preprocessing on a carrier image to vacate a vacant space and hide secret data, and specifically comprises the following steps:
the first step is as follows: reading a carrier image I with the size of M multiplied by N;
the second step: dividing the carrier image into non-overlapping blocks of a x b size, and calculating the mean value of each block according to formula (1);
wherein the content of the first and second substances,representing the mean, I, of image blocks located in row I and column j (p,q) (i, j) (1 ≦ i ≦ a,1 ≦ j ≦ B) represents each pixel in block B (p, q), which is greater than or equal to>Represents rounding down;
the third step: calculating the difference value between each pixel in the current block and the block mean value by using the formula (2), and marking the difference value as D (p,q) (i,j):
The fourth step: setting a threshold parameter T, and obtaining a label value LM of the current block by using a formula (3) (p,q) :
The value is 0, which indicates that the current block can be used for hiding the secret data, otherwise, the current block cannot be used;
the fifth step: setting two bits of flag to record the difference D (p,q) (i, j) ranges, see Table 1:
TABLE 1
And a sixth step: calculating a difference DB (p, q) of block means between adjacent blocks using equation (4), and correcting a label value LM according to the difference (p,q) ;
The seventh step: according to the following rules, a free space is made for hiding the secret data, and a carrier image with the free space is generated, which is denoted as I':
1) When LM (p,q) =1, pixels in the current image block do not do any processing;
2) When LM (p,1) =0, or LM (p,q) And LM (p,q-1) =1, mean value of current image blockThe first 6 bits of the first pixel and the first two bits of the second pixel in the block can be saved in a bit replacement mode, and a flag is recorded in the last two bits of the first pixel, wherein different flags are set aside, and the bits for hiding the secret data are different:
if flag is 00, this indicates that the pixel in the block is based on the mean value ≧ for the block>If they are equal, all bits of the block except for recording the block mean and flag can be vacated for hiding the secret data;
if flag is 01, it indicates the difference D between the block mean of the block and the pixels in the block (p,q) (i, j) are all (-2,2)]Then, in addition to the bits for recording the block mean and flag in the block, two more bits are used in each pixel for recording the difference, the remaining bits can be left for hiding the secret data, and the first pixel is used for recording the mean, so that the difference can be recorded in other pixels;
if flag is 10, it represents the difference D between the block mean of the block and the pixels in the block (p,q) (i, j) are all (-4,4)]Then, in addition to the bits for recording the block mean and flag in the block, three bits are used in each pixel for recording the difference, the remaining bits can be left for hiding the secret data, and the first pixel is used for recording the mean, so that the difference can be recorded in other pixels;
if flag is 11, it indicates the difference D between the block mean value of the block and the pixels in the block (p,q) (i, j) are all (-8,8)]Then in addition to the bits used to record the block mean and flag, four more bits are used in each pixel to record the difference, and the remaining bits can be usedVacate for hiding secret data, the first pixel is used for recording the mean value, so the difference value can be recorded in other pixels;
3) When LM (p,q) 1 and LM (p,q-1) If =0, the difference DB (p, q) between the average values of the adjacent blocks can be saved in the first 6 bits of the first pixel in the block by bit replacement, and the flag is recorded in the last two bits of the first pixel, which is the same as the above step 2) for different flags;
eighth step: carrying out encryption processing on the carrier image I' with the spare space to generate an encrypted image E;
1) Creating an encryption key K e And using this key to generate a value of 0,255]A random matrix R (i, j) of size M N;
2) Dividing the matrix R (i, j) into non-overlapping blocks of a x b size, and replacing the lowest two bits of the first element in each block with 00;
3) The image I' with the empty space is encrypted using formula (5) wherein,representing a bitwise xor calculation;
the method includes the following steps:
the first step is as follows: the hider of the data needs to hold the tag value LM (p,q) ;
The second step is that: converting secret data to be hidden into a binary bit stream S = { S = { (S) } 1 ,s 2 ,...,s q };
The third step: creating a hidden secret key K d And using the key to carry out-of-order encryption processing on the binary bit stream;
the fourth step: dividing the encrypted image E into a x b largeSmall non-overlapping blocks, and extracting flag from the last two bits of the first pixel in each block, according to the label value LM (p,q) And flag, the method of direct substitution of bit position imbeds the secret bit stream after encrypting into the spare bit position in advance sequentially, form the encryption image E' with secret data;
after the receiver obtains the encrypted image E' with the secret data, the extraction of the secret data and the recovery of the carrier image can be respectively carried out, and the two processes are separable:
(1) When the receiver receives the encrypted image E' with the secret data, if the receiver holds the encryption key K e And a tag value LM (p,q) Then, the original carrier image can be restored without distortion, specifically including the following steps:
the first step is as follows: using an encryption key K e Produce a value of [0,255]A random matrix R (i, j) of size M N;
the second step is that: dividing R (i, j) into non-overlapping blocks of a x b size, and replacing the lowest two bits of the first element in each block to 00;
the third step: decrypting using equation (6);
the fourth step: according to the label value, the original pixel value of the carrier image is restored as follows:
when LM (p,q) And LM (p,q-1) =1, from the highest six bits of the first pixel and the first two bits of the second pixel in the decrypted image blockTaking the mean value of the block>Extracting a flag from the lowest two bits of the first pixel, and extracting a difference value D from the pixel according to the value of the flag (p,q) (i, j) calculating a value of the original pixel using formula (7);
when LM (p,q) And LM (p,q-1) =0, extract difference DB (p, q) of block mean from the highest six bits of the first pixel in the decrypted current image block and use formula @>Calculating the mean value of the current block, extracting a flag from the lowest two bits of the first pixel, and extracting a difference value D from the pixel according to the value of the flag (p,q) (i, j) calculating a value of the original pixel using formula (7);
the fifth step: repeating the fourth step until all blocks are processed and the original carrier image is restored;
(2) When the receiver receives the encrypted image E' with the secret data, if the receiver holds the hidden key K d And a tag value, the secret data can be extracted without loss, and the method specifically comprises the following steps:
in a first step, E' is divided into non-overlapping blocks of a x b size,
secondly, extracting a flag from the last two bits of the first pixel of each block, and extracting the secret data from the spare bits of each pixel directly according to the tag value and the flag;
third step, using the hidden key K d The secret bit sequence extracted in the above steps is decrypted, so as to obtain the secret bit sequenceObtaining original secret data;
(3) When the receiver receives the encrypted image E' with the secret data, if the receiver holds the encryption key K e Hidden secret key K d And the label value, the processes (1) and (2) can be executed simultaneously, the carrier image can be recovered without damage, and the embedded secret data can be completely extracted.
2. The separable ciphertext domain reversible data hiding method of claim 1, wherein a x b is 2 x 2.
3. The separable ciphertext domain reversible data hiding method of claim 1, wherein the threshold parameter T =8.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010639807.5A CN111898138B (en) | 2020-07-06 | 2020-07-06 | Separable ciphertext domain reversible data hiding method |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010639807.5A CN111898138B (en) | 2020-07-06 | 2020-07-06 | Separable ciphertext domain reversible data hiding method |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111898138A CN111898138A (en) | 2020-11-06 |
CN111898138B true CN111898138B (en) | 2023-04-07 |
Family
ID=73191598
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010639807.5A Active CN111898138B (en) | 2020-07-06 | 2020-07-06 | Separable ciphertext domain reversible data hiding method |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111898138B (en) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113472968B (en) * | 2021-05-08 | 2023-10-13 | 武汉理工大学 | Method, device and storage medium for hiding reversible data of encrypted image |
CN115190216B (en) * | 2022-07-13 | 2023-08-18 | 西安理工大学 | Encrypted image reversible data hiding and decrypting method based on prediction error map |
CN115379066B (en) * | 2022-08-26 | 2023-07-25 | 西安理工大学 | Encryption image reversible data encryption and decryption method based on self-adaptive compression coding |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109547797A (en) * | 2019-01-02 | 2019-03-29 | 太原科技大学 | A kind of separable encrypted domain information concealing method |
CN111311474A (en) * | 2020-02-04 | 2020-06-19 | 太原科技大学 | Large-capacity image encryption domain information hiding method |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9639912B2 (en) * | 2014-12-30 | 2017-05-02 | University Of Macau | Method for reversible image data hiding |
-
2020
- 2020-07-06 CN CN202010639807.5A patent/CN111898138B/en active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109547797A (en) * | 2019-01-02 | 2019-03-29 | 太原科技大学 | A kind of separable encrypted domain information concealing method |
CN111311474A (en) * | 2020-02-04 | 2020-06-19 | 太原科技大学 | Large-capacity image encryption domain information hiding method |
Non-Patent Citations (3)
Title |
---|
Hill密码体系中的加密矩阵与哑元;王丽芳等;《西南大学学报(自然科学版)》;20141130;全文 * |
Reversible data hiding in encrypted image with separable data extraction from image decryption;Wang Xiaofeng etc.;《MULTIMEDIA TOOLS AND APPLICATIONS》;20170331;全文 * |
基于无损压缩的加密图像可逆信息隐藏;郑淑丽等;《合肥工业大学学报(自然科学版)》;20160128(第01期);全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN111898138A (en) | 2020-11-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111311474B (en) | High-capacity image encryption domain information hiding method | |
Qin et al. | Separable reversible data hiding in encrypted images via adaptive embedding strategy with block selection | |
CN108566500B (en) | Reversible hiding method of self-adaptive image encryption domain based on hybrid encryption mechanism | |
CN111898138B (en) | Separable ciphertext domain reversible data hiding method | |
CN109348228B (en) | Reversible information hiding system and method for image encryption domain | |
Zhang et al. | Reversibility improved data hiding in encrypted images | |
Yin et al. | Reversible data hiding in encrypted images based on pixel prediction and bit-plane compression | |
CN112311954B (en) | Ciphertext domain reversible information hiding method based on complementary code mark and bitmap embedding | |
Yin et al. | Separable and Error‐Free Reversible Data Hiding in Encrypted Image with High Payload | |
CN109803142B (en) | Encrypted domain image reversible data hiding method based on neighborhood prediction | |
CN111861844A (en) | Reversible watermarking method based on image block authentication | |
CN113114869B (en) | Ciphertext domain high-capacity image reversible data hiding method based on MSB prediction | |
CN111464718B (en) | Encryption image reversible information hiding method based on interpolation technology | |
CN114172630B (en) | Reversible information hiding method based on addition homomorphic encryption and multi-high-order embedding | |
CN110211018B (en) | Chaos encryption reversible information hiding method based on odd-even discrimination strategy | |
CN114666453A (en) | Separable ciphertext domain reversible data hiding method based on bit plane segmentation | |
CN111915474B (en) | Reversible encryption domain information hiding method based on integer transformation | |
CN114493968A (en) | Data hiding method based on most significant bit replacement and least significant bit compression | |
CN115379066B (en) | Encryption image reversible data encryption and decryption method based on self-adaptive compression coding | |
CN113382127B (en) | Encrypted image reversible information hiding method with elastic selection and run-length coding | |
Puteaux et al. | High-capacity reversible data hiding in encrypted images using MSB prediction | |
CN111814160B (en) | Ciphertext domain reversible information hiding system and method for DICOM file | |
CN115348361B (en) | Encryption image reversible data encryption and decryption method based on multi-MSB block coding | |
CN113489859B (en) | Reversible information hiding method on encrypted image using adaptive coding | |
Wang et al. | A triangular algorithm of image-hiding |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |