Image transmission method and device based on complex chaotic system

By converting the image to be transmitted into a combination of multiple sets of pixel points, and using the spatiotemporal chaos model and DNA encoding for encryption, the problem that traditional encryption algorithms are easily cracked is solved, and high-security transmission of image data is achieved.

CN119363894BActive Publication Date: 2025-03-25北京云一科技有限公司
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202411369861.7
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2024-09-29
Publication Date
2025-03-25
Estimated Expiration
2044-09-29

AI Technical Summary

Technical Problem

Traditional encryption algorithms are prone to rapid cracking by attackers when the key length is short, resulting in image data leakage.

Method used

The image transmission method based on a complex chaotic system is adopted, and the image to be transmitted is converted into multiple groups of pixel points, and the encryption process is performed using the spatiotemporal chaos model and DNA encoding to generate ciphertext values ​​to ensure the secure transmission of image data.

Benefits of technology

Since the dynamic behavior of the spatiotemporal chaotic model is highly sensitive to initial conditions, the output is difficult to predict, which enhances the security of the encryption process. DNA encoding provides a large number of combination methods, increasing the complexity of encrypted data, making cracking more difficult and ensuring the security of image data.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119363894B_ABST
    Figure CN119363894B_ABST
Patent Text Reader

Abstract

The present application discloses an image transmission method and device based on a complex chaotic system, which obtains and converts the image to be transmitted into multiple groups of pixel combinations; for each pixel of the current pixel combination, obtains the DNA code corresponding to the pixel; encrypts the DNA code to obtain the ciphertext value of the pixel; selects any pixel combination except the current pixel combination, and takes the pixel combination as the current pixel combination, and then returns to execute the step of obtaining the DNA code corresponding to the pixel for each pixel of the current pixel combination; when the spatiotemporal chaos model is updated, an encrypted image is generated based on the ciphertext values ​​of all pixels, and the encrypted image is transmitted. The image to be transmitted is encrypted by the spatiotemporal chaos model and DNA coding, which provides a large number of combinations, increases the complexity of the encrypted data, makes it more difficult to crack, and thus ensures the security of the image.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present application relates to the field of image processing technology, and in particular to an image transmission method and device based on a complex chaotic system. Background Art

[0002] In today's digital information transmission and storage environment, the security of image data has attracted much attention. Encryption and decryption systems are important technical means to protect image privacy and prevent unauthorized access.

[0003] At present, traditional encryption algorithms (such as Caesar cipher, Vigenère cipher, etc.) are generally used to encrypt images and transmit the encrypted images. However, traditional encryption algorithms usually use shorter keys, and attackers can quickly find the keys through exhaustive methods (i.e., trying all possible keys) or brute force cracking, resulting in image data leakage.

[0004] Therefore, how to ensure the security of image data has become an urgent problem to be solved in this field. Summary of the invention

[0005] The present application provides an image transmission method and device based on a complex chaotic system, the purpose of which is to ensure the security of image data.

[0006] In order to achieve the above objectives, this application provides the following technical solutions:

[0007] An image transmission method based on a complex chaotic system, applied to a sending end, comprises:

[0008] Acquire and convert the image to be transmitted into multiple groups of pixel combinations;

[0009] Select any pixel point combination from all pixel point combinations as the current pixel point combination;

[0010] For each pixel point of the current pixel point combination, a DNA code corresponding to the pixel point is obtained from a code conversion table; the code conversion table is pre-constructed based on a spatiotemporal chaos model;

[0011] Encrypting the DNA code corresponding to the pixel point to obtain the ciphertext value of the pixel point;

[0012] Determine whether all pixel combinations have completed encryption processing;

[0013] If any pixel point combination has not completed the encryption process, any pixel point combination other than the current pixel point combination is selected from all pixel point combinations, and the pixel point combination is used as the current pixel point combination, and the process returns to the step of obtaining the DNA code corresponding to each pixel point in the current pixel point combination from the code conversion table;

[0014] If the encryption process is completed for all pixel combinations, the spatiotemporal chaos model is iteratively updated using the ciphertext values ​​of all pixel points; the ciphertext values ​​of all pixel points indicate the ciphertext value of each pixel point in the all pixel combinations;

[0015] When the spatiotemporal chaos model is updated, an encrypted image is generated based on the ciphertext values ​​of all the pixels, and the encrypted image is transmitted to a receiving end.

[0016] Optionally, the acquiring and converting the image to be transmitted into a plurality of groups of pixel point combinations includes:

[0017] Acquire the image to be transmitted;

[0018] Dividing the image to be transmitted into a plurality of two-dimensional matrices; wherein one of the two-dimensional matrices corresponds to one color channel;

[0019] For each of the two-dimensional matrices, read pixel points in the two-dimensional matrix row by row from left to right and from top to bottom according to the two-dimensional matrix, and store the pixel points in a one-dimensional matrix;

[0020] The pixel points in the one-dimensional matrix are grouped to obtain a plurality of pixel point combinations.

[0021] Optionally, for each pixel of the current pixel combination, obtaining a DNA code corresponding to the pixel from a code conversion table includes:

[0022] For each pixel in the current pixel combination, dividing the pixel into a plurality of bit units;

[0023] For each of the bit units, the DNA code corresponding to the bit unit is obtained from the code conversion table to obtain the DNA code corresponding to the pixel point.

[0024] Optionally, encrypting the DNA code corresponding to the pixel point to obtain the ciphertext value of the pixel point includes:

[0025] Performing encryption operation on the DNA code corresponding to the pixel point to obtain an encrypted DNA code;

[0026] Filtering out bit data corresponding to the encrypted DNA code from the code conversion table;

[0027] Arrange and combine a plurality of the bit data to obtain a ciphertext value of the pixel.

[0028] Optionally, the process of pre-building the encoding conversion table based on the spatiotemporal chaos model includes:

[0029] Obtaining and dividing a key of preset bits to obtain a plurality of bytes; wherein each of the bytes contains the same number of bits;

[0030] Initializing the spatiotemporal chaos model using all bytes to obtain an initialized spatiotemporal chaos model; wherein the initialized spatiotemporal chaos model includes a plurality of grids, each of which has a corresponding state value;

[0031] Creating an index for each of the grids in descending order of the state values;

[0032] For each of the grids, calculate the absolute value of the product of the state value of the grid and 256 to obtain an integer value of the grid;

[0033] Dividing the integer value of the grid to obtain a plurality of bit data;

[0034] For each bit of data, convert the bit of data into a DNA base to obtain a DNA code;

[0035] A coding conversion table is established based on the index of each grid, the bit data corresponding to each grid and the DNA code corresponding to the bit data.

[0036] Optionally, also include:

[0037] Get the information to be hidden;

[0038] Filtering out a carrier pixel point set from the image to be transmitted; wherein the carrier pixel point set includes a plurality of carrier pixel points;

[0039] For each of the carrier pixels, the least significant bit of the carrier pixel is replaced with the information to be hidden.

[0040] An image transmission method based on a complex chaotic system, applied to a receiving end, comprises:

[0041] When the encrypted image is received, the encrypted image is converted into a plurality of two-dimensional matrices; wherein one of the two-dimensional matrices corresponds to one color channel;

[0042] For each of the two-dimensional matrices, permuting the pixels in the two-dimensional matrix in rows and columns to obtain a permuted two-dimensional matrix;

[0043] For each pixel point in the permuted two-dimensional matrix, a DNA code corresponding to the pixel point is obtained from a code conversion table; the code conversion table is pre-constructed based on a spatiotemporal chaos model;

[0044] Performing a decryption operation on the DNA code corresponding to the pixel point to obtain a decrypted DNA code;

[0045] Obtaining pixel points corresponding to the decrypted DNA code from the code conversion table to obtain decoded pixel points;

[0046] A decrypted image is generated based on the decoded pixels.

[0047] Optionally, generating a decrypted image based on the decoded pixel points includes:

[0048] For each permuted two-dimensional matrix, deleting decoded pixel points with pixel values ​​of 0 in the permuted two-dimensional matrix to obtain a deleted two-dimensional matrix;

[0049] Merge all deleted two-dimensional matrices to obtain the decrypted image.

[0050] Optionally, also include:

[0051] Extract the least significant bit of the carrier pixel from the decrypted image;

[0052] The least significant bits are sorted to obtain the information to be hidden.

[0053] An image transmission device based on a complex chaotic system, applied to a transmitting end, comprises:

