A Combinatorial Chaotic Pseudorandom Number Generator and Its Digital Image Encryption Method

By combining the chaotic pseudo-random number generator, the problems of finite precision platform degradation, narrow parameter range and poor uniformity in image encryption are solved, which improves the security and randomness of the image encryption algorithm and enhances the attack Resistance.

CN112422269BActive Publication Date: 2024-12-27UNIV OF CHINESE ACAD OF SCI
View PDF 5 Cites 0 Cited by

Patent Information

Application Number
CN202011244338.3
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2020-11-10
Publication Date
2024-12-27
Estimated Expiration
2040-11-10

AI Technical Summary

Technical Problem

The existing chaotic systems have problems such as degradation of limited accuracy platforms, narrow available parameters and poor uniformity in image encryption, resulting in poor security of encryption algorithms and vulnerability to attacks.

Method used

The combined chaotic pseudo-random number generator is used to combine two one-dimensional chaotic systems and transform them through modular operations and stretching functions to improve the security and randomness of the encryption algorithm and enhance its resistance to attacks.

Benefits of technology

Maintain system stability on a limited accuracy platform, expand parameter range, generate uniformly distributed pseudo-random sequences, improve the security and resistance of the image encryption system, and enhance resistance to various attacks.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN112422269B_ABST
    Figure CN112422269B_ABST
Patent Text Reader

Abstract

The present invention relates to the field of chaotic system application and digital image encryption technology, and in particular to a digital image encryption method based on a combined chaotic pseudo-random number generator and the same. The encryption method includes: obtaining an image matrix composed of the size, number of channels and pixel values ​​of each sampling point of the original image; determining a grayscale image matrix according to the size, number of channels, image matrix and a preset first transformation algorithm of the original image; determining a diffusion image matrix according to the grayscale image matrix and a preset first diffusion algorithm. The beneficial technical effect of the present invention is that the combined chaotic pseudo-random number generator is not easy to degenerate on a limited precision platform such as a computer, has high sensitivity to changes in system control parameters and initial values, and generates a pseudo-random sequence with a long period and strong randomness. The encryption method has a large key space, high sensitivity to small changes in the plaintext image, strong resistance to various attack methods such as brute-force attacks and differential attacks, and high security.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The invention relates to the field of chaotic system application and digital image encryption technology, and in particular to a digital image encryption method based on a combined chaotic pseudo-random number generator. Background Art

[0002] Image encryption is a direct and effective method to protect digital images from attacks when they are transmitted in public channels. In recent years, with the development of computer and communication technology, especially the rapid growth of network bandwidth, multimedia information mainly composed of images and videos has gradually replaced traditional text information and become the main force of information exchange on the Internet. In this context, image encryption technology plays a very important role in personal privacy protection, commercial secrets protection and even national defense security and military fields.

[0003] Since chaotic systems have a series of good properties such as extreme sensitivity to initial values ​​and unpredictability, most of the existing image encryption algorithms are built based on chaotic systems, which results in the security of the algorithms largely relying on the performance of the underlying chaotic systems. However, some existing commonly used chaotic systems have some common problems when they are directly applied to image encryption: first, chaotic systems are always defined in the real number domain. When implemented on a finite precision platform such as a computer, the system may degenerate into a non-chaotic state, resulting in the disappearance of randomness; second, the available parameter range of existing chaotic systems is mostly limited and narrow, which results in a relatively small key space for encryption algorithms; finally, the uniformity of existing chaotic systems is poor and they cannot generate uniformly distributed random numbers, while uniform random sources are very important for image encryption algorithms. The above defects result in relatively poor security of some image encryption algorithms built based on chaotic systems, which are vulnerable to various attacks in practical applications. Summary of the invention

[0004] The objects of the present invention are:

[0005] A digital image encryption system based on a combined chaotic pseudo-random number generator is provided. By combining two existing one-dimensional chaotic systems and transforming them using modular operations and stretching functions, the security of the image encryption algorithm built based on the chaotic system is improved, the randomness of the encrypted image is enhanced, and the ability of the image encryption system to resist known plaintext attacks, chosen plaintext attacks, known ciphertext attacks and chosen ciphertext attacks is improved.

[0006] The specific technical solutions of the present invention are as follows:

[0007] 1. A combined chaotic pseudo-random number generator, characterized in that the device comprises:

