A pixel-level and bit-level joint encryption method based on a five-dimensional chaotic system
By employing a pixel-level and bit-level joint encryption method based on a five-dimensional chaotic system, the problems of long encryption time, low efficiency, and weak resistance to differential attacks in existing technologies are solved, achieving efficient and secure image encryption.
Patent Information
- Application Number
- CN202510350352.8
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2025-03-24
- Publication Date
- 2025-11-25
- Estimated Expiration
- 2045-03-24
AI Technical Summary
Existing image encryption methods are characterized by long processing times and low efficiency, weak resistance to differential attacks, low codon sensitivity, poor image encryption effect, and high information redundancy.
A pixel-level and bit-level joint encryption method based on a five-dimensional chaotic system is adopted. The initial value of the chaotic system is generated by the key, parity check filling and row and column cyclic shift are performed, and block diffusion and Zigzag path traversal are combined. Four-base and eight-base DNA encryption is used to perform multiple rounds of joint bit-level and pixel-level encryption.
It improves encryption time, enhances the diversity of chaotic properties and diffusion modes, reduces the risk of cracking, and improves security.
Smart Images

Figure CN120110641B_ABST
Abstract
Description
TECHNICAL FIELD
[0001] The present application relates to the technical field of chaotic system encryption, and particularly relates to a pixel-level and bit-level joint encryption method based on a five-dimensional chaotic system. BACKGROUND
[0002] The encryption method based on chaos has become one of the most ideal encryption methods due to the characteristics of high sensitivity to initial conditions, strong mixing, strong ergodicity and complex behavior. Therefore, many researchers have proposed a large number of image encryption schemes under chaotic systems.
[0003] The RNA encryption mode in JSDDR is single, the encryption effect is poor, the differential attack resistance is weak, and the correlation of the encrypted image is high. EDPD has a long encoding and decoding time, a high computing power requirement and a low execution efficiency due to the 8-base DNA cube recombination of the image. The DFDLC reconstruction cube algorithm is simple and easy to be cracked in reverse, suffers from differential attacks and has low security.
[0004] The existing encryption methods mainly have the following problems: 1. long encryption time and low execution efficiency; 2. not suitable for image encryption; 3. the differential attack resistance of part of the chaotic encryption algorithms is weak, and the codon sensitivity is not high; 4. the encryption effect of part of the encryption algorithms is poor, and the correlation and information redundancy of the encrypted image are still high. SUMMARY
[0005] In view of the above problems in the prior art, the pixel-level and bit-level joint encryption method based on a five-dimensional chaotic system provided by the present application solves the problems of long encryption time, low execution efficiency, unsuitability of traditional algorithms for image encryption and weak differential attack resistance of most chaotic encryption.
[0006] In order to achieve the above-mentioned application purposes, the technical scheme adopted by the present application is as follows: a pixel-level and bit-level joint encryption method based on a five-dimensional chaotic system, comprising the following steps:
[0007] S1: generating chaotic system initial values based on a key, and inputting the chaotic system initial values into a chaotic system to obtain a chaotic sequence;
[0008] S2: performing parity check padding on rows and columns of an input image to obtain a preprocessed image with an even side length;
[0009] S3: performing first round of row and column cyclic shift and block diffusion on the preprocessed image based on the chaotic sequence;
[0010] S4: expanding the image after block diffusion into a one-dimensional bit sequence, performing first round of joint bit-level and pixel-level joint encryption based on the chaotic sequence, and recombining the encrypted bit sequence into a three-channel image;
[0011] S5: the recombined three-channel image is subjected to a second round of row-column cyclic shift and block diffusion;
[0012] S6: the image subjected to block diffusion is re-expanded into a one-dimensional bit sequence, subjected to a second round of joint bit-level and pixel-level joint encryption based on a chaotic sequence, and recombined into a three-channel image to obtain an encrypted image.
[0013] Further, the S1 comprises the following steps:
[0014] S11: five initial values of a chaotic system are generated by selecting a 256-bit key;
[0015] S12: the five initial values of the chaotic system are input into the chaotic system, and a chaotic sequence is obtained by a second-order Runge-Kutta method.
[0016] Further, the S2 comprises the following steps:
[0017] S21: the input image is subjected to row pixel padding, and if the number of rows is odd, the last row of pixels is copied and the last bit of the padded column pixel is modified as a parity check bit;
[0018] S22: the input image is subjected to column pixel padding, and if the number of columns is odd, the last column of pixels is copied and the last bit of the padded row pixel is modified as a parity check bit to obtain a preprocessed image with an even side length.
[0019] Further, the row-column cyclic shift is: 1- N row and 1- N column are subjected to left shift and down shift cyclic shift by E bits, and the formula is:
[0020]
[0021] wherein, is the value of the chaotic sequence, is the floor function.
[0022] Further, the block diffusion comprises the following steps:
[0023] a1: XOR and NOT are performed on the corresponding bits of each 2x2 pixel block to complete four rounds of intra-block encryption;
[0024] a2: the encrypted blocks are taken as a whole, all pixel blocks are traversed through a Zigzag path, and XOR operation is performed between adjacent blocks;
[0025] The zigzag path is determined by the following rules: traversing the block from top left to bottom right, when encountering a left boundary, first accessing the adjacent block downward, and then changing the access order to bottom left to top right; when encountering a lower boundary, accessing the right block, and then changing the access order to bottom left to top right; when encountering an upper boundary, accessing the right block, and then changing the access order to top right to bottom left; when encountering a right boundary, accessing the lower block, and then changing the access order to top right to bottom left, until all blocks are accessed.
[0026] Further, the joint bit level and pixel level joint encryption is specifically: taking a chaotic sequence of a set length, traversing the chaotic sequence bit by bit to determine the operation mode, including:
[0027] 00 represents performing bit level encryption, taking a one-dimensional sequence and performing XOR with the next bit of the chaotic sequence;
[0028] 01 represents performing four-base DNA encryption, converting two bits of the original sequence into DNA bases, then finding the corresponding bases through the constructed DNA codon table, and converting them into a bit sequence to add to the encrypted sequence;
[0029] 10 represents performing eight-base DNA encryption, converting three bits of the original sequence into an eight-base DNA sequence, then converting them into corresponding bases through the constructed DNA codon table, and converting them into a bit sequence to add to the encrypted sequence;
[0030] 11 represents byte encryption, respectively representing taking the inverse, being unchanged, left circular shift, and XOR.
[0031] The beneficial effects of the present application are: 1) an improved chaotic system is proposed, which enhances the internal data correlation and enhances the chaotic properties, and the chaotic sequence generated has both periodic oscillation chaotic properties and sudden non-periodic changes. 2) a new diffusion method is proposed, which increases the diversity of the diffusion method, fully utilizes the properties of the chaotic sequence, and breaks the habit of thinking that encryption can only be performed at one encryption level, and proposes a new way of thinking for the diversification of diffusion methods. 3) increases information redundancy, improves cracking difficulty, reduces the risk of being cracked, and improves security by one step. BRIEF DESCRIPTION OF DRAWINGS
[0032] Figure 1 It is a pixel level and bit level joint encryption method flow chart based on a five-dimensional chaotic system.
[0033] Figure 2 It is a one-round block encryption flowchart.
[0034] Figure 3 It is a zigzag diagram of a nine-block graph.
[0035] Figure 4 is the initial image.
[0036] Figure 5 is a 4-base DNA codon table.
[0037] Figure 6 is an 8-base DNA codon table.
[0038] Figure 7 is a display diagram of each channel value of the image after the first recombination.
[0039] Figure 8 is a display diagram of each channel value of the image after the second row-column cyclic shift.
[0040] Figure 9 is a display diagram of each channel value of the image after the second joint bit level and pixel level encryption.
[0041] Figure 10 is an encrypted image.
[0042] Figure 11 is a display diagram of each channel value of the encrypted image. DETAILED DESCRIPTION
[0043] The present application will be further described below in conjunction with the accompanying drawings and specific embodiments.
[0044] As shown in Figure 1 , a pixel level and bit level joint encryption method based on a five-dimensional chaotic system includes the following steps:
[0045] S1: generating chaotic system initial values based on a key, and inputting the chaotic system initial values into a chaotic system to obtain a chaotic sequence;
[0046] S2: performing parity check padding on rows and columns of an input image to obtain a preprocessed image with an even side length;
[0047] S3: performing a first round of row-column cyclic shift and block diffusion on the preprocessed image based on the chaotic sequence;
[0048] S4: re-expanding the image after block diffusion into a one-dimensional bit sequence, performing a first round of joint bit level and pixel level joint encryption based on the chaotic sequence, and recombining the encrypted bit sequence into a three-channel image;
[0049] S5: performing a second round of row-column cyclic shift and block diffusion on the recombined three-channel image;
[0050] S6: re-expanding the image after block diffusion into a one-dimensional bit sequence, performing a second round of joint bit level and pixel level joint encryption based on the chaotic sequence, and recombining the encrypted bit sequence into a three-channel image to obtain an encrypted image.
[0051] The present application proposes a five-dimensional chaotic system for generating chaotic sequences, which has many properties, periodic oscillation and aperiodic jitter. Joint bit level and pixel level encryption is used, breaking the thinking environment of multiple encryption at multiple encryption levels in common encryption methods, and enriching the diversity of encryption methods.
[0052] The S1 includes the following steps:
[0053] S11: Select a 256-bit key to generate five initial values of the chaotic system;
[0054] S12: Put the five initial values of the chaotic system into the chaotic system, and obtain the chaotic sequence by the second-order Runge-Kutta method.
[0055] In this embodiment, a 256-bit key is selected, which is divided into four 64-bit sequences, then XORed with a 64-bit custom constant sequence, and the constant sequence is cyclically shifted left by 16 bits after each XOR operation, a total of four times, to obtain four new sequences. Each sequence is divided into eight 8-bit sequences, which are XORed with each other, and finally 16 8-bit sequences are obtained. Each sequence is converted to an integer, and 256 is taken modulo, to obtain 16 floating-point numbers. The first twelve are added every three as the first four initial values of the chaotic system, and the last four are added to obtain the last initial value. Put the five initial values into the chaotic system, and solve the chaotic system every 0.01 interval by the second-order Runge-Kutta method. The length and width of the image are length and width, and it is assumed that they are 3-channel images. A chaotic sequence with a size of 5* (length*width*8) is generated.
[0056] The S2 includes the following steps:
[0057] S21: Fill the row pixels of the input image, if the number of rows is odd, copy the last row of pixels and modify the last bit of the filled column pixels as the parity bit;
[0058] S22: Fill the column pixels of the input image, if the number of columns is odd, copy the last column of pixels and modify the last bit of the filled row pixels as the parity bit, to obtain a preprocessed image with an even side length.
[0059] Let Put the five initial values into the chaotic system to generate a chaotic sequence with a size of 5* N*N *3*8. Take a random sequence of 2*(48), and construct the initial four-base and eight-base codon tables in ascending order.
[0060] Take a random sequence of 2* N , convert it to a cyclic shift index sequence, and perform the first round of cyclic shift.
[0061] The row-column cyclic shift is: sequentially left shift and down shift E-bit cyclic shift for 1- N row and 1- N column, the formula is:
[0062]
[0063] Wherein, is the value of the chaotic sequence, is the floor.
[0064] The block diffusion includes the following steps:
[0065] a1: XOR and NOT for the corresponding bits of each 2*2 pixel block, complete four rounds of block encryption;
[0066] a2: Take the encrypted block as a whole, traverse all pixel blocks through Zigzag path, and perform XOR operation between adjacent blocks;
[0067] Here, taking a single channel pixel as an example:
[0068] The four pixels of a 2*2 pixel block are numbered as a11, a12, a21, and a22.
[0069] As shown in Figure 2 , first take the 345th xyz and 678th ijk of a22 pixel, take the ijk (combined into binary number) of a11 pixel and XOR with the even bits of ijk and xyz, take the xyz of a11 pixel and XOR with the odd bits of ijk and xyz, exchange the last three bits of a22 and the first three bits of a11 (for other pixels, it is the previous pixel), then NOT ijk and xyz, after four rounds of pixels, each block encryption ends.
[0070] Then take the encrypted block as a whole, and perform XOR operation between adjacent blocks in Zigzag shape.
[0071] Here, the number of blocks is set to m*n, and the currently selected block is Bij, the next block selected can be determined by the following method.
[0072] The Zigzag path is determined by the following rules: Blocks are traversed from top left to bottom right. When a left boundary is encountered, the adjacent block is visited first, and then the visiting order is changed to bottom left to top right. When a bottom boundary is encountered, the right block is visited, and then the visiting order is changed to bottom left to top right. When a top boundary is encountered, the right block is visited, and then the visiting order is changed to top right to bottom left. When a right boundary is encountered, the block below is visited, and then the visiting order is changed to top right to bottom left, until all blocks have been visited. Figure 3 As shown.
[0073] Zigzag:
[0074] function getNextZigzagPixel(m, n, i, j):
[0075] if (i + j) % 2 == 0:
[0076] if (j == 1) and (i <m):
[0077] i += 1 / / Move down
[0078] else if (i == m) and (j <n):
[0079] j += 1 / / Move to the right
[0080] else:
[0081] i -= 1 / / Decrease the number of rows
[0082] j += 1 / / Increase the number of columns
[0083] else:
[0084] / / Odd diagonal, traverse upwards (rows decrease, columns increase)
[0085] if (i == 1) and (j <n):
[0086] j += 1 / / Move to the right
[0087] else if (j == n) and (i <m):
[0088] i += 1 / / Move down
[0089] else:
[0090] i += 1 / / Increase the number of rows
[0091] j -= 1 / / Decrease the number of columns
[0092] return (i, j)
[0093] Next, the first round of joint bit level and pixel level joint encryption is performed.
[0094] Take N*N* 3*3 chaotic sequence, and perform the following operations:
[0095]
[0096] wherein, is a self-defined normal number.
[0097] The joint bit level and pixel level joint encryption is specifically: taking a chaotic sequence of a set length, the chaotic sequence is traversed bit by bit to determine the operation mode, including:
[0098] 00 represents performing bit level encryption, and a one-dimensional sequence is taken and XORed with the next bit of the chaotic sequence;
[0099] 01 represents performing four-base DNA encryption, converting two bits of the original sequence into DNA bases, then finding the corresponding bases through a constructed DNA codon table (a total of four sub-tables), and converting them into a bit sequence to be added to the encrypted sequence;
[0100] 10 represents performing eight-base DNA encryption, converting three bits of the original sequence into an 8-base DNA sequence, then converting them into corresponding bases through a constructed DNA codon table (a total of four sub-tables), and converting them into a bit sequence to be added to the encrypted sequence;
[0101] 11 represents performing byte encryption, respectively representing negation, no change, left circular shift, and XOR. The last two operation modes still take the last four bits for operation.
[0102] The number of bits required by the above four methods is 3, 4, 6, and 8, respectively, and the worst case is taken N*N *3*3 sequence length can be completely encrypted successfully.
[0103] The encrypted sequence is reorganized to regenerate an RGB image. 8 bits are taken in turn to be the RGB pixels of each pixel, and finally N*N *3 RGB image is restored.
[0104] Take a N random sequence of 2 , convert it into an index sequence of circular shift, and perform the second round of circular shift.
[0105] N Take a random sequence of 2
[0106] , and then perform the following operations
[0107] 1- N row, 1- N column are left shifted and down shifted by E bits cyclic shift.
[0108] The block diffusion is performed again, the block diffusion image is unfolded into a one-dimensional bit sequence, and the new sequence is subjected to joint bit level and DNA level encryption to obtain a new chaotic sequence.
[0109] The new chaotic sequence is converted into an RGB image in the following manner to obtain an encrypted image. 1 bit is sequentially taken and filled into the RGB pixels of each pixel, and finally restored into an RGB image of 3. N*N *3.
[0110] In an embodiment of the application, the picture size is 5*5*3; and an image with each pixel being 128 is taken as an initial image to facilitate observation of the encryption process of data, as shown in the following figure. Figure 4
[0111] If the initial key of the system is Init_Key, it is assumed that it has been divided into four 64-bit sequences, denoted as Init_Key[1], Init_Key[2], Init_Key[3], and Init_Key[4], for example:
[0112] Init_Key=[12345678,3445567843,46679875,35578990];
[0113] A self-defined 64-bit constant sequence is as follows:
[0114] Const_Val=2446754374836847758;
[0115] Then, the Init_Key and the Const_Val are subjected to bitwise XOR, and the result is a four-dimensional sequence, denoted as Inter_Val, and the calculation process is as follows:
[0116] Inter_Val[1]=Init_key[1]^Const_Val=2446754374831367616; / / XOR is performed
[0117] At this time, the Const_Val is updated as follows:
[0118] Const_Val=bitshift(Const_Val,16)+bitshift(Const_Val,-48)=11395220624232030708; / / left cyclic shift by 16 bits.
[0119] Repeat this process until four intermediate values Inter_Val are obtained; the final Inter_Val is as follows:
[0120] Inter_Val = [2446754374831367680, 1139525796217675980, 1638677255111927040, 13855365463285364736];
[0121] Cut the sequence to obtain a new 8-bit sequence:
[0122] Uint8Seq = [33, 244, 158, 35, 244, 116, 230, 0,...];
[0123] XOR pairwise to obtain a new sequence:
[0124] 33 ^ 244 = 213, ...,
[0125] Result = [213, 189, 128, 230, 186, 171, 147, 200, 171, 136, 121, 101, 136, 95, 182, 248];
[0126] Convert to double:
[0127] 213 / 256 = 0.83203125; ...,
[0128] Db_sq = [0.83203125, 0.73828125, 0.5, 0.8984375, 0.7265625, 0.66796875, 0.57421875, 0.78125, 0.66796875, 0.53125, 0.47265625, 0.39453125, 0.53125, 0.37109375, 0.7109375, 0.96875];
[0129] For the first twelve elements, add three to obtain the first four initial values:
[0130] Init_val1 = (0.832031 + 0.738281 + 0.500000) = 2.070312
[0131] Init_val2 = (0.898438 + 0.726562 + 0.667969) = 2.292969
[0132] Init_val3 = (0.574219 + 0.781250 + 0.667969) = 2.023438
[0133] Init_val4 = (0.531250 + 0.472656 + 0.394531) = 1.398438
[0134] The last four elements are added and negated to be the fifth initial value:
[0135] Init_val5 = -(0.531250 + 0.371094 + 0.710938 + 0.968750) = -2.582031
[0136] Here, the picture size is taken as 5*5*3; each pixel in each channel is 128. A total of 5*(5*5*10) length chaotic sequence is generated, denoted as Xt.
[0137] The side length is filled to an even number. Here, the number of columns is checked first, and the number of columns is 5, so the last column of pixels is copied, and the parity bit is checked, and then the number of rows is checked, and the last row is copied to make the number of rows even, so the result is a filled image with a size of 6*6*3, and each pixel is 128.
[0138] Take Xt(4:5,1:40) to generate 4-base DNA and 8-base DNA codon tables.
[0139] The method is as follows: take Xt(4,1:4), Xt(4,5:8), Xt(5,1:4), and Xt(5,5:8) to sort, and construct a 4-base DNA codon table according to the sorted index. Similarly, take Xt(4,9:16), Xt(4,16:24), Xt(4,9:16), Xt(4,16:24), Xt(4,25:32), Xt(4,33:40), Xt(5,9:16), Xt(5,16:24), Xt(5,9:16), Xt(5,16:24), Xt(5,25:32), and Xt(5,33:40) to construct an eight-base codon table. With 00->A, 11->T, 01->G, and 10->C as the base correspondence, the generated codon table is as shown in Figure 5 and Figure 6 .
[0140] Take Xt(4:5,41:46), take the decimal part to sort, record the sorted index, and perform row and column shift operations on each row and each column.
[0141] After the diffusion of each block, the final result is that each pixel block has [228, 246; 36, 66] in each channel.
[0142] Then, the next pixel is covered by zigzag XORing each pixel block with the next pixel block. Finally, some pixel blocks have 0 in each channel, and the sum of the row and column numbers of these pixels is odd. Another part of the pixel blocks has [28, 246; 36, 66] in each channel, and the sum of the row and column numbers of these pixels is even.
[0143] The first round of joint bit-level and pixel-level encryption is performed:
[0144] Each channel of each pixel of the image is recorded in a new one-dimensional array, and the final result is [28, 28, 28, 246, 246, 246, 0, 0, 0, 0, 0, 0,..., 36, 36, 36, 66, 66, 66, 0, 0, 0, 0, 0, 0,...] (the ellipsis represents repeating the previous data until the array length is 6*6*3).
[0145] Take Xt(41:end, 4:5) and expand it into a shift sequence. Convert the decimal part to uint8.
[0146] The following will be converted into a binary data stream. Start the joint bit-level and pixel-level encryption:
[0147] Where Xt is converted into a binary bit stream: [01011101 01100000 01100010 01100100...]
[0148] The image is converted into a binary stream imgbit: [00011100, 00011100,...]
[0149] Example steps:
[0150] Operation 1:
[0151] Take Xt[1:2]=01 as the operation code and perform four-base DNA encryption.
[0152] Take imgbit[1:2]=00 and convert it to base A for 4-base DNA encryption.
[0153] Take Xt[3:4]=01 and convert it to integer 2 (after converting to an integer, add one). Take the second sub-table for operation. The corresponding base is A, which is converted to bit sequence 00 as the output bit sequence.
[0154] Operation 2:
[0155] Take Xt[5:6]=11 as the operation code, take Xt[7:8]=01 as the sub-operation code, which represents the last four bits of Xt, but remains unchanged.
[0156] Take imgbit[3:6]=0111, unchanged, output.
[0157] Operation 3:
[0158] Take Xt[9:10]=01 as the operation code, and perform four-base DNA encryption.
[0159] Take imgbit[7:8]=00, convert to base A, and perform 4-base DNA encryption.
[0160] Take Xt[11:12]=10 to 3, take the third sub-table to operate. The corresponding base is G, which is converted to 10 and added to the output queue.
[0161] So the bit sequence of the first pixel is 00011110, i.e. 30.
[0162] Operation 4:
[0163] Take Xt[13:14]=00 as the operation code, and perform XOR operation.
[0164] Take imgbit[9]=0. Take Xt
[15] =0 as the sub-operation code; the XOR result is 0, which is added to the output queue.
[0165] Operation 5:
[0166] Take Xt[16:17]=00 as the operation code, and perform XOR operation, take Xt
[18] =1 as the sub-operation code.
[0167] Take imgbit
[10] =0, XOR with Xt
[18] , the result is 1, which is added to the output queue.
[0168] Operation 6:
[0169] Take Xt[19:20]=10 as the operation code, and perform eight-base DNA encryption.
[0170] Take imgbit[11-13]=011, convert to eight-base DNA base B.
[0171] Take Xt[21:23]=001 to 2, take the second sub-table to operate. The corresponding base is G, which is converted to 010 and added to the output queue.
[0172] Operation 7:
[0173] Take Xt[24:25]=00 as the operation code, and perform XOR operation.
[0174] Take imgbit
[14] =1, take Xt
[26] =1, XOR result is 0, add to the output queue.
[0175] Operation 8:
[0176] Take Xt[27-28]=10, do eight-base DNA encryption.
[0177] Take imgbit[15-17]=000, convert to base A, take the next operation code Xt[29-31]=010, convert to 3.
[0178] Take the third sub-table to operate, convert to base B, byte stream 111, add to the output stream,
[0179] So the bit sequence of the second pixel is 01010011.
[0180] By analogy, until the result bit sequence is obtained.
[0181] Distribute according to each pixel channel, and the encryption result is as shown in Figure 7 .
[0182] Take Xt(4:5,41:46), take the decimal part to sort, record the sorting index, and perform row and column shift operations on each row and each column according to the sorting index. The result is as shown in Figure 8 .
[0183] Again, block diffusion is performed. The result is as shown in Figure 9 .
[0184] The image is re-expanded by pixel, and then new joint bit level and pixel level joint encryption is performed, which will not be repeated.
[0185] Recombine into an encrypted image, and the result is as shown in Figure 10 and Figure 11 .
[0186] Those skilled in the art will appreciate that the embodiments described herein are intended to help the reader understand the principles of the present application and should be understood as not limiting the scope of protection of the present application to such specific statements and embodiments. Those skilled in the art can make various other specific modifications and combinations according to the technical inspiration disclosed in the present application without departing from the essence of the present application, and these modifications and combinations are still within the scope of protection of the present application.
Claims
1. A pixel-level and bit-level joint encryption method based on a five-dimensional chaotic system, characterized in that, The method comprises the following steps: S1: generating an initial value of a chaotic system based on a key, and inputting the initial value of the chaotic system into the chaotic system to obtain a chaotic sequence; S2: performing parity check padding on rows and columns of an input image to obtain a preprocessed image with an even side length; S3: performing first round of row-column cyclic shift and block diffusion on the preprocessed image based on the chaotic sequence; S4: expanding the image after the block diffusion into a one-dimensional bit sequence, performing first round of joint bit-level and pixel-level joint encryption based on the chaotic sequence, and recombining the encrypted bit sequence into a three-channel image; S5: performing second round of row-column cyclic shift and block diffusion on the recombined three-channel image; S6: expanding the image after the block diffusion into a one-dimensional bit sequence, performing second round of joint bit-level and pixel-level joint encryption based on the chaotic sequence, and recombining the encrypted bit sequence into a three-channel image to obtain an encrypted image. 2.The pixel-level and bit-level joint encryption method based on five-dimensional chaotic system according to claim 1, wherein, The S1 comprises the following steps: S11: selecting a 256-bit key to generate five initial values of a chaotic system; S12: inputting the five initial values of the chaotic system into the chaotic system to obtain a chaotic sequence by a second-order Runge-Kutta method. 3.The pixel-level and bit-level joint encryption method based on five-dimensional chaotic system according to claim 1, characterized in that, The S2 comprises the following steps: S21: performing row pixel padding on the input image, if the number of rows is odd, copying the pixels of the last row and modifying the last bit of the padded column pixels as a parity check bit; S22: performing column pixel padding on the input image, if the number of columns is odd, copying the pixels of the last column and modifying the last bit of the padded row pixels as a parity check bit, to obtain a preprocessed image with an even side length.
4. The pixel-level and bit-level joint encryption method based on five-dimensional chaotic system according to claim 1, characterized in that, The row-column cyclic shift is: sequentially left shift and down shift E-bit cyclic shift for 1- N row and 1- N column, the formula is: wherein is a value of a chaotic sequence, is rounded down.
5. The pixel-level and bit-level joint encryption method based on five-dimensional chaotic system according to claim 1, characterized in that, The block diffusion comprises the following steps: a1: performing XOR and inversion on corresponding bits of each 2*2 pixel block to complete four rounds of intra-block encryption; a2: taking the encrypted block as a whole, traversing all pixel blocks through a Zigzag path, and performing XOR operation between adjacent blocks; The Zigzag path is determined by the following rules: traversing the blocks from top left to bottom right, when encountering a left boundary, first accessing an adjacent block downward, and then changing the access order to bottom left to top right; when encountering a lower boundary, accessing the right block, and then changing the access order to bottom left to top right; when encountering an upper boundary, accessing the right block, and then changing the access order to top right to bottom left; when encountering a right boundary, accessing the lower block, and then changing the access order to top right to bottom left, until all blocks are accessed.
6. The pixel-level and bit-level joint encryption method based on five-dimensional chaotic system according to claim 1, characterized in that, The joint bit-level and pixel-level joint encryption is specifically: taking a chaotic sequence of a set length, traversing the chaotic sequence bit by bit to determine the operation mode, including: 00 represents bit-level encryption, taking a one-dimensional sequence and the next bit of the chaotic sequence to perform XOR operation; 01 represents four-base DNA encryption, converting two bits of the original sequence into DNA bases, then finding the corresponding bases through a constructed DNA codon table, and converting them into a bit sequence to add to the encrypted sequence; 10 represents eight-base DNA encryption, converting three bits of the original sequence into an 8-base DNA sequence, then converting the corresponding bases through a constructed DNA codon table, and converting them into a bit sequence to add to the encrypted sequence; 11 represents performing byte encryption, and respectively represents negation, no change, left circular shift, and XOR.
Citation Information
Patent Citations
Method for encrypting bit-level synchronous promiscuous diffusion images and pixel-level annular diffusion images
CN108319859A
Mixing chaos and block scrambling image encryption algorithm
CN114389788A