[0054] A first acquisition unit, used for acquiring and converting the image to be transmitted into a plurality of pixel point combinations;

[0055] A first selection unit, used to select any pixel point combination from all pixel point combinations as the current pixel point combination;

[0056] A second acquisition unit is used to acquire, for each pixel point of the current pixel point combination, a DNA code corresponding to the pixel point from a code conversion table; the code conversion table is pre-constructed based on a spatiotemporal chaos model;

[0057] An encryption unit, used for encrypting the DNA code corresponding to the pixel point to obtain a ciphertext value of the pixel point;

[0058] A judging unit, used to judge whether all pixel combinations have completed encryption processing;

[0059] A second selection unit is used for selecting any pixel point combination other than the current pixel point combination from all pixel point combinations if any pixel point combination has not completed encryption processing, and after taking the pixel point combination as the current pixel point combination, returning to execute the step of obtaining a DNA code corresponding to each pixel point of the current pixel point combination from a code conversion table;

[0060] An updating unit, configured to iteratively update the spatiotemporal chaos model using the ciphertext values ​​of all the pixels if the encryption processing of all the pixel combinations is completed; the ciphertext values ​​of all the pixels indicate the ciphertext value of each pixel in the all the pixel combinations;

[0061] A transmission unit is used to generate an encrypted image based on the ciphertext values ​​of all the pixels when the spatiotemporal chaos model is updated, and transmit the encrypted image to a receiving end.

[0062] An image transmission device based on a complex chaotic system, applied to a receiving end, comprises:

[0063] A conversion unit, configured to convert the encrypted image into a plurality of two-dimensional matrices when receiving the encrypted image; wherein one of the two-dimensional matrices corresponds to one color channel;

[0064] a replacement unit, configured to perform row-column replacement of pixel points in each of the two-dimensional matrices to obtain a replaced two-dimensional matrix;

[0065] A first acquisition unit is used to acquire, for each pixel point in the permuted two-dimensional matrix, a DNA code corresponding to the pixel point from a code conversion table; the code conversion table is pre-constructed based on a spatiotemporal chaos model;

[0066] A decryption unit, used to perform a decryption operation on the DNA code corresponding to the pixel point to obtain a decrypted DNA code;

[0067] A second acquisition unit is used to acquire the pixel points corresponding to the decrypted DNA code from the code conversion table to obtain the decoded pixel points;

[0068] A generating unit is used to generate a decrypted image based on the decoded pixel points.

[0069] The technical solution provided by the present application obtains and converts the image to be transmitted into multiple groups of pixel point combinations; selects any pixel point combination from all pixel point combinations as the current pixel point combination; for each pixel point of the current pixel point combination, obtains the DNA code corresponding to the pixel point from the code conversion table; encrypts the DNA code corresponding to the pixel point to obtain the ciphertext value of the pixel point; determines whether all pixel point combinations have completed the encryption process; if any pixel point combination has not completed the encryption process, selects any pixel point combination except the current pixel point combination from all pixel point combinations, and uses the pixel point combination as the current pixel point combination, and then returns to execute the step of obtaining the DNA code corresponding to the pixel point from the code conversion table for each pixel point of the current pixel point combination; if all pixel point combinations have completed the encryption process, the spatiotemporal chaos model is iteratively updated using the ciphertext values ​​of all pixel points; when the spatiotemporal chaos model is updated, an encrypted image is generated based on the ciphertext values ​​of all pixel points, and the encrypted image is transmitted to the receiving end. In this application, the image to be transmitted is encrypted by using a spatiotemporal chaos model and DNA coding. Since the dynamic behavior of the spatiotemporal chaos model is highly sensitive to the initial conditions, the output is difficult to predict, thereby enhancing the security of the encryption process. DNA coding provides a large number of combinations, which increases the complexity of the encrypted data, making it more difficult to crack, thereby ensuring the security of the image. BRIEF DESCRIPTION OF THE DRAWINGS

[0070] In order to more clearly illustrate the embodiments of the present application or the technical solutions in the prior art, the drawings required for use in the embodiments or the description of the prior art will be briefly introduced below. Obviously, the drawings described below are only some embodiments of the present application. For ordinary technicians in this field, other drawings can be obtained based on these drawings without paying creative work.

[0071] Figure 1 A flowchart of an image transmission method based on a complex chaotic system provided in an embodiment of the present application;

[0072] Figure 2 A flowchart of an information embedding method provided in an embodiment of the present application;

[0073] Figure 3 A flowchart of a pixel point combination acquisition method provided in an embodiment of the present application;

[0074] Figure 4 A flowchart of a method for constructing a coding conversion table provided in an embodiment of the present application;

[0075] Figure 5 A flowchart of a DNA encoding encryption method provided in an embodiment of the present application;

[0076] Figure 6 Another image transmission method based on a complex chaotic system provided in an embodiment of the present application;

[0077] Figure 7 A schematic diagram of an original image provided in an embodiment of the present application;

[0078] Figure 8 A schematic diagram of a watermark embedding method for an original image provided by an embodiment of the present application;

[0079] Fig. 9 A schematic diagram of a decrypted image provided in an embodiment of the present application;

[0080] Fig.10 A schematic diagram of information to be hidden provided in an embodiment of the present application;

[0081] Fig.11 A schematic diagram of an image watermark provided in an embodiment of the present application;

[0082] Fig.12 A schematic diagram of the architecture of an image transmission platform provided in an embodiment of the present application;

[0083] Fig.13 An interactive flow chart of an image transmission method based on a complex chaotic system provided in an embodiment of the present application;

[0084] Fig.14 A schematic diagram of image encryption and decryption provided in an embodiment of the present application;

[0085] Fig.15 A schematic diagram of an image encryption algorithm provided in an embodiment of the present application;

[0086] Fig.16 A schematic diagram of an information hiding model provided in an embodiment of the present application;

[0087] Fig.17 A schematic diagram of a plaintext pixel correlation distribution diagram provided in an embodiment of the present application;

[0088] Fig.18 A schematic diagram of a ciphertext pixel correlation distribution diagram provided in an embodiment of the present application;

[0089] Fig.19 A schematic diagram of a histogram provided in an embodiment of the present application;

[0090] Fig. 20 A schematic diagram of an encryption and decryption experimental result provided in an embodiment of the present application;

[0091] Fig.21 A schematic diagram of an operation interface provided in an embodiment of the present application;

[0092] Fig. 22 A schematic diagram of a cropped and encrypted image provided in an embodiment of the present application;

[0093] Fig.23 A schematic diagram of a cropped and decrypted image provided in an embodiment of the present application;

[0094] Fig.24 A schematic diagram of an encrypted image attacked by noise provided in an embodiment of the present application;

[0095] Fig.25 A schematic diagram of a decrypted image attacked by noise provided in an embodiment of the present application;

[0096] Fig.26 A schematic diagram of the architecture of an image transmission device based on a complex chaotic system provided in an embodiment of the present application;

[0097] Fig. 27 A schematic diagram of the architecture of another image transmission device based on a complex chaotic system provided in an embodiment of the present application. DETAILED DESCRIPTION

[0098] The following will be combined with the drawings in the embodiments of the present application to clearly and completely describe the technical solutions in the embodiments of the present application. Obviously, the described embodiments are only part of the embodiments of the present application, not all of the embodiments. Based on the embodiments in the present application, all other embodiments obtained by ordinary technicians in this field without creative work are within the scope of protection of this application.

[0099] In this application, the terms "comprises", "comprising" or any other variations thereof are intended to cover non-exclusive inclusion, so that a process, method, article or device comprising a series of elements includes not only those elements, but also other elements not explicitly listed, or also includes elements inherent to such process, method, article or device. In the absence of further restrictions, an element defined by the sentence "comprising a ..." does not exclude the presence of other identical elements in the process, method, article or device comprising the element.

[0100] like Figure 1 As shown, it is a flowchart of an image transmission method based on a complex chaotic system provided by an embodiment of the present application, which is applied to a sending end and includes:

[0101] S101: Acquire and convert the image to be transmitted into multiple groups of pixel points.

[0102] Each pixel combination contains the same number of pixels.

[0103] Optionally, before step S101, in order to prevent unauthorized use and identify the source of the image, it is necessary to embed a watermark in the image in advance to ensure its security. Therefore, another embodiment of the present application provides an information embedding method, such as Figure 2 As shown, the following steps are included:

[0104] S201: Obtain information to be hidden.

[0105] Among them, the information to be hidden indicates the watermark (i.e. {b1, b2, …, b n │b i ∈{0,1}}).

[0106] S202: Filter out a set of carrier pixels from the image to be transmitted.

[0107] Among them, the carrier pixel point set includes multiple carrier pixel points (i.e. {f1, f2, ..., f n}).

[0108] It should be noted that the carrier pixel points indicate the pixel points that serve as the hidden carrier.

[0109] It can be understood that an image is a matrix composed of values ​​that identify the brightness of each pixel. Suppose there is a grayscale image composed of n×n pixels, the brightness of each pixel is represented by an 8-bit binary number, there are 256 grayscale levels and n×n equal square pixel blocks, each of which has one pixel. If i and j represent the i-th and j-th components of the image in the horizontal and vertical directions respectively, the pixel block is identified as Sij. Now, using the n×n image as the bottom surface and the 8-bit binary number representing the pixel size as the height, a three-dimensional histogram can be constructed. Each square column of the histogram is 8 bits. From the whole figure, a large cube is formed, with the high bit (MSB) of the 8-bit binary number of each pixel at the top and the low bit (LSB) at the bottom. The bits of each pixel position form a plane, called a "bit plane". The first bit plane consists of the lowest bit of each pixel, and the eighth bit plane consists of the highest bit of each pixel. Therefore, the importance represented by these eight bit planes in the image is different.

[0110] S203: For each carrier pixel, replace the least significant bit of the carrier pixel with the information to be hidden.

[0111] The process of replacing the least significant bit of the carrier pixel with the information to be hidden is: the operation of replacing fi with bi, that is, C1{f i}←b i, where the operator C1{·} is the lowest 1 bit of the carrier pixel, fi represents the i-th pixel in the pixel set selected from the original host image as the hidden carrier, and bi represents the i-th bit in the information sequence to be hidden.