[0008] A first seed mapping module, which calculates the state value of the first chaotic system at the next moment according to the state value of the combined chaotic system at the current moment and the preset control parameters;

[0009] A second seed mapping module, which calculates the state value of the second chaotic system at the next moment according to the state value of the combined chaotic system at the current moment and the preset control parameters;

[0010] A combining module, the module combining the state values ​​output by the first and second seed mappings;

[0011] A first modulo module, which performs a modulo operation on the combined state value of the combined module to determine its decimal part;

[0012] A stretching module, which performs a stretching operation on the decimal part of the combined state value of the combination module according to a preset stretching function to determine a stretching value;

[0013] The second modulo module performs a modulo operation on the stretching value to determine the state value of the combined chaotic system at the next moment.

[0014] Furthermore, the first chaotic system is any existing one-dimensional chaotic system, including but not limited to Logistic mapping, Tent mapping, Sine mapping, Chebyshev mapping and Gauss mapping; the second chaotic system is any existing one-dimensional chaotic system, including but not limited to Logistic mapping, Tent mapping, Sine mapping, Chebyshev mapping and Gauss mapping.

[0015] Furthermore, the combination modules are combined in ways including but not limited to addition, subtraction, multiplication, division, exponential operation, logarithmic operation, cascading and modulation.

[0016] Furthermore, the stretching function of the first modulo module is any function whose derivative is greater than 1 on a unit interval.

[0017] A digital image encryption method based on the combined chaotic pseudo-random number generator, the method comprising the following steps:

[0018] (5.1) Obtain the image matrix consisting of the size, number of channels and pixel values ​​of each sampling point of the original image;

[0019] (5.2) determining a grayscale image matrix according to the size, number of channels, image matrix and a preset first transformation algorithm of the original image;

[0020] (5.3) determining a diffusion image matrix according to the grayscale image matrix and a preset first diffusion algorithm;

[0021] (5.4) determining a scrambled image matrix according to the diffusion image matrix, the combined chaotic pseudo-random number generator and a preset first scrambling algorithm;

[0022] (5.5) determining a grayscale encrypted image matrix according to the scrambled image matrix, the combined chaotic pseudo-random number generator and a preset second diffusion algorithm;

[0023] (5.6) Determine the encrypted image matrix according to the size and number of channels of the original image, the grayscale encrypted image matrix and the preset second transformation algorithm.

[0024] Furthermore, the step (5.2) specifically includes:

[0025] (1) determining a single-channel image matrix corresponding to each channel of the original image according to the size, number of channels and image matrix of the original image;

[0026] (2) Horizontally connect the single-channel image matrix corresponding to each channel of the original image to obtain the grayscale image matrix.

[0027] Furthermore, the step (5.3) specifically includes:

[0028] (1) starting from the first row, sequentially performing a bitwise exclusive OR operation on each row of the grayscale image matrix and the corresponding elements of the next row adjacent thereto, and starting from the last row, sequentially performing an addition operation on each row of the grayscale image matrix and the corresponding elements of the previous row adjacent thereto, to determine a row diffusion matrix;

[0029] (2) Starting from the first column, each column of the row diffusion matrix is ​​sequentially subjected to a bitwise exclusive OR operation with the corresponding elements of the adjacent next column, and starting from the last column, each column of the row diffusion matrix is ​​sequentially subjected to an addition operation with the corresponding elements of the adjacent previous column to determine the diffusion image matrix.

[0030] Furthermore, the step (5.4) specifically includes:

[0031] (1) determining the first and second chaotic matrices according to the size of the diffusion image matrix and the combined chaotic pseudo-random number generator;

[0032] (2) Determine the scrambled image matrix according to the diffusion image matrix, the first and second chaotic matrices, and nine staggered arrangements of four elements.

[0033] Furthermore, the step (5.5) specifically includes:

[0034] (1) Dividing the scrambled image matrix into two parts, upper and lower, on average;

[0035] (2) determining the fingerprint of the lower half of the scrambled image matrix according to the lower half of the scrambled image matrix and a preset fingerprint generation algorithm;

[0036] (3) determining a third chaotic matrix according to the fingerprint of the lower half of the scrambled image matrix, the size of the upper half of the scrambled image matrix and the combined chaotic pseudo-random number generator;

[0037] (4) determining the lower half of the grayscale encrypted image matrix according to the third chaotic matrix, the upper half of the scrambled image matrix and a preset second diffusion algorithm;

