Dynamic steganography method and system for ECG signals based on CEEMD and convolutional error correction code
The dynamic steganography method of ECG signals using CEEMD and convolutional error correction code solves the problems of small steganographic capacity and low security, and realizes efficient and secure steganographic transmission of ECG signals. It is suitable for a variety of ECG signals and biomedical signals.
Patent Information
- Application Number
- CN202310303442.2
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2023-03-23
- Publication Date
- 2025-09-16
- Estimated Expiration
- 2043-03-23
AI Technical Summary
In the existing ECG signal steganographic transmission scheme, the steganographic embedding capacity is limited and the security is not high. The shared secret key can be easily cracked by the adversary, resulting in the leakage of user privacy information.
A dynamic steganography method for ECG signals based on CEEMD and convolutional error correction code is adopted. A shared key is generated through the key distribution module. The CEEMD model is used to decompose the ECG signal into multiple IMF components. Convolutional error correction code is used to embed confidential information. Combined with AES encryption and Huffman coding compression, dynamic embedding and extraction of confidential information are achieved.
It increases the steganographic capacity, improves the signal quality and concealment, enhances security, reduces the computational complexity, and is applicable to different types of ECG signals and biomedical signals.
Smart Images

Figure CN116405201B_ABST
Abstract
Description
Technical Field
[0001] The present invention relates to the technical field of information hiding, and in particular to a method and system for dynamic steganography of electrocardiogram signals based on CEEMD and convolutional error correction code. Background Art
[0002] ECG signals are vulnerable to attacks by malicious adversaries during transmission, so steganographic transmission of ECG signals is necessary. However, existing steganographic transmission of ECG signals has the following drawbacks:
[0003] Limited steganographic embedding capacity: The embedding capacity of existing ECG signal steganography schemes is usually small. This is because ECG signals are physiological signals, and after embedding confidential information, it is necessary to ensure that the impact on the original ECG signal information is minimized. ECG signals themselves are highly complex and random, which limits the capacity of embedded confidential information.
[0004] ECG signal steganography is not very secure: In existing ECG signal steganography models, the secret key used to encrypt private information and the secret key that determines the embedding location of private information are mostly unchanged. This makes the existing scheme unable to meet forward security. Once the shared secret key is obtained by the adversary, the adversary will be able to obtain the confidential information previously hidden in the ECG signal, thereby leaking the user's private information.
[0005] Therefore, we urgently need a new ECG signal steganography scheme. Summary of the Invention
[0006] The purpose of the present invention is to provide a method and system for dynamic steganography of electrocardiogram signals based on CEEMD and convolutional error correction code, which can increase the steganographic capacity and enhance the security of steganographic transmission of electrocardiogram signals.
[0007] The technical solution adopted in the present invention is:
[0008] A dynamic steganographic method for electrocardiographic signals based on CEEMD and convolutional error correction code comprises the following steps:
[0009] S1. Perform identity authentication and generate a shared secret key SK through the key distribution module. Specifically, the user and the server perform identity authentication, and after authentication, complete key negotiation to generate a shared secret key SK.
[0010] S2, preprocessing the original ECG signal through the CEEMD model through the ECG signal preprocessing module and decomposing it into multiple IMF components;
[0011] S3, using a dynamic confidential information embedding module to embed confidential information into each IMF component in step S2 using a convolutional error correction code, thereby generating an ECG signal with the confidential information steganographically embedded;
[0012] S4. Decrypt and extract the ECG signal containing confidential information through the decryption and recovery module.
[0013] According to the above scheme, in step S3, the confidential information dynamic embedding module uses a convolutional error correction code to embed confidential information into each IMF component in step S2, and the steps of generating an ECG signal with the confidential information hidden are as follows:
[0014] S31, generating a random sequence S by using the shared key SK in step S1 and the Chebyshev chaotic map, wherein the random sequence S stores a series of random numbers;
[0015] S32, obtaining the IMF coefficient to be embedded with an error in each IMF component in step S2 through the random sequence S, and converting the coefficient into an integer and then into a binary bit string;
[0016] S33, using a (15, 11, 9) convolutional code to encode the bit string of step S32 to obtain check code words, and embed these check code words into the corresponding bit string;
[0017] S34. Add two random errors to each bit string in step S33. These errors will be completely randomly selected. Record these errors to generate random bit strings S1 and S2. Random bit string S1 is used as the secret key for encrypting the confidential information in step S35. Random bit string S2 assists in generating a random embedding position to achieve dynamic changes in the embedding position of the confidential information.
[0018] S35, using AES encryption technology and random bit string S 12 The confidential information is encrypted with the encryption key and the obtained ciphertext is converted into a binary bit string; these binary bit strings are embedded into the IMF coefficients; the embedding position of the confidential information is dynamically generated with the assistance of the random bit string S2;
[0019] S36, reconstructing the encrypted ECG signal to generate an ECG signal containing confidential information, and performing various evaluations on the signal;
[0020] S37. Use the random bit string S2 to update the shared secret key to obtain a new shared secret key SK'.
[0021] Embedding confidential information is a key step in the proposed scheme, and a series of complex operations are required to ensure the robustness and security of confidential information embedding.
[0022] According to the above scheme, the length of the check codeword in step S33 is 4 bits; the (15, 11, 9) convolutional code implements error correction on the encoded bit string through the maximum likelihood decoding algorithm.
[0023] According to the above scheme, in step S2, Hilbert transform is performed on each IMF component.
[0024] According to the above solution, the ECG signal with the confidential information hidden in step S3 is compressed using a compression algorithm based on Huffman coding before being stored.
[0025] According to the above scheme, the steps of compressing the ECG signal containing confidential information in step S3 using a Huffman coding algorithm before storing the signal are as follows:
[0026] 1) Count the frequency of occurrence of characters:
[0027] Traverse the file to be compressed and record the frequency of occurrence of each character;
[0028] 2) Construct Huffman tree:
[0029] Use the frequency of all characters as weights to construct a Huffman tree, where characters with high frequency of occurrence are the bottom nodes of the tree, and characters with low frequency of occurrence are the high-level nodes of the tree;
[0030] 3) Construct the coding table:
[0031] According to the construction of the Huffman tree, the Huffman code corresponding to each character is generated; for example, the left branch of the path from the root node to the leaf node is 0, and the right branch is 1, so as to obtain the code table corresponding to each character;
[0032] 4) Perform compression:
[0033] According to the generated encoding table, each character in the file is converted into the corresponding Huffman code, and these encoding sequences are output to the compressed file;
[0034] 5) Write compression information:
[0035] Write the character occurrence frequency and encoding table information into the compressed file so that they can be decoded during subsequent decompression.
[0036] According to the above scheme, the steps of decrypting and extracting the ECG signal containing confidential information by the decryption and recovery module in step S4 are as follows:
[0037] S41, obtaining the IMF coefficient embedded with confidential information;
[0038] S42. Generate a random sequence S:
[0039] In order to determine the location where confidential information is embedded, a valid random sequence S needs to be generated. A shared secret key SK and a chaotic mapping algorithm are used to generate the random sequence S, ensuring that the random sequence S used in the embedding and extraction processes is the same.
[0040] Obtain a random number sequence using a random sequence S and a convolutional error correction code: Generate random bit strings S1 and S2 using the obtained random sequence S and a convolutional error correction code;
[0041] S43. Determine the embedding position:
[0042] The generated random bit string S2 and the dynamic embedding position calculation algorithm are used to determine the embedding position of the confidential information and complete the operation of extracting the embedded confidential information in the IMF coefficient. This process is similar to the dynamic selection process of the confidential information embedding position in the embedding process.
[0043] S44. Decrypt embedded confidential information:
[0044] Because the confidential information is encrypted using AES during the embedding process, the random bit string S1 needs to be used as the secret key for decryption during the extraction process, and the decrypted bit sequence needs to be reassembled to obtain the confidential information. This process is the reverse operation of the encryption, segmentation and conversion of the confidential information into a bit sequence during the embedding process.
[0045] S45. Use the random bit string S2 to update the shared key SK to ensure that the embedding position of the confidential information changes dynamically during each steganographic process.
[0046] According to the above scheme, in step S41, when the received ECG signal steganographic file is a compressed ECG signal steganographic file, the compressed coefficients are first decompressed using the Huffman coding decoding algorithm; then the IMF coefficients embedded with the confidential information are obtained. This operation is the reverse process of the coding table construction and compression process during the compression process.
[0047] The present invention also provides a dynamic steganographic system for electrocardiographic signals based on CEEMD and convolutional error correction code. The system adopts the dynamic steganographic method for electrocardiographic signals based on CEEMD and convolutional error correction code, which includes:
[0048] Key distribution module, used for identity authentication and generation of shared secret key SK;
[0049] ECG signal preprocessing module, used to preprocess the original ECG signal through the CEEMD model and decompose it into multiple IMF components;
[0050] The confidential information dynamic embedding module is used to receive data from the key distribution module and the ECG signal preprocessing module, and use convolutional error correction code to embed confidential information into each IMF component to generate an ECG signal with confidential information hidden in it;
[0051] The decryption and recovery module is used to receive data from the confidential information dynamic embedding module and decrypt and extract the electrocardiogram signal that has hidden confidential information.
[0052] According to the above solution, the steganographic system further includes a compression algorithm module, which is used to receive data from the confidential information dynamic embedding module and compress the ECG signal containing the confidential information using a compression algorithm based on Huffman coding.
[0053] The beneficial effects produced by the present invention are:
[0054] Increased steganographic capacity: This method embeds more secret information into a single CEIMF coefficient, achieving better invisibility. Furthermore, by using CEEMD to decompose the ECG signal into multiple IMF components, confidential information can be embedded in multiple components, thereby increasing the steganographic capacity.
[0055] Improved signal quality: Using the CEEMD method to decompose the signal effectively reduces noise and improves signal quality. Compared with traditional methods, the CEEMD method is more suitable for processing non-stationary and nonlinear signals, thus preserving more signal details and local features.
[0056] Enhanced stealth: Convolutional error-correcting codes are used to generate random numbers for key updates, so that the embedding position of confidential information changes each time, effectively enhancing the stealth of steganography.
[0057] Reduced computational effort: The maximum likelihood decoding algorithm is used to decode the convolutional error correction code, effectively reducing computational overhead and improving the algorithm's operational efficiency.
[0058] Strong adaptability: The present invention can be applied to different types of ECG signals, including those with different lengths, sampling rates, and amplitude ranges. It can also be applied to the steganography of other biomedical signals.
[0059] Dynamic encryption capability: Generates random numbers through convolutional code algorithm to achieve dynamic encryption of confidential information, thereby further enhancing the security of steganography. BRIEF DESCRIPTION OF THE DRAWINGS
[0060] The present invention will be further described below with reference to the accompanying drawings and embodiments, in which:
[0061] Figure 1 It is a principle block diagram of the electrocardiogram signal dynamic steganography method based on CEEMD and convolutional error correction code according to an embodiment of the present invention.
[0062] Figure 2 It is a flow chart of a dynamic steganographic method for electrocardiographic signals based on CEEMD and convolutional error correction code according to an embodiment of the present invention.
[0063] Figure 3 yes Figure 2 Specific flow chart of step S3 in FIG.
[0064] Figure 4 yes Figure 2 Specific flow chart of step S4 in FIG. DETAILED DESCRIPTION
[0065] In order to make the purpose, technical solutions and advantages of the present invention more clearly understood, the present invention will be further described in detail below with reference to the accompanying drawings and embodiments. It should be understood that the specific embodiments described herein are only used to explain the present invention and are not intended to limit the present invention.
[0066] The proposed dynamic ECG signal steganography method based on CEEMD and convolutional error correction codes is highly adaptable and can be applied to different types of ECG signals, including those with different lengths, sampling rates, and amplitude ranges. It can also be applied to the steganography of other biomedical signals.
[0067] Example 1
[0068] See also Figure 1 and Figure 2 The present invention provides a dynamic steganographic method for electrocardiographic signals based on CEEMD and convolutional error correction code, which comprises the following steps:
[0069] S1, identity authentication and generation of shared secret key SK through key distribution module;
[0070] S2. Preprocessing the original ECG signal using the CEEMD model through the ECG signal preprocessing module to decompose it into multiple IMF components; performing Hilbert transform on each IMF component;
[0071] S3, using a dynamic confidential information embedding module to embed confidential information into each IMF component in step S2 using a convolutional error correction code, thereby generating an ECG signal with the confidential information steganographically embedded;
[0072] S4. Decrypt and extract the ECG signal containing confidential information through the decryption and recovery module.
[0073] The present invention uses the CEEMD model to decompose ECG signals into multiple IMF components, effectively reducing noise and improving signal quality. Compared with traditional methods, the CEEMD method is more suitable for processing non-stationary and nonlinear signals, thereby preserving more signal details and local features. Confidential information is embedded in the decomposed multiple IMF components, further increasing the steganographic capacity. Furthermore, a convolutional error-correcting code is used to generate random numbers for key updates, allowing the embedding position of confidential information to change each time, effectively enhancing the concealment of the steganography.
[0074] like Figure 3 As shown, step S3 may further include the steps of:
[0075] S31, generating a random sequence S by using the shared key SK in step S1 and the Chebyshev chaotic map, wherein the random sequence S stores a series of random numbers;
[0076] S32, obtaining the IMF coefficient to be embedded with an error in each IMF component in step S2 through the random sequence S, and converting the coefficient into an integer and then into a binary bit string;
[0077] S33. Use the (15, 11, 9) convolutional code to encode the bit string of step S32 to obtain a check code word, the length of the check code word is 4 bits, and these check code words are embedded in the corresponding bit string; the (15, 11, 9) convolutional code uses a maximum likelihood decoding algorithm to correct errors in the encoded bit string; the present invention prefers the (15, 11, 9) convolutional code because when this shorter check code word is selected, it will provide 3 error correction capabilities.
[0078] S34, add two random errors to each bit string in step S33, and record these errors to generate random bit strings S1 and S2; random bit string S 12 As the secret key for encrypting the confidential information in step S35, the random bit string S2 assists in generating a random embedding position to achieve dynamic changes in the embedding position of the confidential information;
[0079] S35, encrypting the confidential information using AES encryption technology and the encryption key of the random bit string S1, and converting the obtained ciphertext into a binary bit string; embedding the binary bit string into the IMF coefficient; the embedding position of the confidential information is dynamically generated with the assistance of the random bit string S2;
[0080] S36. Reconstruct the encrypted ECG signal to generate an ECG signal that contains the confidential information. The signal can be evaluated in various ways, such as by calculating evaluation indicators such as PRD (percent of root-mean-square difference), PSNR (Peak Signal-to-Noise Ratio), and BER (Bit Error Rate).
[0081] S37. Use the random bit string S2 to update the shared secret key to obtain a new shared secret key SK'.
[0082] Maximum likelihood decoding mainly includes the Viterbi algorithm, the BCJR algorithm, the Fano algorithm, etc. The present invention preferably uses the Viterbi algorithm. Among them, the Viterbi algorithm is a standard algorithm for maximum likelihood decoding, which can effectively reduce the codeword error rate. However, its computational complexity is relatively high and requires a large amount of computing resources. The BCJR algorithm is also a decoding algorithm based on the maximum likelihood criterion, which has lower computational complexity than the Viterbi algorithm. However, it requires more storage space to store the decoding state. The Fano algorithm is an approximate maximum likelihood decoding algorithm, which has lower computational complexity than the Viterbi algorithm. However, its decoding performance is poor and misinterpretation may occur.
[0083] The above method enables dynamic encryption capabilities, namely, generating random numbers through a convolutional code algorithm to achieve dynamic encryption of confidential information, thereby further enhancing the security of steganography. In addition, the use of a maximum likelihood decoding algorithm (such as the Viterbi algorithm) to decode the convolutional error-correcting code can effectively reduce computational overhead and improve the algorithm's operational efficiency.
[0084] Step S4 is the inverse operation of the embedding process. First, after receiving the compressed ECG signal steganographic file, the Huffman coding decoding algorithm is used to decompress the compressed coefficients to obtain the EMD coefficients embedded with confidential information. Then, a random sequence S is generated based on the shared secret key and the chaotic mapping algorithm, and the position of the EMD coefficients with embedded errors is determined by S. After obtaining the EMD coefficients with embedded errors, the convolutional error correction code is used to obtain the embedded errors, and S1 and S2 are generated for extraction and decryption. Finally, the embedded bit values are decrypted to extract confidential information. Figure 4 As shown, step S4 may further include:
[0085] S41. When the received ECG signal steganographic file is a compressed ECG signal steganographic file, the compressed coefficients are first decompressed using a Huffman coding decoding algorithm; then the IMF coefficients embedded with confidential information are obtained; this operation is the inverse process of coding table construction and compression during the compression process.
[0086] S42. Generate a random sequence S:
[0087] In order to determine the location where the confidential information is embedded, it is necessary to generate a valid random sequence S. The shared secret key SK and the chaotic mapping algorithm are used to generate the random sequence S, ensuring that the random sequence S used in the embedding process and the extraction process is the same;
[0088] Use S and convolutional error correction code technology to obtain a random number sequence: Use the obtained random sequence S and convolutional error correction code to generate random bit strings S1 and S2;
[0089] S43. Determine the embedding position:
[0090] The generated random bit string S2 and the dynamic embedding position calculation algorithm are used to determine the embedding position of the confidential information and complete the operation of extracting the embedded confidential information in the IMF coefficient; this process is similar to the dynamic selection process of the confidential information embedding position in the embedding process.
[0091] S44. Decrypt embedded confidential information:
[0092] During the extraction process, a random bit string S1 is required as the secret key for decryption, and the decrypted bit sequence is reassembled to obtain confidential information; this process is the inverse operation of encrypting, splitting and converting confidential information into a bit sequence during the embedding process.
[0093] S45. Use the random bit string S2 to update the shared key SK to ensure that the embedding position of the confidential information changes dynamically during each steganographic process.
[0094] In this embodiment, further, in order to improve transmission efficiency and reduce storage overhead, the ECG signal can be compressed before confidential information is steganographically written to the ECG. For example, a compression algorithm based on Huffman coding is used to count the frequency of occurrence of each character in the file to be compressed. Then, a Huffman tree is constructed based on the frequency of occurrence, in which characters with high frequency of occurrence are used as the bottom nodes of the tree, and characters with low frequency of occurrence are used as the high-level nodes of the tree. On this basis, the Huffman code corresponding to each character is generated, and the left branch of the path from the root node to the leaf node is 0 and the right branch is 1, thereby obtaining a coding table for each character. Next, according to the generated coding table, each character in the file to be compressed is converted into a corresponding Huffman code, and these coding sequences are output to the compressed file. Finally, the character frequency of occurrence and the coding table information are written into the compressed file together so that they can be decoded during subsequent decompression. In this way, the file is successfully compressed, achieving the purpose of reducing file storage space. The compression algorithm based on Huffman coding specifically includes the following steps:
[0095] 1) Count the frequency of occurrence of characters:
[0096] Traverse the file to be compressed and record the frequency of occurrence of each character;
[0097] 2) Construct Huffman tree:
[0098] Use the frequency of all characters as weights to construct a Huffman tree, where characters with high frequency of occurrence are the bottom nodes of the tree, and characters with low frequency of occurrence are the high-level nodes of the tree;
[0099] 3) Construct the coding table:
[0100] According to the construction of the Huffman tree, the Huffman code corresponding to each character is generated; for example, the left branch of the path from the root node to the leaf node is 0, and the right branch is 1, thereby obtaining the code table corresponding to each character.
[0101] 4) Perform compression:
[0102] According to the generated encoding table, each character in the file is converted into the corresponding Huffman code, and these encoding sequences are output to the compressed file;
[0103] 5) Write compression information:
[0104] Write the character occurrence frequency and encoding table information into the compressed file so that they can be decoded during subsequent decompression.
[0105] Example 2
[0106] A dynamic steganography system for electrocardiogram signals based on CEEMD and convolutional error correction codes. The system adopts the above-mentioned dynamic steganography method for electrocardiogram signals based on CEEMD and convolutional error correction codes, and includes a key distribution module, an electrocardiogram signal preprocessing module, a confidential information dynamic embedding module, and a decryption and recovery module.
[0107] The key distribution module is used for secure communication between users and servers. This process includes two parts: identity authentication and shared key generation. After identity authentication and confirming the legal identities of both parties, key negotiation is carried out to obtain a shared security key SK. The user and server will use this key to assist in the secure embedding of confidential information in the ECG signal, including confidential information encryption, embedding bit selection, etc., thereby enhancing the security of ECG signal steganography.
[0108] The ECG signal preprocessing module is used to preprocess the original ECG signal using the CEEMD model and decompose it into multiple IMF components. ECG signal preprocessing is a very important step in the ECG signal steganography process. Its purpose is to remove noise and interference in the ECG signal and improve the robustness and reliability of the embedding algorithm. ECG signals themselves contain rich physiological information, but are also easily affected by various noises, such as electromyographic signals and electromagnetic interference from acquisition equipment. Therefore, before embedding confidential information, the ECG signal needs to be preprocessed to ensure that the embedded information is not interfered with. CEEMD is a signal decomposition method that can decompose the signal into multiple intrinsic mode function (EMD) components and perform a Hilbert transform on each component. This process can filter out noise and interference in the signal, thereby obtaining a purer signal. In this embodiment, the original ECG signal is input into the CEEMD model and denoised to remove noise and interference in the ECG signal, obtaining a set of smoother signal components, thereby improving the robustness and reliability of the embedded information and reducing the impact of the embedded information on the eigenvalues of the ECG signal itself, thereby improving the accuracy of embedded and extracted information.
[0109] The dynamic confidential information embedding module receives data from the key distribution module and the ECG signal preprocessing module. It embeds confidential information into each IMF component using a convolutional error-correcting code, generating an ECG signal containing the steganographic information. Before embedding the confidential information, a shared key SK and a Chebyshev chaotic map are used to generate a random sequence S, which stores a series of random numbers. This random sequence S is used to determine which IMF components to embed errors in and the locations of the IMF coefficients within each IMF component to embed errors. This chaos-based random sequence generation method improves the security of the embedding algorithm, making the embedded confidential information more difficult for attackers to detect and decrypt. Furthermore, after each successful steganographic operation, the shared key used in that round is updated, enabling dynamic changes in the steganographic bits of the confidential information during each steganographic operation. Next, a (15,11,9) convolutional code is used to encode the selected IMF coefficients in the random sequence S, generating a 4-bit check codeword. The (15,11,9) convolutional code is a convolutional error correction code defined on the Galois field GF(2). This error correction code can correct the errors of the encoded bit string through the maximum likelihood decoding algorithm. The coding length of this coding scheme is 15 bits, the information bit number is 11 bits, and it can correct 2-bit errors. When an error of less than or equal to 2 bits occurs in the encoded information, the use of a check codeword can achieve lossless restoration of the original information. Therefore, 2-bit error data is randomly embedded in the selected IMF coefficient, and these data are recorded as random bit strings S1 and S2 respectively. Among them, the random bit string S1 is used as the secret key for the next step of confidential information encryption, and the encryption operation is completed using AES symmetric encryption technology. The random bit string S2 will assist in generating random embedding positions to achieve dynamic changes in the embedding position of confidential information. Finally, the encrypted ciphertext is converted into a binary bit string, and these bit strings are embedded in the decomposed IMF coefficient. In order to improve the concealment of ECG signal steganography, this embodiment adopts a random embedding strategy in the confidential information embedding process to effectively resist the illegal extraction of the adversary. Finally, the decomposed ECG signal is reconstructed to obtain the ECG signal embedded with secret information, and the signal is evaluated to verify the reliability and practicality of the steganography scheme.
[0110] The decryption and recovery module receives data from the dynamic confidential information embedding module and decrypts and extracts the ECG signal containing the steganographic information. The decryption and recovery process is the inverse of the embedding process. First, the IMF coefficients of the embedded confidential information are obtained. Then, a random sequence S is generated using the shared secret key and a chaotic mapping algorithm. The location of the IMF coefficients with embedded errors is determined using this random sequence S. After obtaining the IMF coefficients with embedded errors, a convolutional error correction code is used to detect the embedded errors and generate random bit strings S1 and S2 for extraction and decryption. Finally, the embedded bit values are decrypted to extract the confidential information.
[0111] Example 3
[0112] Unlike Example 2, the steganographic system further includes a compression algorithm module, which receives data from the dynamic confidential information embedding module and compresses the ECG signal containing the steganographic confidential information using a Huffman coding-based compression algorithm. To improve transmission efficiency and reduce storage overhead, the ECG signal is compressed. This compression algorithm, based on Huffman coding, counts the frequency of occurrence of each character in the file to be compressed. A Huffman tree is then constructed based on the frequency of occurrence, with characters with high frequency of occurrence as bottom nodes and characters with low frequency of occurrence as higher-level nodes. Based on this, a Huffman code corresponding to each character is generated, with the path from the root node to a leaf node having a left branch of 0 and a right branch of 1, thereby obtaining a code table for each character. Next, based on the generated code table, each character in the file to be compressed is converted into its corresponding Huffman code, and these code sequences are output into a compressed file. Finally, the character frequency of occurrence and the code table information are written to the compressed file for subsequent decoding during decompression. In this way, the file is successfully compressed, achieving the goal of reducing file storage space.
[0113] Example 4
[0114] The present invention also provides a computer-readable storage medium, such as a flash memory, a hard disk, a multimedia card, a card-type memory (e.g., SD or DX memory), a random access memory (RAM), a static random access memory (SRAM), a read-only memory (ROM), an electrically erasable programmable read-only memory (EEPROM), a programmable read-only memory (PROM), a magnetic memory, a disk, an optical disk, a server, an App store, etc., on which a computer program is stored, and when the program is executed by a processor, a corresponding function is implemented. The computer-readable storage medium of this embodiment is used to implement the dynamic electrocardiographic signal steganography method based on CEEMD and convolutional error correction code according to the method embodiment when executed by the processor.
[0115] The present invention uses complete empirical mode decomposition (CEEMD) and convolutional error correction code technology to design an ECG signal steganography scheme that meets forward security, increases the steganography capacity, effectively enhances the security of steganography, and improves transmission efficiency; by adopting the Huffman coding compression algorithm, it effectively reduces the storage space occupied and avoids the waste of resources.
[0116] The present invention enhances the security of ECG signal steganographic transmission and simultaneously improves the stability and efficiency of transmission. It has the advantages of large steganographic capacity, high signal quality, strong concealment, small computational complexity, and strong scalability, and is suitable for application scenarios of ECG signal steganography.
[0117] It should be understood that those skilled in the art can make improvements or changes based on the above description, and all such improvements and changes should fall within the scope of protection of the appended claims of the present invention.
Claims
1. A dynamic steganographic method for ECG signals based on CEEMD and convolutional error correction code, characterized by: The steps include: S1. Authentication and shared key generation through the key distribution module SK ; S2, preprocessing the original ECG signal through the CEEMD model through the ECG signal preprocessing module and decomposing it into multiple IMF components; S3, using a dynamic confidential information embedding module to embed confidential information into each IMF component in step S2 using a convolutional error correction code, thereby generating an ECG signal that embodies the confidential information; specifically: S31, the shared key in step S1 Generating random sequences using Chebyshev chaotic maps S , random sequence S Store a series of random numbers in; S32, through random sequence S Obtaining the IMF coefficients of each IMF component in which the error is to be embedded in step S2, converting the coefficients into integers, and converting them into binary bit strings; S33, using a (15, 11, 9) convolutional code to encode the bit string of step S32 to obtain check code words, and embed these check code words into the corresponding bit string; S34: Add two random errors to each bit string in step S33 and record these errors to generate a random bit string. S 1 and S 2; Random bit string S 1 is used as the secret key for encrypting confidential information in step S35, and the random bit string S 2. Assist in generating random embedding positions to achieve dynamic changes in the embedding position of confidential information; S35, using AES encryption technology and random bit string S 1, encrypts the confidential information and converts the obtained ciphertext into a binary bit string; These binary bit strings are embedded into the IMF coefficients; the embedding position of the confidential information will be in the random bit string S 2 is dynamically generated with the assistance of S36, reconstructing the encrypted ECG signal to generate an ECG signal in which confidential information is hidden; S37. Use random bit strings S 2Update the shared secret key and obtain a new shared secret key SK' ; S4. Decrypt and extract the ECG signal containing confidential information through the decryption and recovery module.
2. The method for dynamic steganography of electrocardiographic signals based on CEEMD and convolutional error correction code according to claim 1, characterized in that: The length of the check codeword in step S33 is 4 bits; the (15, 11, 9) convolutional code implements error correction on the encoded bit string through the maximum likelihood decoding algorithm.
3. The method for dynamic ECG signal steganography based on CEEMD and convolutional error correction code according to claim 1, characterized in that: In step S2, Hilbert transform is performed on each IMF component.
4. The method for dynamic steganography of electrocardiographic signals based on CEEMD and convolutional error correction code according to claim 1, characterized in that: The electrocardiographic signal with the confidential information hidden in step S3 is compressed using a compression algorithm based on Huffman coding before being stored.
5. The method for dynamic ECG signal steganography based on CEEMD and convolutional error correction code according to claim 4, characterized in that: The steps of compression based on Huffman coding compression algorithm are: 1) Count the frequency of occurrence of characters: Traverse the file to be compressed and record the frequency of occurrence of each character; 2) Construct Huffman tree: Use the frequency of all characters as weights to construct a Huffman tree, where characters with high frequency of occurrence are the bottom nodes of the tree, and characters with low frequency of occurrence are the high-level nodes of the tree; 3) Construct the coding table: According to the construction of the Huffman tree, generate the Huffman code corresponding to each character; 4) Perform compression: According to the generated encoding table, each character in the file is converted into the corresponding Huffman code, and these encoding sequences are output to the compressed file; 5) Write compression information: Write the character occurrence frequency and encoding table information into the compressed file so that they can be decoded during subsequent decompression.
6. The method for dynamic steganography of electrocardiographic signals based on CEEMD and convolutional error correction code according to claim 1, characterized in that: Step S4 is specifically as follows: S41, obtaining the IMF coefficient embedded with confidential information; S42. Generate a random sequence S : Using a shared secret key SK and chaotic mapping algorithm to generate random sequences S , ensuring the random sequence used in the embedding and extraction processes S are the same; use S And convolution error correction code technology to obtain a random number sequence: using the obtained random sequence S and convolutional error correction code to generate a random bit string S 1 and S 2; S43. Determine the embedding position: Using a generated random bit string S 2 and the dynamic embedding position calculation algorithm to determine the embedding position of the confidential information and complete the operation of extracting the embedded confidential information in the IMF coefficient; S44. Decrypt embedded confidential information: During the extraction process, a random bit string is required S 1 is used as the secret key to decrypt and reassemble the decrypted bit sequence to obtain confidential information; S45. Using random bit strings S 2 Update the shared key SK , ensuring that the embedding position of the confidential information changes dynamically during each steganography process.
7. The method for dynamic ECG signal steganography based on CEEMD and convolutional error correction code according to claim 6, characterized in that: In step S41, when the received ECG signal steganographic file is a compressed ECG signal steganographic file, the compressed coefficients are first decompressed using a Huffman coding decoding algorithm; Then we can get the IMF coefficients embedded with confidential information.
8. A dynamic electrocardiographic signal steganography system based on CEEMD and convolutional error correction code, characterized by: The system adopts the dynamic steganography method of electrocardiogram signal based on CEEMD and convolution error correction code as described in any one of claims 1 to 7, which includes: Key distribution module, used for identity authentication and generation of shared keys SK ; ECG signal preprocessing module, used to preprocess the original ECG signal through the CEEMD model and decompose it into multiple IMF components; The confidential information dynamic embedding module is used to receive data from the key distribution module and the ECG signal preprocessing module, and use convolutional error correction code to embed confidential information into each IMF component to generate an ECG signal with confidential information hidden in it; The decryption and recovery module is used to receive data from the confidential information dynamic embedding module and decrypt and extract the electrocardiogram signal that has hidden confidential information.
9. The ECG signal dynamic steganography system based on CEEMD and convolutional error correction code according to claim 8, characterized in that: The steganographic system further comprises a compression algorithm module, which is used to receive data transmitted by the confidential information dynamic embedding module and compress the electrocardiographic signal containing the confidential information using a compression algorithm based on Huffman coding.
Citation Information
Patent Citations
Self-adaption covert communication method based on satellite channel coding
CN103476026A
Compressed audio adaptive steganography method and system based on equal-length entropy codeword replacement
CN109346091A