[0112] Optionally, the least significant bit of the carrier pixel point can also be expanded to the lowest P bits of the carrier pixel point, P = 1, 2, ..., n, that is, C 1~p {fi}←b (i-1) (p+1,b(i-1)p+2,…b ip .

[0113] It should be noted that in the process of watermark embedding, it can be embedded through the least significant bit algorithm (i.e., the representative of spatial digital watermark). The principle is to express the watermark information by modifying the bit plane representing the color or color component of the digital image and adjusting the perceptually unimportant pixels in the digital image to achieve the purpose of embedding the watermark.

[0114] The least significant bit algorithm uses a specific key to generate a random signal through a pseudo-random sequence generator, and then arranges it into a two-dimensional watermark signal according to certain rules, and then inserts it one by one into the lowest few bits of the original image (i.e., the image to be transmitted). i The least significant bit (or bits) of i However, since the watermark signal is arranged in the lowest bit, the watermark is invisible, thus realizing the embedding and hiding of information.

[0115] Optionally, in another embodiment of the present application, the specific implementation of step S101 is as follows: Figure 3 As shown, the following steps are included:

[0116] S301: Acquire the image to be transmitted.

[0117] S302: Divide the image to be transmitted into a plurality of two-dimensional matrices.

[0118] Among them, a two-dimensional matrix corresponds to one color channel.

[0119] It can be understood that the image to be transmitted has three color channels of R, G and B. Dividing the image to be transmitted into multiple two-dimensional matrices means dividing the image to be transmitted into three two-dimensional matrices, the first two-dimensional matrix corresponds to the R color channel, the second two-dimensional matrix corresponds to the G color channel, and the third two-dimensional matrix corresponds to the B color channel.

[0120] S303: For each two-dimensional matrix, read the pixel points in the two-dimensional matrix row by row from left to right and from top to bottom according to the two-dimensional matrix, and store the pixel points in a one-dimensional matrix.

[0121] Among them, a one-dimensional matrix is ​​an array with only one row or column, and a two-dimensional matrix is ​​an array consisting of multiple rows and columns.

[0122] It can be understood that the pixels in the two-dimensional matrix are read row by row from left to right and from top to bottom according to the two-dimensional matrix, that is, starting from the left side of the first row, each pixel is read in turn, and then moving to the second row, continuing to read from left to right, and so on, until the last row, and the read pixels are stored in the one-dimensional matrix in turn.

[0123] S304: Grouping the pixel points in the one-dimensional matrix to obtain multiple groups of pixel point combinations.

[0124] The pixel points in the one-dimensional matrix are grouped. Specifically, the pixel points in the one-dimensional matrix are grouped with a preset number of pixel points as units to obtain a plurality of pixel point combinations.

[0125] For example, the pixels in a one-dimensional matrix are grouped in units of 8 pixels, and the resulting pixel combinations are: p1, p2, ..., p8, p9, p 10 ,…,p 16 、p 17 ,…,p i .. Where i is the gray value of the corresponding pixel in the image.

[0126] S102: Select any pixel point combination from all pixel point combinations as the current pixel point combination.

[0127] Among them, the current pixel combination is set to ω j , according to the grouping rules, it is composed of a preset number of pixels, that is, ω j =p8×(j-1),p8×(j-1)+2,…,p8×(j-1)+8.

[0128] S103: For each pixel of the current pixel combination, obtain the DNA code corresponding to the pixel from the code conversion table.

[0129] Among them, the encoding conversion table is pre-built based on the spatiotemporal chaos model.

[0130] It can be understood that, since the pixel points and the DNA codes corresponding to the pixel points are pre-stored in the code conversion table, the DNA code corresponding to the pixel points can be obtained from the code conversion table.

[0131] Optionally, in another embodiment of the present application, a specific implementation of pre-constructing a coding conversion table based on a spatiotemporal chaos model is as follows: Figure 4 As shown, the following steps are included:

[0132] S401: Acquire and divide a key of preset bits to obtain multiple bytes.

[0133] Each byte contains the same number of bits.

[0134] For example, the preset bit key is 128 bits, and the preset bit key is divided to obtain 16 bytes, which are respectively represented as: k1, k2, ..., k 16 , each byte contains 8 bits.

[0135] S402: Initialize the spatiotemporal chaos model using all bytes to obtain the initialized spatiotemporal chaos model.

[0136] The initialized spatiotemporal chaos model includes a plurality of grids, and each grid has a corresponding state value.

[0137] It can be understood that the specific implementation process of initializing the spatiotemporal chaos model using all bytes is: initializing the spatiotemporal chaos model using an initialization formula, wherein the specific expression of the initialization formula is shown in formula (1) and formula (2).

[0138]

[0139] b=k i+8 / 256i=1,2,...,8(2)

[0140] In formula (1) and formula (2), k i is the state value, i is the parameter, is a variable and b is an initialization parameter.

[0141] It should be noted that, in order to eliminate the influence of the initial value, it is necessary to use all bytes to initialize the spatiotemporal chaos model for a preset number of times, and use all bytes to initialize the spatiotemporal chaos model 50 times.

[0142] It should be emphasized that in the spatiotemporal chaos model, the state of each internal point at the next moment is not only related to the current state of the point, but also to its position in the model. For example, the spatiotemporal chaos model is the ACLML model (the efficiency of numerical experiments is very high and has fewer spatiotemporal behavior patterns), and its specific expression is shown in formula (3).

[0143]

[0144] In formula (3), Xn(i) is the state variable of grid i at time n, n is the discrete time coordinate, i is the discrete space coordinate, i = (1, 2, ..., L, L is the number of grids); ε∈(0, 1) is the coupling strength, f is the local function, and the boundary condition is Xn(L+i) = xn(i).

[0145] It can be seen that the ACLML model has more complex dynamic characteristics and a longer sequence period under finite precision. Therefore, the encryption algorithm designed based on it has better security than using a simple chaotic map.

[0146] S403: Create an index for each grid in order from large to small state values.

[0147] It can be understood that, according to the order of state value from large to small, an index is established for each grid in turn. Specifically, the grid with the largest state value has an index of 1, the grid with the second largest state value has an index of 2, and so on, until all grids are assigned an index value. Let the index value corresponding to grid i be Ind i .

[0148] S404: For each grid, calculate the absolute value of the product of the state value of the grid and 256 to obtain the integer value of the grid.

[0149] The specific form of calculating the absolute value of the product of the state value of the grid and 256 is shown in formula (4).

[0150] Y i =|256×x i |i=1,2,...,8(4)

[0151] In formula (4), x i is the state value of the i-th grid in the spatiotemporal chaos model, Y i To return an integer value not greater than x.

[0152] S405: Divide the integer value of the grid to obtain multiple bits of data.

[0153] The integer value of the grid is divided. Specifically, the integer value of the grid is converted into a binary value, and the binary value is divided to obtain a plurality of bit data.

[0154] For example, the integer value of the grid is 13. The integer value of the grid is converted into a binary value of 00001101. The binary value is divided to obtain four bits of data, which are 00, 00, 11, and 01 respectively.

[0155] S406: For each bit of data, convert the bit data into a DNA base to obtain a DNA code.

[0156] It is understandable that, since the bit data has a mapping relationship with DNA, the bit data can be converted into DNA bases. For example, 00->A (adenine), 01->C (cytosine), 10->G (guanine), 11->T (thymine).r (Y i ) is Y i The rth DNA code of , r = 1, 2, 3, 4.

[0157] S407: Establish a coding conversion table based on the index of each grid, the bit data corresponding to each grid and the DNA code corresponding to the bit data.

[0158] Specifically, a specific expression of the encoding conversion table is established based on the index of each grid, the bit data corresponding to each grid, and the DNA code corresponding to the bit data, as shown in Table 1.

[0159] Table 1

[0160]

[0161]

[0162] It should be noted that the content of Table 1 above is only for illustration.

[0163] Optionally, in another embodiment of the present application, a specific implementation of step S103 includes:

[0164] For each pixel in the current pixel combination, the pixel is divided into a plurality of bit units.

[0165] The pixel points are divided into a plurality of bit units. Specifically, the pixel points are divided into four 2-bit units.

[0166] For each bit unit, the DNA code corresponding to the bit unit is obtained from the code conversion table to obtain the DNA code corresponding to the pixel point.

[0167] The DNA code corresponding to the bit unit is obtained from the code conversion table to obtain the DNA code corresponding to the pixel point. Specifically, for the first pixel point P in the current pixel point combination, 2×j+1 , get the first grid value Ind i , get Ind from the encoding conversion table i The scheme encodes the first pixel.

[0168] For the convenience of description, let I be the first pixel in the current pixel group, that is, ω j ,I=p8=p8×(j-1)+I, the DNA encoding of I can be expressed as DNAr(ω j ,I),r=1,2,3,4.

[0169] S104: Encrypt the DNA code corresponding to the pixel point to obtain the ciphertext value of the pixel point.

[0170] It can be understood that the DNA code corresponding to the pixel point is encrypted to obtain the ciphertext value of the pixel point, so that an encrypted image can be subsequently generated according to the ciphertext value of the pixel point and the encrypted image can be transmitted.

[0171] Optionally, in another embodiment of the present application, the specific implementation of step S104 is as follows: Figure 5 As shown, the following steps are included:

[0172] S501: Perform encryption operation on the DNA code corresponding to the pixel point to obtain an encrypted DNA code.

[0173] The specific implementation process of performing encryption operation on the DNA code corresponding to the pixel point is: performing encryption operation on the DNA code using an encryption formula, and the specific expression form of the encryption formula is shown in formula (5).

[0174] C r (ω j ,I)=(DNA r (ω j ,I)+DNA r (Y I ))(5)

[0175] In formula (5), C r (ω j ,I) is the encrypted DNA code, DNA r (Y I ) is the original DNA code (i.e., the DNA code corresponding to the pixel point), C r-1 (ω j ,I) is the previous encrypted DNA code. If r=1, it means the last encrypted DNA code in the previous pixel, and C0(ω1,1)=0.

[0176] S502: Filter out bit data corresponding to the encrypted DNA code from the code conversion table.

[0177] S503: Arrange and combine multiple bits of data to obtain the ciphertext value of the pixel.

[0178] For example, the encrypted DNA code is T, G, C, A. The corresponding bit data selected from the code conversion table is: 11, 00, 00, 01. The bit data is arranged and combined, and the ciphertext value of the pixel point obtained is 11000001.

[0179] S105: Determine whether all pixel combinations have completed encryption processing.

[0180] If any pixel point combination has not completed the encryption process, step S106 is executed; if all pixel point combinations have completed the encryption process, step S107 is executed.

[0181] It can be understood that judging whether all pixel combinations have completed encryption processing is to judge whether there are ciphertext values ​​of the pixels in all pixel combinations.

[0182] S106: Select any pixel point combination except the current pixel point combination from all pixel point combinations, and use the pixel point combination as the current pixel point combination, and then return to step S103.

[0183] S107: Iteratively update the spatiotemporal chaos model using the ciphertext values ​​of all pixels.

[0184] The ciphertext values ​​of all pixels indicate the ciphertext value of each pixel in all pixel combinations.

[0185] It can be understood that the specific form of iteratively updating the spatiotemporal chaos model using the ciphertext values ​​of all pixels is as shown in formula (6).

[0186] x 1 =(x 1 +s / 3)÷2(6)

[0187] In formula (6), x 1 is the state value of the first grid of the spatiotemporal chaos model, and s is the ciphertext value of all pixels (i.e. C4(ω j ,8))The decoded 2-bit value,ω j Represents the pixel or data block currently being processed, while the number 8 indicates that 8 bits of data (i.e., one byte) are being processed. C4 refers to a specific decoding or conversion operation used to convert encrypted data back to its original or intermediate form.

[0188] It should be noted that the spatiotemporal chaos model is iteratively updated a preset number of times (eg, 32 times) using the ciphertext values ​​of all pixels.

[0189] S108: When the spatiotemporal chaos model is updated, an encrypted image is generated based on the ciphertext values ​​of all pixels, and the encrypted image is transmitted to the receiving end.

[0190] Among them, when all pixels are encrypted and the spatiotemporal chaos model is updated, an encrypted image is generated based on the ciphertext values ​​of all pixels and transmitted to the receiving end.

[0191] In summary, the images to be transmitted are encrypted by spatiotemporal chaos model and DNA coding. Since the dynamic behavior of spatiotemporal chaos model is highly sensitive to initial conditions, the output is difficult to predict, thus enhancing the security of the encryption process. DNA coding provides a large number of combinations, which increases the complexity of the encrypted data, making it more difficult to crack, thereby ensuring the security of the image.

[0192] like Figure 6 As shown, another image transmission method based on a complex chaotic system provided by an embodiment of the present application is applied to a receiving end, and includes the following steps:

[0193] S601: When the encrypted image is received, the encrypted image is converted into a plurality of two-dimensional matrices.

[0194] Among them, a two-dimensional matrix corresponds to one color channel.

[0195] It can be understood that when the decrypted image is received, the encrypted image is divided into three two-dimensional matrices, one two-dimensional matrix corresponds to one color channel, and the three channels can be represented as I1, I2 and I3 respectively.

[0196] It can be understood that the encrypted image is converted into multiple two-dimensional matrices. Specifically, it is necessary to first obtain two Logistic chaotic sequences, where μ is uniformly set to 3.9999 and two initial values ​​x 01 and x 02 is the key, which is consistent with the value used in encryption; the chaotic sequence {ki} is generated based on two Logistic chaotic sequences; the initial value x0 (including x 01 and x 02 ) and parameter μ are the keys, which are consistent with those used for encryption; the chaotic sequence {ki} is converted into M×N two-dimensional matrices R, G and B.

[0197] S602: For each two-dimensional matrix, permute the pixels in the two-dimensional matrix in rows and columns to obtain a permuted two-dimensional matrix.

[0198] It can be understood that the pixels in the two-dimensional matrix are permuted in rows and columns, and the permutation order of rows and columns is opposite to that during encryption, with columns being permuted from the last column to the first column and rows being permuted from the last row to the first row.

[0199] It should be noted that, in the encryption process, although the row and column permutation operations are not explicitly mentioned, they are actually implicitly controlled by chaotic sequences. Specifically, three different chaotic sequences are obtained through the iteration of Logistic mapping, which are used for DNA operations, row permutation, and column permutation, respectively. These chaotic sequences indirectly achieve the rearrangement of pixel rows and columns when encrypting the pixel positions of the image.

[0200] In the decryption step, in order to restore the pixel arrangement order of the original image, the inverse operations of column permutation and row permutation are performed. First, the encrypted color image is divided into three two-dimensional matrices (channels) of R, G, and B. Then, the inverse operation of column permutation is performed from the last column to the end of the first column to restore the original column order, and then the inverse operation of row permutation is performed from the last row to the end of the first row to restore the original row order. Through these inverse permutation operations, it can be ensured that the pixel rearrangement controlled by the chaotic sequence during the encryption process can be correctly restored, thereby restoring the pixel layout of the original image. This design not only ensures the security of the encryption process, but also makes the algorithm more compact and efficient.

[0201] S603: For each pixel point in the replaced two-dimensional matrix, obtain the DNA code corresponding to the pixel point from the code conversion table.

[0202] Among them, the encoding conversion table is pre-built based on the spatiotemporal chaos model.

[0203] It should be noted that we need to use Matlab to calculate the hyperchaotic system and obtain four sequences {X i}, {Y i},{Z i},{H i}, where the four initial values ​​of X(0), y(0), z(0), and H(0) are keys and must be consistent with those used during encryption. Since {Hi} is the final decision for the DNA decoding method when encrypting an image, {Hi} is also needed here to determine the DNA encoding method for the encrypted image. The generated two-dimensional matrix is ​​consistent with that used during encryption, and {Yi} (the state value of the grid) is used to determine the DNA encoding method of the two-dimensional matrix, that is, to obtain the DNA encoding corresponding to the pixel from the encoding conversion table.

[0204] It is understandable that in order to obtain four sequences of length (M×N) / t2, sampling is required during the simulation. Specifically, a sampling interval can be set so that a sufficient number of data points can be collected during the simulation time period. These data points will constitute the required sequence. Since four sequences are required, four simulations can be performed under different initial conditions or parameter settings, generating a sequence each time. These generated sequences may have a variety of uses. For example, in encryption applications, they can be used as key streams to encrypt plaintext data. Due to the complexity and unpredictability of hyperchaotic systems, these sequences have high security. In addition, these sequences can also be used in other fields such as random number generation and simulation testing.

[0205] S604: Perform a decryption operation on the DNA code corresponding to the pixel point to obtain a decrypted DNA code.

[0206] It is understandable that the decryption operation is performed on the DNA code corresponding to the pixel point. Specifically, the decryption operation method is determined by {Zi}, but unlike the encrypted image, if the addition operation is used when encrypting the image, the subtraction operation needs to be used when decrypting the image, and vice versa. However, if the association between sub-blocks (composed of multiple pixels) needs to be removed, it is necessary to operate from the last word block to the previous sub-block, and then process the previous sub-blocks in turn. This method may be to ensure the logical order of decryption, or because the information contained in the last sub-block is crucial to decrypting the previous sub-blocks.

[0207] S605: Obtain pixel points corresponding to the decrypted DNA code from the code conversion table to obtain decoded pixel points.

[0208] It is understandable that the decrypted DNA code is decoded by using {X i}Determine its decoding rule, decode the decrypted DNA code according to the decoding rule, that is, obtain the pixel points corresponding to the decrypted DNA code from the encoding conversion table to obtain the decoded pixel points.

[0209] S606: Generate a decrypted image based on the decoded pixels.

[0210] It can be understood that when all encrypted pixels are successfully decrypted, all decoded pixels are obtained, and a decrypted image is generated based on all decoded pixel bands.

[0211] Optionally, in another embodiment of the present application, a specific implementation of step S606 includes:

[0212] For each permuted two-dimensional matrix, the decoded pixel points with pixel values ​​of 0 in the permuted two-dimensional matrix are deleted to obtain a deleted two-dimensional matrix.

[0213] It is understandable that when encrypting an image, in order to enhance the universality of the algorithm, pixels with a value of 0 are added. When decrypting an image, the previously filled pixels with a value of 0 need to be deleted to restore the original image. This is because these filled pixels do not belong to the actual image content.

[0214] Merge all deleted two-dimensional matrices to obtain the decrypted image.

[0215] It can be understood that all the deleted three two-dimensional matrices are merged to obtain the decrypted image.

[0216] Optionally, after step S606, if the watermark is embedded in the encrypted image in advance, the watermark is parsed from the decrypted image, and by verifying the watermark, it is possible to check whether the image has been tampered with during transmission, thereby ensuring the authenticity and integrity of the content. Therefore, another embodiment of the present application provides a method for obtaining watermark information, including:

[0217] Extract the least significant bit of the carrier pixel from the decrypted image.

[0218] Optionally, it may also be the lowest few bits. When encrypting the watermark, the lowest P bits are replaced. According to the number of bits replaced, the lowest P bits after the least significant bit of the carrier pixel can be extracted from the decrypted image.

[0219] Sort the least significant bits to obtain the information to be hidden.

[0220] It can be understood that, according to the replacement order, the least significant bits or the lowest P bits are sorted to obtain the information to be hidden.

[0221] It should be noted that watermark verification is performed by using image subtraction to detect tampering in a content-based manner. The images need to be aligned before subtraction. For each painting, a binary image is submitted, in which the tampered area is marked with black pixels and marked in both images.

[0222] In order to better explain the process of embedding and decrypting watermark information, the following is an explanation combined with specific application scenarios. Figure 7 , is the original image to be transmitted. Obtain the information to be hidden; filter out a set of carrier pixels from the image to be transmitted; wherein the set of carrier pixels includes multiple carrier pixels; for each carrier pixel, replace the least significant bit of the carrier pixel with the information to be hidden. For the specific embedding process, see Figure 8 .pass Figure 8 Decrypt and get the decrypted image (i.e. Fig. 9 ), extract the least significant bit of the carrier pixel from the decrypted image, sort the least significant bit, and get the information to be hidden (i.e. Fig.10 ).

[0223] from Fig.10 It can be seen that the watermark transmission effect is good and has not been tampered with.

[0224] Optional, see Fig.11, a schematic diagram of an image watermark is shown, including: (1) Digital watermark generation process: It is the process of generating watermark information suitable for embedding into the original carrier from secret information (i.e., information to be hidden) under the control of a generated key through a watermark generation algorithm. The original carrier here refers to the original image (i.e., image to be transmitted). Since the human visual system is very sensitive to texture information, the watermark information to be embedded should not contain texture, but information with the same characteristics as noise, that is, the sequence constituting the watermark is required to have unpredictable randomness, and the sample can effectively avoid being discovered or perceived by humans. (2) Digital watermark embedding process: It is the process of hiding the watermark information into the original image data through a certain embedding algorithm under the control of an embedding key. (3) Digital watermark extraction process: It is often the inverse process of the digital watermark embedding process, and is also the process of restoring the watermark information under the control of an extraction key through a certain extraction algorithm (often closely related to the embedding algorithm). (4) Digital watermark decoding process: It is the reverse process of the digital watermark generation process. It also recovers the secret information under the control of the decoding key corresponding to the watermark generation key through the watermark decoding algorithm (which is often closely related to the watermark generation algorithm).

[0225] In summary, by encoding the DNA corresponding to the pixels in the encrypted image and performing a decryption operation on the DNA encoding, an image consistent with the image to be transmitted is decrypted, thereby ensuring the secure transmission of the image to be transmitted.

[0226] like Fig.12 As shown, an image transmission platform provided by an embodiment of the present application includes: a sending end 1101 and a receiving end 1102, wherein the information interaction process between the sending end 1101 and the receiving end 1102 is as follows: Fig.13 As shown, the following steps are included:

[0227] S1301: The sending end obtains and converts the image to be transmitted into multiple groups of pixel combinations.

[0228] It should be noted that the specific implementation of step S1301 may refer to step S101 accordingly, and will not be repeated here.

[0229] S1302: The sending end selects any pixel point combination from all pixel point combinations as the current pixel point combination.

[0230] It should be noted that the specific implementation of step S1302 may refer to step S102 accordingly, and will not be repeated here.

[0231] S1303: The sending end obtains the DNA code corresponding to each pixel point of the current pixel point combination from the code conversion table.

[0232] It should be noted that the specific implementation of step S1303 may refer to step S103 accordingly, and will not be repeated here.

[0233] S1304: The sending end encrypts the DNA code corresponding to the pixel point to obtain the ciphertext value of the pixel point.

[0234] It should be noted that the specific implementation of step S1304 may refer to step S104 accordingly, and will not be repeated here.

[0235] S1305: The sending end determines whether all pixel combinations have completed encryption processing.

[0236] If any pixel point combination has not completed the encryption process, step S1306 is executed; if all pixel point combinations have completed the encryption process, step S1307 is executed.

[0237] It should be noted that the specific implementation of step S1305 may refer to step S105 accordingly, and will not be repeated here.

[0238] S1306: The sending end selects any pixel point combination except the current pixel point combination from all pixel point combinations, and uses the pixel point combination as the current pixel point combination, and then returns to execute step S1303.

[0239] It should be noted that the specific implementation of step S1306 may refer to step S106 accordingly, and will not be repeated here.

[0240] S1307: The sending end iteratively updates the spatiotemporal chaos model using the ciphertext values ​​of all pixels.

[0241] It should be noted that the specific implementation of step S1307 may refer to step S107 accordingly, and will not be repeated here.

[0242] S1308: When the spatiotemporal chaos model is updated, the sending end generates an encrypted image based on the ciphertext values ​​of all pixels, and transmits the encrypted image to the receiving end.

[0243] It should be noted that the specific implementation of step S1308 may refer to step S108 accordingly, and will not be repeated here.

[0244] S1309: When receiving the encrypted image, the receiving end converts the encrypted image into a plurality of two-dimensional matrices.

[0245] It should be noted that the specific implementation of step S1309 may refer to step S601 accordingly, and will not be repeated here.

[0246] S1310: The receiving end permutes the rows and columns of the pixels in each two-dimensional matrix to obtain a permuted two-dimensional matrix.

[0247] It should be noted that the specific implementation of step S1310 may refer to step S602 accordingly, and will not be repeated here.

[0248] S1311: The receiving end obtains the DNA code corresponding to each pixel point in the permuted two-dimensional matrix from the code conversion table.

[0249] It should be noted that the specific implementation of step S1311 may refer to step S603 accordingly, and will not be repeated here.

[0250] S1312: The receiving end performs a decryption operation on the DNA code corresponding to the pixel point to obtain a decrypted DNA code.

[0251] It should be noted that the specific implementation of step S1312 may refer to step S604 accordingly, and will not be repeated here.

[0252] S1313: The receiving end obtains the pixel points corresponding to the decrypted DNA code from the code conversion table to obtain the decoded pixel points.

[0253] It should be noted that the specific implementation of step S1313 may refer to step S605 accordingly, and will not be repeated here.

[0254] S1314: The receiving end generates a decrypted image based on the decoded pixels.

[0255] It should be noted that the specific implementation of step S1314 may refer to step S606 accordingly, and will not be repeated here.

[0256] It should be emphasized that in order to better Fig.13 For an explanation of the contents shown, see Fig.14 , a schematic diagram of image encryption and decryption is shown, firstly, the key is converted through a chaotic system to obtain a password, and the plaintext image (i.e., the image to be transmitted) is permuted and diffused through the password to obtain a ciphertext image (i.e., the encrypted image); the ciphertext image and the key are transmitted through a secret channel, and the ciphertext image is decrypted through a decryption algorithm to obtain a plaintext image.

[0257] Among them, the image encryption algorithm based on chaotic system and DNA coding can be found in Fig.15 .

[0258] Optional, see Fig.16, shows a schematic diagram of an information hiding model, including: (1) Secret information: refers to information that needs to be kept confidential, which can be binary data such as messages, texts, images, videos or audio. (2) Original carrier: the medium used to carry secret information, which can also be called carrier medium or host data. The carrier object can be multimedia digital information such as images, videos, audio, etc., or it can be a channel, a set of coding systems or a certain system. (3) Secret carrier: refers to a carrier that already contains secret information and is required to be indistinguishable from the original carrier in subjective feeling. (4) Embedding / extraction: This is the basic process of information hiding. Embedding refers to the process of hiding secret information in the original carrier using a certain algorithm, while extraction is the reverse process of embedding, that is, using a certain algorithm to restore the secret information from the obtained secret carrier. (5) Embedding key / extraction key: collectively referred to as hiding key. Generally speaking, when designing an information hiding system, some special secret data is needed to control the embedding or extraction process of the system, so as to improve the security factor of the secret information. These secret data are hidden keys, and only those who know them can perform related operations.

[0259] It should be noted that in order to verify Fig.13 The risk resistance of the image encryption and decryption algorithm shown can be verified in the following three ways: pixel correlation analysis, statistical performance analysis, encryption and decryption experimental results, and analysis of the ability to resist noise and cropping attacks.

[0260] First, pixel correlation analysis: Usually, there is a strong correlation between adjacent pixels in plaintext images. An image encryption algorithm with excellent performance can reduce the correlation between pixels and effectively resist statistical attacks. Based on this, we select three angles, horizontal, diagonal, and vertical, to evaluate the correlation of the image. We select 5,000 pairs of pixels to analyze the correlation between plaintext and ciphertext information. The correlation distribution diagram is shown below: Fig.17 and Fig.18 As shown, Fig.17 is the plaintext pixel correlation, Fig.18 is the ciphertext pixel correlation.

[0261] Table 2 can be obtained through correlation calculation, and the following conclusions can be drawn: Plaintext image (i.e., image to be transmitted): The results are distributed near the diagonal of the drawing, indicating a strong correlation. Ciphertext image (i.e., encrypted image): It is randomly distributed, which indicates a weak correlation. The average value of the correlation coefficient in the three directions of the plaintext image is close to 1, indicating that the correlation between adjacent pixels is very strong, but the absolute value of the average value of the correlation coefficient of the ciphertext image is close to 0, indicating that there is almost no correlation between adjacent pixels, indicating that the algorithm in this paper has a strong ability to resist statistical attacks. Among them, the specific form of Table 2 is as follows.

[0262] Table 2

[0263]

[0264]

[0265] It should be noted that the content of Table 2 above is only for illustration.

[0266] Secondly, statistical performance analysis: The histogram can clearly show the distribution of grayscale levels in the image. The horizontal axis of the histogram is the grayscale value, and the vertical axis is the number of times the pixel of the grayscale value appears in the image. If the encryption algorithm only adjusts the pixel position of the image, that is, only scrambling without diffusion, the histogram before and after encryption remains unchanged. The ideal ciphertext image has a balanced distribution of grayscale levels, and its histogram is smooth. See Fig.19 , Fig.19 (a) in is the histogram of the image before encryption. Fig.19 (b) in the figure is the histogram of the ideal ciphertext image. Fig.19 (c) in FIG. 5 is the histogram of the encrypted image.

[0267] Optionally, the information entropy is calculated as: Among them, p(m i ) is the probability of occurrence of gray value mi. For a gray image with a bit depth of 8, its gray value m i There are 28-1 types in total. The closer its information entropy is to 8, the more random the information contained in the image is, and the less likely it is to leak valid information in the image. For example, the information entropy of plaintext and ciphertext of different images shown in Table 3 is shown in the following form.

[0268] Table 3

[0269] image Plain text Ciphertext Lena 7.292929 7.999400 Tank 6.189814 7.993260 Boat 7.191370 7.999307 Texmos 2.983293 7.999276

[0270] From Table 3, we can see that Fig.13 The information entropy value of the encrypted image obtained by the encryption and decryption process of the image shown is close to the ideal value of 8, which indirectly reflects that the confusion level of the plaintext has increased.

[0271] Next, the experimental results of encryption and decryption are as follows Fig. 20 As shown in Figure 1, it contains the plaintext image, ciphertext image and decrypted image of Lean and Boat. Fig. 20 It can be seen that the ciphertext image is a disordered noise image, and no information of the original image can be obtained from the ciphertext image, which shows that the algorithm has a good encryption effect; after decryption, the decrypted image is completely consistent with the plaintext image, indicating that the algorithm is lossless.

[0272] It should be noted that the encryption and decryption process of the image can be displayed through the operation interface. The specific form of the operation interface is as follows: Fig.21 shown. Fig.21 Through a series of steps including key generation, image reading, watermark reading, image encryption, and image transmission, the decrypted image is finally obtained. Through the one-time encryption method, the accuracy of the decrypted image reaches 100% under the condition of relative noise -100. It can be seen from the embedded watermark image that the watermark is invisible, thus realizing the embedding and hiding of information. The extracted watermark is the same as the original watermark and has not been tampered with.

[0273] Finally, analysis of anti-noise and cropping attacks: In a network environment, information loss or information interference often occurs. A good algorithm should be robust in the case of information loss or interference, that is, when the ciphertext image loses some information or is interfered, the information contained in the plaintext image can still be extracted through decryption. Fig. 22 The cropped encrypted image is shown. The cropped encrypted image is decrypted through the above decryption process (step S1209 to step S1214). The decrypted image obtained is clear. Fig.23 , it can be seen that the method of encrypting and decrypting images has good resistance to data loss. Fig.24 The encrypted image attacked by noise is shown. The encrypted image attacked by noise is decrypted through the above decryption process (step S1209 to step S1214). The decrypted image is clear. Fig.25 ,from Fig.25 It can be seen that the method of encrypting and decrypting images has good anti-noise ability.

[0274] In summary, the image to be transmitted is encrypted by the spatiotemporal chaos model and DNA coding. Since the dynamic behavior of the spatiotemporal chaos model is highly sensitive to the initial conditions, the output is difficult to predict, thereby enhancing the security of the encryption process. DNA coding provides a large number of combinations, which increases the complexity of the encrypted data, making it more difficult to crack, and by decrypting the DNA coding corresponding to the pixels in the encrypted image and performing decryption operations on the DNA coding, an image consistent with the image to be transmitted is decrypted, ensuring the secure transmission of the image to be transmitted.

[0275] like Fig.26 As shown, it is a schematic diagram of the architecture of an image transmission device based on a complex chaotic system provided in an embodiment of the present application, which is applied to the sending end. The image transmission device includes: a first acquisition unit 2601, a first selection unit 2602, a second acquisition unit 2603, an encryption unit 2604, a judgment unit 2605, a second selection unit 2606, an update unit 2607 and a transmission unit 2608.

[0276] The first acquisition unit 2601 is used to acquire and convert the image to be transmitted into multiple groups of pixel point combinations.

[0277] The first acquisition unit 2601 is specifically used to: acquire the image to be transmitted; divide the image to be transmitted into multiple two-dimensional matrices; wherein one two-dimensional matrix corresponds to one color channel; for each two-dimensional matrix, read the pixel points in the two-dimensional matrix row by row from left to right and from top to bottom according to the two-dimensional matrix, and store the pixel points in a one-dimensional matrix; group the pixel points in the one-dimensional matrix to obtain multiple groups of pixel point combinations.

[0278] The first selection unit 2602 is used to select any pixel point combination from all pixel point combinations as the current pixel point combination.

[0279] The second acquisition unit 2603 is used to acquire the DNA code corresponding to each pixel point of the current pixel point combination from the code conversion table; the code conversion table is pre-constructed based on the spatiotemporal chaos model.

[0280] The second acquisition unit 2603 is specifically used for: for each pixel in the current pixel combination, dividing the pixel into multiple bit units; for each bit unit, acquiring the DNA code corresponding to the bit unit from the coding conversion table to obtain the DNA code corresponding to the pixel.

[0281] The second acquisition unit 2603 is specifically used to: acquire and divide the key of preset bits to obtain multiple bytes; wherein each byte contains the same number of bits; use all bytes to initialize the space-time chaos model to obtain the initialized space-time chaos model; wherein the initialized space-time chaos model includes multiple grids, each grid has a corresponding state value; establish an index for each grid in descending order of the state value; for each grid, calculate the absolute value of the product between the state value of the grid and 256 to obtain the integer value of the grid; divide the integer value of the grid to obtain multiple bit data; for each bit data, convert the bit data into DNA bases to obtain DNA coding; establish a coding conversion table based on the index of each grid, the bit data corresponding to each grid and the DNA coding corresponding to the bit data.

[0282] The encryption unit 2604 is used to encrypt the DNA code corresponding to the pixel point to obtain the ciphertext value of the pixel point.

[0283] The encryption unit 2604 is specifically used for: performing encryption operation on the DNA code corresponding to the pixel point to obtain the encrypted DNA code; selecting the bit data corresponding to the encrypted DNA code from the code conversion table; and arranging and combining multiple bit data to obtain the ciphertext value of the pixel point.

[0284] The judgment unit 2605 is used to judge whether all pixel combinations have completed encryption processing.

[0285] The second selection unit 2606 is used to select any pixel point combination except the current pixel point combination from all pixel point combinations if any pixel point combination has not completed the encryption process, and after using the pixel point combination as the current pixel point combination, return to execute the step of obtaining the DNA code corresponding to the pixel point from the coding conversion table for each pixel point in the current pixel point combination.

[0286] The updating unit 2607 is used to iteratively update the spatiotemporal chaos model using the ciphertext values ​​of all the pixels if all pixel combinations have completed the encryption process; the ciphertext values ​​of all the pixels indicate the ciphertext value of each pixel in all the pixel combinations.

[0287] The transmission unit 2608 is used to generate an encrypted image based on the ciphertext values ​​of all pixels when the spatiotemporal chaos model is updated, and transmit the encrypted image to the receiving end.

[0288] In summary, the images to be transmitted are encrypted by spatiotemporal chaos model and DNA coding. Since the dynamic behavior of spatiotemporal chaos model is highly sensitive to initial conditions, the output is difficult to predict, thus enhancing the security of the encryption process. DNA coding provides a large number of combinations, which increases the complexity of the encrypted data, making it more difficult to crack, thereby ensuring the security of the image.

[0289] Preferably, combined Fig.26 As shown in the figure, the image transmission device further includes: a third acquisition unit, a screening unit and a replacement unit.

[0290] The third acquisition unit is used to acquire the information to be hidden.

[0291] The screening unit is used to screen out a carrier pixel point set from the image to be transmitted; wherein the carrier pixel point set includes a plurality of carrier pixel points.

[0292] The replacement unit is used to replace the least significant bit of each carrier pixel with the information to be hidden.

[0293] like Fig. 27 As shown, it is a schematic diagram of the architecture of another image transmission device based on a complex chaotic system provided in an embodiment of the present application, which is applied to the receiving end. The image transmission device includes: a conversion unit 2701, a replacement unit 2702, a first acquisition unit 2703, a decryption unit 2704, a second acquisition unit 2705, and a generation unit 2706.

[0294] The conversion unit 2701 is used to convert the encrypted image into multiple two-dimensional matrices when receiving the encrypted image; wherein one two-dimensional matrix corresponds to one color channel.

[0295] The replacement unit 2702 is used to perform row and column replacement on the pixel points in each two-dimensional matrix to obtain a replaced two-dimensional matrix.

[0296] The first acquisition unit 2703 is used to acquire the DNA code corresponding to each pixel point in the permuted two-dimensional matrix from the code conversion table; the code conversion table is pre-constructed based on the spatiotemporal chaos model.

[0297] The decryption unit 2704 is used to perform a decryption operation on the DNA code corresponding to the pixel point to obtain a decrypted DNA code.

[0298] The second acquisition unit 2705 is used to acquire the pixel points corresponding to the decrypted DNA code from the code conversion table to obtain the decoded pixel points.

[0299] The generating unit 2706 is used to generate a decrypted image based on the decoded pixels.

[0300] The generating unit 2706 is specifically used for: for each replaced two-dimensional matrix, deleting the decoded pixel points with pixel value 0 in the replaced two-dimensional matrix to obtain a deleted two-dimensional matrix; and merging all deleted two-dimensional matrices to obtain a decrypted image.

[0301] In summary, by encoding the DNA corresponding to the pixels in the encrypted image and performing a decryption operation on the DNA encoding, an image consistent with the image to be transmitted is decrypted, thereby ensuring the secure transmission of the image to be transmitted.

[0302] Preferably, combined Fig. 27 As shown in the content, the image transmission device also includes: an extraction unit and a sorting unit.

[0303] The extraction unit is used to extract the least significant bit of the carrier pixel from the decrypted image.

[0304] The sorting unit is used to sort the least significant bits to obtain the information to be hidden.

[0305] In this specification, each embodiment is described in a progressive manner, and each embodiment focuses on the differences from other embodiments. The same or similar parts between the embodiments can refer to each other, and each embodiment focuses on the differences from other embodiments. In particular, for the system or system embodiment, since it is basically similar to the method embodiment, the description is relatively simple, and the relevant parts can refer to the partial description of the method embodiment. The system and system embodiments described above are merely schematic, wherein the units described as separate components may or may not be physically separated, and the components displayed as units may or may not be physical units, that is, they may be located in one place, or they may be distributed on multiple network units. Some or all of the modules may be selected according to actual needs to achieve the purpose of the scheme of this embodiment. Ordinary technicians in this field can understand and implement it without paying creative work.

[0306] Professionals may further appreciate that the units and algorithm steps of each example described in conjunction with the embodiments disclosed herein can be implemented in electronic hardware, computer software, or a combination of the two. In order to clearly illustrate the interchangeability of hardware and software, the composition and steps of each example have been generally described in the above description according to function. Whether these functions are performed in hardware or software depends on the specific application and design constraints of the technical solution. Professionals and technicians may use different methods to implement the described functions for each specific application, but such implementation should not be considered to be beyond the scope of the present invention.

[0307] The above description of the disclosed embodiments enables those skilled in the art to implement or use the present application. Various modifications to these embodiments will be apparent to those skilled in the art, and the general principles defined herein may be implemented in other embodiments without departing from the spirit or scope of the present application. Therefore, the present application will not be limited to the embodiments shown herein, but will conform to the widest scope consistent with the principles and novel features disclosed herein.

Claims

1. An image transmission method based on a complex chaotic system, characterized in that: Applied to the sending end, including: Acquire and convert the image to be transmitted into multiple groups of pixel combinations; Select any pixel point combination from all pixel point combinations as the current pixel point combination; For each pixel point of the current pixel point combination, a DNA code corresponding to the pixel point is obtained from a code conversion table; the code conversion table is pre-constructed based on a spatiotemporal chaos model; Encrypting the DNA code corresponding to the pixel point to obtain the ciphertext value of the pixel point; Determine whether all pixel combinations have completed encryption processing; If any pixel point combination has not completed the encryption process, any pixel point combination other than the current pixel point combination is selected from all pixel point combinations, and the pixel point combination is used as the current pixel point combination, and the process returns to the step of obtaining the DNA code corresponding to each pixel point in the current pixel point combination from the code conversion table; If the encryption process is completed for all pixel combinations, the spatiotemporal chaos model is iteratively updated using the ciphertext values ​​of all pixel points; the ciphertext values ​​of all pixel points indicate the ciphertext value of each pixel point in the all pixel combinations; When the spatiotemporal chaos model is updated, an encrypted image is generated based on the ciphertext values ​​of all the pixels, and the encrypted image is transmitted to a receiving end.

2. The method according to claim 1, characterized in that: The step of acquiring and converting the image to be transmitted into a plurality of pixel point combinations includes: Acquire the image to be transmitted; Dividing the image to be transmitted into a plurality of two-dimensional matrices; wherein one of the two-dimensional matrices corresponds to one color channel; For each of the two-dimensional matrices, read pixel points in the two-dimensional matrix row by row from left to right and from top to bottom according to the two-dimensional matrix, and store the pixel points in a one-dimensional matrix; The pixel points in the one-dimensional matrix are grouped to obtain a plurality of pixel point combinations.

3. The method according to claim 1, characterized in that For each pixel point of the current pixel point combination, obtaining the DNA code corresponding to the pixel point from the code conversion table includes: For each pixel in the current pixel combination, dividing the pixel into a plurality of bit units; For each of the bit units, the DNA code corresponding to the bit unit is obtained from the code conversion table to obtain the DNA code corresponding to the pixel point.

4. The method according to claim 1, characterized in that: The step of encrypting the DNA code corresponding to the pixel point to obtain the ciphertext value of the pixel point includes: Performing encryption operation on the DNA code corresponding to the pixel point to obtain an encrypted DNA code; Filtering out bit data corresponding to the encrypted DNA code from the code conversion table; Arrange and combine a plurality of the bit data to obtain a ciphertext value of the pixel.

5. The method according to claim 1, characterized in that The process of pre-building the encoding conversion table based on the spatiotemporal chaos model includes: Obtaining and dividing a key of preset bits to obtain a plurality of bytes; wherein each of the bytes contains the same number of bits; Initializing the spatiotemporal chaos model using all bytes to obtain an initialized spatiotemporal chaos model; wherein the initialized spatiotemporal chaos model includes a plurality of grids, each of which has a corresponding state value; Creating an index for each of the grids in descending order of the state values; For each of the grids, calculate the absolute value of the product of the state value of the grid and 256 to obtain an integer value of the grid; Dividing the integer value of the grid to obtain a plurality of bit data; For each bit of data, convert the bit of data into a DNA base to obtain a DNA code; A coding conversion table is established based on the index of each grid, the bit data corresponding to each grid and the DNA code corresponding to the bit data.

6. The method according to claim 1, characterized in that Also includes: Get the information to be hidden; Filtering out a carrier pixel point set from the image to be transmitted; wherein the carrier pixel point set includes a plurality of carrier pixel points; For each of the carrier pixels, the least significant bit of the carrier pixel is replaced with the information to be hidden.

7. An image transmission method based on a complex chaotic system, characterized in that: Applied to the receiving end, including: When the encrypted image is received, converting the encrypted image into a plurality of two-dimensional matrices; wherein one of the two-dimensional matrices corresponds to one color channel; For each of the two-dimensional matrices, permuting the pixels in the two-dimensional matrix in rows and columns to obtain a permuted two-dimensional matrix; For each pixel point in the permuted two-dimensional matrix, a DNA code corresponding to the pixel point is obtained from a code conversion table; the code conversion table is pre-constructed based on a spatiotemporal chaos model; Performing a decryption operation on the DNA code corresponding to the pixel point to obtain a decrypted DNA code; Obtaining pixel points corresponding to the decrypted DNA code from the code conversion table to obtain decoded pixel points; A decrypted image is generated based on the decoded pixels.

8. The method according to claim 7, characterized in that The generating a decrypted image based on the decoded pixel points comprises: For each permuted two-dimensional matrix, deleting decoded pixel points with pixel values ​​of 0 in the permuted two-dimensional matrix to obtain a deleted two-dimensional matrix; Merge all deleted two-dimensional matrices to obtain the decrypted image.

9. The method according to claim 7, characterized in that: Also includes: Extract the least significant bit of the carrier pixel from the decrypted image; The least significant bits are sorted to obtain the information to be hidden.

10. An image transmission device based on a complex chaotic system, characterized in that: Applied to the sending end, including: A first acquisition unit, used for acquiring and converting the image to be transmitted into a plurality of pixel point combinations; A first selection unit, used to select any pixel point combination from all pixel point combinations as the current pixel point combination; A second acquisition unit is used to acquire, for each pixel point of the current pixel point combination, a DNA code corresponding to the pixel point from a code conversion table; the code conversion table is pre-constructed based on a spatiotemporal chaos model; An encryption unit, used for encrypting the DNA code corresponding to the pixel point to obtain a ciphertext value of the pixel point; A judging unit, used to judge whether all pixel combinations have completed encryption processing; A second selection unit is used for selecting any pixel point combination other than the current pixel point combination from all pixel point combinations if any pixel point combination has not completed encryption processing, and after taking the pixel point combination as the current pixel point combination, returning to execute the step of obtaining a DNA code corresponding to each pixel point of the current pixel point combination from a code conversion table; An updating unit, configured to iteratively update the spatiotemporal chaos model using the ciphertext values ​​of all the pixels if the encryption processing of all the pixel combinations is completed; the ciphertext values ​​of all the pixels indicate the ciphertext value of each pixel in the all the pixel combinations; A transmission unit is used to generate an encrypted image based on the ciphertext values ​​of all the pixels when the spatiotemporal chaos model is updated, and transmit the encrypted image to a receiving end.

11. An image transmission device based on a complex chaotic system, characterized in that: Applied to the receiving end, including: A conversion unit, configured to convert the encrypted image into a plurality of two-dimensional matrices when receiving the encrypted image; wherein one of the two-dimensional matrices corresponds to one color channel; a replacement unit, configured to perform row-column replacement of pixel points in each of the two-dimensional matrices to obtain a replaced two-dimensional matrix; A first acquisition unit is used to acquire, for each pixel point in the permuted two-dimensional matrix, a DNA code corresponding to the pixel point from a code conversion table; the code conversion table is pre-constructed based on a spatiotemporal chaos model; A decryption unit, used to perform a decryption operation on the DNA code corresponding to the pixel point to obtain a decrypted DNA code; A second acquisition unit is used to acquire the pixel points corresponding to the decrypted DNA code from the code conversion table to obtain the decoded pixel points; A generating unit is used to generate a decrypted image based on the decoded pixel points.

Citation Information

Patent Citations

  • Image encryption method based on chaotic sequence and DNA coding

    CN113225449A

  • Color image encryption method and device based on two-dimensional hyperchaos and compressed sensing

    CN116886269A