[0038] (5) determining the fingerprint of the lower half of the grayscale encrypted image matrix according to the lower half of the grayscale encrypted image matrix and a preset fingerprint generation algorithm;

[0039] (6) determining a fourth chaotic matrix according to the fingerprint of the lower half of the grayscale encrypted image matrix, the size of the lower half of the scrambled image matrix, and the combined chaotic pseudo-random number generator;

[0040] (7) determining an upper half of the grayscale encrypted image matrix according to the fourth chaotic matrix, the lower half of the scrambled image matrix and a preset second diffusion algorithm;

[0041] (8) The upper half and the lower half of the grayscale encrypted image matrix are vertically connected to obtain the grayscale encrypted image matrix.

[0042] Furthermore, the step (5.6) specifically includes:

[0043] (1) horizontally dividing the grayscale encrypted image matrix according to the size of the original image, and determining a single-channel image matrix corresponding to each channel of the encrypted image matrix;

[0044] (2) Combining the single-channel image matrices corresponding to each channel of the encrypted image matrix to obtain the encrypted image matrix.

[0045] The beneficial technical effects of the present invention are as follows:

[0046] 1. The combined chaotic pseudo-random number generator of the present invention is not easy to degenerate on a limited precision platform such as a computer, has high sensitivity to changes in system control parameters and initial values, and has a wide range of parameter values;

[0047] 2. The pseudo-random sequence generated by the combined chaotic pseudo-random number generator of the present invention has a long period, uniform distribution and strong randomness.

[0048] 3. The digital image encryption method based on the combined chaotic pseudo-random number generator of the present invention has a large key space, high sensitivity to small changes in the plaintext image, strong resistance to various attack methods such as brute-force attack and differential attack, and high security.

[0049] 4. The digital image encryption method based on the combined chaotic pseudo-random number generator of the present invention has low difficulty in software and hardware implementation and high encryption efficiency. BRIEF DESCRIPTION OF THE DRAWINGS

[0050] Figure 1 A schematic diagram of the structure of a combined chaotic pseudo-random number generator provided by an embodiment of the present invention;

[0051] Figure 2 The present invention provides a flowchart of a digital image encryption method based on a combined chaotic pseudo-random number generator. DETAILED DESCRIPTION

[0052] The technical solutions in the embodiments of the present invention will be described in detail below in conjunction with the accompanying drawings in the embodiments of the present invention.

[0053] In the first aspect, the embodiment of the present invention provides a combined chaotic pseudo-random number generator, which can combine two existing one-dimensional chaotic systems and transform them using modular operations and stretching functions, thereby reducing the adverse effects of finite precision effects on chaotic systems, expanding the parameter range of chaotic systems, improving the uniformity of chaotic systems, and ultimately improving the security of image encryption algorithms based on chaotic systems. Figure 1 As shown, the structure of the device is as follows:

[0054] The first seed mapping module 100 is used to calculate the state value of the first chaotic system at the next moment according to the state value of the combined chaotic system at the current moment and the preset control parameters.

[0055] Specifically, the first chaotic system may be any existing one-dimensional chaotic system, such as Logistic mapping, Tent mapping, Sine mapping, Chebyshev mapping, Gauss mapping, etc., which is not limited in this embodiment.

[0056] Optionally, this embodiment is described by taking Logistic mapping as an example, and the first seed mapping module 100 calculates the state value of the first chaotic system at the next moment according to the following formula (1):

[0057] x t+1 =4r1z t (1-z t )#(1)

[0058] Where t is time, z trepresents the state value of the combined chaotic system at time t, x t+1 represents the state value of the first chaotic system at the next moment, and r1 is a control parameter. In particular, the system initial value z0 and the control parameter r1 are preset values, which are used as keys in the image encryption system.

[0059] The second seed mapping module 110 is used to calculate the state value of the second chaotic system at the next moment according to the state value of the combined chaotic system at the current moment and the preset control parameters.

[0060] Specifically, like the first chaotic system, the second chaotic system can be any existing one-dimensional chaotic system, which is not limited in this embodiment.

[0061] Particularly, the second chaotic system and the first chaotic system can be the same one-dimensional chaotic system.

[0062] Optionally, this embodiment is described by taking Sine mapping as an example, and the second seed mapping module 110 calculates the state value of the second chaotic system at the next moment according to the following formula (2):

[0063] y t+1 =r2 sin(πz t )#(2)

[0064] Where t is time, z t represents the state value of the combined chaotic system at time t, y t+1 represents the state value of the second chaotic system at the next moment, and r2 is the control parameter. In particular, the system initial value z0 and the control parameter r2 are preset values, which are used as keys in the image encryption system.

[0065] The combining module 120 is used to combine the state values ​​output by the two seed mappings.

[0066] Specifically, the combination method may be addition, subtraction, multiplication, division, exponential operation, logarithmic operation, cascade and modulation, etc., which is not limited in this embodiment.

[0067] Optionally, this embodiment takes additive combination as an example for explanation, and the combination module 120 calculates the combination of the state values ​​output by the two seed mappings according to the following formula (3):

[0068] s t+1 =x t11 +y t11 #(3)

[0069] where s t+1 An additive combination value of the state values ​​is output for the two seed maps.

[0070] The first modulo module 130 is used to perform a modulo operation on the combined state value to determine a decimal part thereof.

[0071] In implementation, the first modulo module 130 performs a modulo operation on the combined state value according to the following formula (4):

[0072]

[0073] in Represents the decimal part of the combined state value.

[0074] The stretching module 140 is used to perform a stretching operation on the decimal part of the combined state value according to a preset stretching function to determine a stretching value.

[0075] Specifically, the stretching function may be any function whose derivative is greater than 1 in the unit interval [0, 1], which is not limited in this embodiment.

[0076] Optionally, this embodiment is described by taking a quadratic function as an example, and the stretching module 140 calculates the stretching value according to the following formula (5):

[0077]

[0078] in is the stretch value.

[0079] The second modulo module 150 is used to perform a modulo operation on the stretching value to determine the state value of the combined chaotic system at the next moment.

[0080] In implementation, the second modulo module 150 performs a modulo operation on the combined state value according to the following formula (6):

[0081]

[0082] where z t+1 Represents the state value of the combined chaotic system at the next moment.

[0083] In the second aspect, the embodiment of the present invention provides a digital image encryption system based on a combined chaotic pseudo-random number generator. The system not only gives full play to the advantages of the chaotic system such as extreme sensitivity to initial values ​​and unpredictability, but also effectively avoids the disadvantages of the commonly used chaotic system such as sensitivity to limited precision effects, narrow range of available parameters, and poor uniformity, thereby improving the security of the image encryption algorithm based on the chaotic system, enhancing the randomness of the encrypted image, and improving the image encryption system's ability to resist known plaintext attacks, chosen plaintext attacks, known ciphertext attacks, and chosen ciphertext attacks. The executor of the method can be a communication terminal device such as a mobile phone or a computer.

[0084] The following will be combined Figure 2 , describes the execution process of this method in detail:

[0085] Step 200: Obtain the image matrix consisting of the size of the original image, the number of channels, and the pixel value of each sampling point.

[0086] In implementation, the user opens the corresponding application on the terminal and selects the image to be encrypted and transmitted. The terminal loads the image from local storage or network storage into the memory, thereby obtaining the image matrix composed of the size, number of channels and pixel values ​​of each sampling point of the original image, and starts to encrypt the image.

[0087] Step 210: Determine a grayscale image matrix according to the size, number of channels, image matrix and a preset first transformation algorithm of the original image.

[0088] In implementation, the terminal transforms the multi-channel color original image into a single-channel grayscale image by using a preset first transformation algorithm. Specifically, the first transformation algorithm can arrange the pixel values ​​of different channels according to any certain rule to obtain the grayscale image matrix, which is not limited in this embodiment.

[0089] Optionally, this embodiment takes a common RGB three-channel color image and a horizontal connection method as an example for description, and the specific processing process is as follows:

[0090] Step 1: performing color decomposition on the image matrix of the original image, and determining the single-channel image matrices corresponding to the three channels of R, G, and B respectively, and the three single-channel image matrices should have the same size;

[0091] Step 2: Connect the image matrix corresponding to the G channel to the right side of the image matrix corresponding to the R channel in the horizontal direction, and then connect the image matrix corresponding to the B channel to the right side of the image matrix corresponding to the G channel in the horizontal direction to obtain the grayscale image matrix corresponding to the original image.

[0092] In particular, if the original image is originally a single-channel grayscale image, step 210 does not make any changes, and directly outputs the original image matrix as the grayscale image matrix.

[0093] Step 220: Determine a diffusion image matrix according to the grayscale image matrix and a preset first diffusion algorithm.

[0094] In implementation, the terminal performs a diffusion operation on the grayscale image matrix by using a preset first diffusion algorithm to obtain a diffusion image matrix. Specifically, the first diffusion algorithm may be any image self-diffusion algorithm that does not rely on an external entropy source, which is not limited in this embodiment.

[0095] Optionally, this embodiment takes row-column bidirectional diffusion as an example, and the specific processing process is as follows:

[0096] Step 1: starting from the first row, perform bitwise XOR operation on each row of the grayscale image matrix and the corresponding elements of the next row adjacent to it according to the following formula (7), and starting from the last row, perform addition operation on each row of the grayscale image matrix and the corresponding elements of the previous row adjacent to it according to the following formula (8) to determine the row diffusion matrix;

[0097]

[0098]

[0099] Where P i,j represents the element in the i-th row and j-th column of the grayscale image matrix, is the row diffusion matrix, M is the row value of matrix P, and F represents the color depth of the grayscale image.

[0100] Step 2: Starting from the first column, perform bitwise XOR operation on each column of the row diffusion matrix and the corresponding elements of the adjacent next column according to the following formula (9), and starting from the last column, perform addition operation on each column of the row diffusion matrix and the corresponding elements of the adjacent previous column according to the following formula (10) to determine the diffusion image matrix.

[0101]

[0102]

[0103] Wherein H is the diffusion image matrix, and N is the column value of the matrix P.

[0104] Step 230: Determine a scrambled image matrix according to the diffusion image matrix, the combined chaotic pseudo-random number generator and a preset first scrambling algorithm.

[0105] In implementation, the terminal pre-stores a large number of random numbers generated by the combined chaotic pseudo-random number generator, or dynamically requests a certain number of random numbers from the combined chaotic pseudo-random number generator during the encryption process, and then performs a scrambling operation on the diffusion image matrix according to a preset first scrambling algorithm. The specific processing process is as follows:

[0106] Step 1: The terminal uses the random numbers generated by the combined chaotic pseudo-random number generator to construct a first chaotic matrix C (1) and the second chaotic matrix C (2) , and transform the elements of the two chaotic matrices so that Wherein M and N are the row value and column value of the diffusion image matrix respectively;

[0107] Step 2: From the first pixel H of the diffusion image matrix 1,1 Start scrambling, at this time i=j=1;

[0108] Step 3: Remember At this time, the following four situations are handled according to the values ​​of i, j, ic, and jc:

[0109] Case 1: If i = ic and j = jc, go to step 6;

[0110] Case 2: If i=ic and j≠jc, swap H i,j and H i,jc , go to step six;

[0111] Case 3: If i≠ic and j=jc, swap H i,j and H ic,j , go to step six;

[0112] Case 4: If i≠ic and j≠jc, four elements are selected from the diffusion image matrix H to form a sequence as shown in the following formula (11), and then go to step 4:

[0113]

[0114] Step 4: According to the following formulas (12)-(13), the sequence Rearrange the elements in :

[0115]

[0116] in is a quaternary permutation function, which outputs a sequence according to the permutation code k A misaligned arrangement There are 9 ways to arrange the four elements in a staggered manner. The 9 arrangements can be encoded according to a certain rule, which is not limited in this embodiment. The value of k is determined by the following formula (13):

[0117] k=(ic+jc)mod 9#(13)

[0118] Step 5: Using the staggered arrangement The four elements in replace the four elements selected in the diffusion image matrix H in the fourth case of step three according to the position correspondence;

[0119] Step 6: Update the values ​​of index i, j in order from left to right and from top to bottom to process the next pixel;

[0120] Step 7: Repeat steps 3 to 6 until all elements in the diffusion image matrix H are processed to obtain the scrambled image matrix.

[0121] Step 240: Determine a grayscale encrypted image matrix according to the scrambled image matrix, the combined chaotic pseudo-random number generator and a preset second diffusion algorithm.

[0122] In implementation, the terminal pre-stores a large number of random numbers generated by the combined chaotic pseudo-random number generator, or dynamically requests a certain number of random numbers from the combined chaotic pseudo-random number generator during the encryption process, and then performs a diffusion operation on the scrambled image matrix according to a preset second diffusion algorithm. The specific processing process is as follows:

[0123] Step 1, dividing the scrambled image matrix into two parts, upper and lower;

[0124] Step 2: Determine the fingerprint of the lower half of the scrambled image matrix according to the following formula (14):

[0125]

[0126] Wherein L represents the lower half of the scrambled image matrix, M and N are its row value and column value respectively, and ε1 represents the fingerprint of the lower half of the scrambled image matrix.

[0127] Step 3: Use the fingerprint of the lower half of the scrambled image matrix as the initial value of the combined chaotic pseudo-random number generator, and then request a certain number of random numbers from the combined chaotic pseudo-random number generator to construct a third chaotic matrix. The chaotic matrix should have the same size as the upper half of the scrambled image matrix;

[0128] Step 4: encrypt the first pixel in the lower half of the grayscale image matrix Start calculation, at this time i=j=1;

[0129] Step 5: Determine the neighbor index of the current pixel in the lower half of the grayscale encrypted image matrix according to the following equations (15)-(16):

[0130] i - =(i-2 mod M)+1#(15)

[0131] j - =(j-2 mod N)+1#(16)

[0132] Where M and N are the row and column values ​​of the lower half of the grayscale encrypted image matrix, respectively. - is the index of the adjacent row above the current pixel, j -is the index of the adjacent column to the left of the current pixel;

[0133] Step 6: Calculate the pixel value at position (i, j) of the lower half of the grayscale encrypted image matrix according to the following formula (17):

[0134]

[0135] in is the lower half of the grayscale encrypted image matrix, U is the upper half of the scrambled image matrix, F is the color depth of the grayscale encrypted image matrix, is the third chaotic matrix.

[0136] Step 7, updating the value of index i, j according to a zigzag route to calculate the next pixel in the lower half of the grayscale encrypted image matrix;

[0137] Step eight, repeating steps five to seven until all pixels in the lower half of the grayscale encrypted image matrix are determined.

[0138] Step 9: Use the fingerprint of the lower half of the grayscale encrypted image matrix as the initial value of the combined chaotic pseudo-random number generator, and then request a certain number of random numbers from the combined chaotic pseudo-random number generator to construct a fourth chaotic matrix. The chaotic matrix should have the same size as the lower half of the scrambled image matrix;

[0139] Step 10, the first pixel from the upper half of the grayscale encrypted image matrix Start calculation, at this time i=j=1;

[0140] Step 11, determining the neighbor index of the current pixel in the upper half of the grayscale encrypted image matrix according to equations (15)-(16);

[0141] Step 12: Calculate the pixel value at position (i, j) of the upper half of the grayscale encrypted image matrix according to the following formula (18):

[0142]

[0143] in is the upper half of the grayscale encrypted image matrix, L is the lower half of the scrambled image matrix, F is the color depth of the grayscale encrypted image matrix, is the fourth chaotic matrix.

[0144] Step 13, updating the values ​​of indexes i, j in a zigzag route to calculate the next pixel in the upper half of the grayscale encrypted image matrix;

[0145] Step 14: repeat steps 11 to 13 until all pixels in the upper half of the grayscale encrypted image matrix are determined.

[0146] Step fifteen: vertically connect the upper half and the lower half of the grayscale encrypted image matrix to determine the grayscale encrypted image matrix.

[0147] Step 250: Determine an encrypted image matrix according to the size and number of channels of the original image, the grayscale encrypted image matrix and a preset second transformation algorithm.

[0148] In implementation, the terminal transforms the single-channel grayscale encrypted image matrix into a multi-channel color image matrix according to the format of the original image through a preset second transformation algorithm, and the preset second transformation algorithm should correspond to the preset first transformation algorithm.

[0149] Optionally, this embodiment takes the inverse process of the preset first transformation algorithm described in step 210 as an example for description, and the specific processing process is as follows:

[0150] Step 1: Divide the grayscale encrypted image matrix into three parts in the horizontal direction, which are single-channel image matrices corresponding to the three channels of R, G, and B of the encrypted image matrix respectively;

[0151] Step 2: performing color mixing on the single-channel image matrices of the three channels R, G, and B of the encrypted image matrix to determine the encrypted image matrix.

[0152] In particular, if the original image is originally a single-channel grayscale image, step 250 does not make any changes, and directly outputs the grayscale encrypted image matrix as the encrypted image matrix.

Claims

1. A digital image encryption method combining a chaotic pseudo-random number generator, characterized in that: The method comprises the following steps: (1.1) Obtain the image matrix consisting of the size, number of channels and pixel values ​​of each sampling point of the original image; (1.2) determining a grayscale image matrix according to the size, number of channels, image matrix and a preset first transformation algorithm of the original image; (1.3) determining a diffusion image matrix according to the grayscale image matrix and a preset first diffusion algorithm; (1.4) determining a scrambled image matrix according to the diffusion image matrix, the combined chaotic pseudo-random number generator and a preset first scrambling algorithm; (1.5) determining a grayscale encrypted image matrix according to the scrambled image matrix, the combined chaotic pseudo-random number generator and a preset second diffusion algorithm; (1.6) determining an encrypted image matrix according to the size and number of channels of the original image, the grayscale encrypted image matrix and a preset second transformation algorithm; The step (1.2) specifically includes: (1) determining a single-channel image matrix corresponding to each channel of the original image according to the size, number of channels and image matrix of the original image; (2) horizontally connecting the single-channel image matrix corresponding to each channel of the original image to obtain the grayscale image matrix; The step (1.3) specifically includes: (1) Starting from the first row, each row of the grayscale image matrix is ​​sequentially subjected to a bitwise exclusive OR operation with the corresponding elements of the next row adjacent thereto, and starting from the last row, each row of the grayscale image matrix is ​​sequentially subjected to an addition operation with the corresponding elements of the previous row adjacent thereto, to determine a row diffusion matrix; (2) starting from the first column, sequentially performing a bitwise exclusive OR operation on each column of the row diffusion matrix and the corresponding elements of the adjacent next column, and starting from the last column, sequentially performing an addition operation on each column of the row diffusion matrix and the corresponding elements of the adjacent previous column to determine the diffusion image matrix; The step (1.4) specifically includes: (1) determining a first chaotic matrix and a second chaotic matrix according to the size of the diffusion image matrix and the combined chaotic pseudo-random number generator; (2) Determine the scrambled image matrix according to the diffusion image matrix and the first and second chaotic matrices.

2. The digital image encryption method of the combined chaotic pseudo-random number generator according to claim 1 is characterized in that: The step (1.5) specifically includes: (1) Dividing the scrambled image matrix into two parts, upper and lower; (2) determining the fingerprint of the lower half of the scrambled image matrix according to the lower half of the scrambled image matrix and a preset fingerprint generation algorithm; (3) determining a third chaotic matrix according to the fingerprint of the lower half of the scrambled image matrix, the size of the upper half of the scrambled image matrix and the combined chaotic pseudo-random number generator; (4) determining the lower half of the grayscale encrypted image matrix according to the third chaotic matrix, the upper half of the scrambled image matrix and the preset second diffusion algorithm; (5) determining the fingerprint of the lower half of the grayscale encrypted image matrix according to the lower half of the grayscale encrypted image matrix and a preset fingerprint generation algorithm; (6) determining a fourth chaotic matrix according to the fingerprint of the lower half of the grayscale encrypted image matrix, the size of the lower half of the scrambled image matrix and the combined chaotic pseudo-random number generator; (7) determining an upper half of the grayscale encrypted image matrix according to the fourth chaotic matrix, the lower half of the scrambled image matrix and a preset second diffusion algorithm; (8) The upper half and the lower half of the grayscale encrypted image matrix are vertically connected to obtain the grayscale encrypted image matrix.

3. The digital image encryption method of the combined chaotic pseudo-random number generator according to claim 1 is characterized in that: The step (1.6) specifically includes: (1) horizontally dividing the grayscale encrypted image matrix according to the size of the original image, and determining a single-channel image matrix corresponding to each channel of the encrypted image matrix; (2) Combining the single-channel image matrices corresponding to each channel of the encrypted image matrix to obtain the encrypted image matrix.

Citation Information

Patent Citations

  • Composite chaotic secondary scrambling image encryption algorithm

    CN108133446A

  • Color image compression encryption method based on compressed sensing and double random encryption mechanism

    CN111050020A

  • Chaotic image encryption method for cloud album

    TW201414258A

  • Method for encrypting and decrypting data using chaotic maps

    US6064738A

  • KR20190104728A