A data concealment transmission method based on an Ethereum smart contract and an IPFS platform

By combining Ethereum smart contracts with the IPFS platform and utilizing off-chain key exchange and LSB steganography technology, the problems of low concealment and low embedding rate in existing data covert transmission are solved, achieving efficient and secure data covert transmission.

CN116192472BActive Publication Date: 2026-02-27BEIJING INST OF TECH
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202310044066.X
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2023-01-29
Publication Date
2026-02-27
Estimated Expiration
2043-01-29

AI Technical Summary

Technical Problem

Existing data covert transmission technologies suffer from low concealment, low embedding rate, and obvious transaction characteristics, making it difficult to achieve efficient and secure data covert transmission.

Method used

This method, based on Ethereum smart contracts and the IPFS platform, achieves covert data transmission through off-chain key exchange, LSB steganography, and the generation of multiple transactions. Specific steps include off-chain negotiation of an address list and keys, steganography encryption, generation of Ethereum smart contract transactions, storage of encrypted images on the IPFS platform, and decryption and data recovery using a pseudo-random permutation function and the key.

Benefits of technology

While improving data concealment, it significantly increases the embedding rate, enables non-directional sending and receiving, and enhances the security and concealment of data transmission.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN116192472B_ABST
    Figure CN116192472B_ABST
Patent Text Reader

Abstract

The present application relates to a kind of data concealment transmission methods based on Ethereum smart contract and IPFS platform, belong to the field of blockchain data transmission.First, off-chain key exchange is carried out, then steganographic encryption is carried out.Afterwards, transaction generation is carried out, this stage can select single transaction method, can also select multiple transaction method.Finally, Ethereum special transaction screening and data extraction.This method realizes the information transmission mode of non-directional sending, non-directional receiving by means of the decentralized platform of blockchain, at the same time, multiple transaction methods do not directly embed transaction, significantly improve the concealment.This method uses hybrid embedding technology, uses LSB steganography to embed hidden information in picture, and stores the encrypted picture in IPFS platform, while ensuring the security and tamper-proof of embedded information, further improves embedding rate.
Need to check novelty before this filing date? Find Prior Art

Description

TECHNICAL FIELD

[0001] The application relates to a data concealment transmission method based on a blockchain network, in particular to a data concealment transmission method based on an Ethereum smart contract and an IPFS platform, and belongs to the technical field of blockchain data transmission. BACKGROUND

[0002] With the popularity of the Internet and the rapid progress of technology, under the background that Internet communication may be subject to comprehensive monitoring, the concealment of data in the communication process should be paid enough attention. Data concealment transmission refers to hiding the data to be transmitted in real communication data, so as to achieve the purpose of concealing the transmission of data in the public network channel. An effective data concealment transmission mechanism needs to hide the communication behavior between the sending party and the receiving party under the monitoring of the monitoring party, which has a strong technical challenge. Therefore, it is of great significance to study a data concealment transmission method with strong concealment and anonymous identity for realizing the transmission of sensitive information such as information in the public channel and protecting personal privacy and even national security.

[0003] Traditional concealment transmission technology has the characteristics of directional sending and directional receiving, but also has the disadvantages of easy exposure of identity information, low data transmission utilization rate and difficult improvement of reliability. For example, the reliable concealment timed communication (RCTC) method based on the HTTP protocol running on the network adopts inter-packet delay transmission to conceal information, and the HTTP protocol confirmation packet is used as the confirmation mark of the concealed information to form a bidirectional concealed channel. At the same time, the method designs a reliable communication protocol to keep the sending party and the receiving party of the concealed information in synchronization, aiming to ensure the reliability of RCTC. However, such a method has low concealment, and there is obvious communication behavior between the sending party and the receiving party. Once the attacker discovers this communication behavior and cracks the key, the content of the concealed information can be easily obtained. Therefore, it is necessary to find a new hidden data transmission mechanism.

[0004] As a new technology with a decentralized architecture, blockchain provides a favorable scenario for the application of data concealment transmission. Blockchain technology has wide application value in many industries and fields such as the Internet, finance and technology, and is considered to be a key technology of emerging Internet. Combining blockchain technology with data concealment transmission technology has good development prospects. The essence of blockchain is a decentralized distributed ledger database. The data in it exists in the form of a linked list, and each data unit is called a block. Blocks are connected through a hash function, and each block contains the hash value of the previous block, its own data and the timestamp of the block. All transactions and blocks on the chain are transparent to each network node, so blockchain is also called a public ledger.

[0005] Compared with traditional information systems, the blockchain system has relatively loose access restrictions and low access mechanisms, which helps to develop covert transmission technology using the blockchain system. More importantly, there is no centralized third-party supervision in the blockchain system, so no one can easily tamper with or delete data, or interrupt ongoing communication, which ensures the stability and reliability of the covert channel using the blockchain system. Currently, some researchers have proposed a blockchain covert communication method for sending pure text covert information. First, the position of the embedded covert information is determined according to the partial order relation. The sender uses the space method to embed the covert information into the pure text content. Then, a covert communication scenario is constructed in the blockchain network, and the sender publishes a transaction containing the pure text content to the blockchain network. Finally, after the transaction is packaged and formed into a block, any node can act as a receiver of the text, but only trusted receivers can extract the secret information through the decryption algorithm of the space algorithm. However, this method has a low embedding rate, and since the transaction field is less controllable, if you want to avoid significantly changing the transaction field to make it too obvious, you can only embed a small amount of covert information. SUMMARY

[0006] The purpose of the present application is to address the problems and deficiencies of existing data covert transmission technology, such as low concealment, low embedding rate, and obvious transaction features containing covert messages, and creatively proposes a data covert transmission method based on Ethereum smart contract and IPFS platform.

[0007] A blockchain transaction is a blockchain data structure used to store data. A blockchain transaction is a data structure used by different nodes in a blockchain network to complete data interaction. Each blockchain transaction contains a sending address field, a receiving address field, a data storage field, and other field information. The sending address and the receiving address are a string of characters that mark the identity of the sender and the receiver. The data storage field is a field specifically designed to store data.

[0008] Ethereum is a distributed virtual machine that can execute smart contracts developed by developers called Bitcoin Extension Protocol. Ethereum smart contract is actually a set of digitally defined commitments that are stored in the blockchain network to prevent them from being easily deleted or tampered with, making them suitable for agreed transactions following certain rules.

[0009] IPFS (Inter Planetary File System, Interplanetary File System) is a very representative P2P distributed file system structure. The operation principle of IPFS is similar to the operation principle of the blockchain. For each stored file, IPFS calculates the hash value of the file, and the hash value directly reflects the content of the file. Based on the characteristics of the hash function, even if the content of the file changes by one bit, the hash value will become completely different. When a file is needed, the user needs to provide the hash value of the file. Its operation is similar to the operation of querying the transaction content through the transaction hash in the blockchain network.

[0010] The purpose of the present application is solved by the following technical solutions.

[0011] A data concealment transmission method based on an Ethereum smart contract and an IPFS platform, comprising the following steps:

[0012] Step 1: Off-chain key exchange.

[0013] At this stage, a series of addresses are pre-negotiated between the sender and the receiver to form an address list addr_list, which is used by the sender to send transactions carrying concealed information to the receiver. In the case of sending with a single address, once the attacker is aware of it, analyzing all transactions sent to the address may cause exposure, and using the address list can effectively avoid this situation.

[0014] At the same time, the sender and the receiver negotiate two keys k1 and k2, which are used for LSB steganography and encryption of the url storing the steganography picture into a hexadecimal string.

[0015] Step 2: Steganography encryption.

[0016] At this stage, first, the sender encrypts the concealed information using a key k1 to obtain the encrypted concealed information.

[0017] Then, the encrypted concealed information is embedded in the least significant bit of each pixel of the picture through LSB steganography, and the concealed data to be transmitted is embedded therein.

[0018] The LSB (Least Significant Bit) represents the least significant bit in a binary number, and the LSB is located at the rightmost side of the binary number. Since the human eye has limited color discrimination ability, it cannot directly see the difference between the modified LSB and the original image data, so the purpose of hiding information is achieved by modifying the least significant bit. LSB is also known as spatial image watermarking technology.

[0019] After that, the picture containing the concealed data is uploaded to the IPFS platform, and the obtained url is encoded into a hexadecimal string.

[0020] Finally, the hexadecimal string is encrypted using another key k2 to obtain a result of a hexadecimal string.

[0021] Step 3: transaction generation.

[0022] In this stage, the Ethereum smart contract is deployed. At this time, a single transaction method or a multiple transaction method can be selected.

[0023] If the single transaction method is selected, the generated hexadecimal string is embedded in the contract parameters to obtain a contract deployment transaction with hidden data. The generated special transaction is sent to the Ethereum network by the sender using one of the addresses in the address list.

[0024] If the multiple transaction method is selected, for each character (0-9 and A-F, a total of 16 characters), a pseudo-random permutation function σ() agreed by the communication parties is used to correspond to an Ethereum smart contract. Whenever a hexadecimal character appears in the string, the sender needs to generate a contract call transaction corresponding to the character and randomly select an address from the address list to send to the chain. Then, the transaction verification, broadcasting, packaging and other processes are completed through the Ethereum network, at which time the transaction is in a public access state for the receiver to read.

[0025] Step 4: Ethereum transaction screening and data extraction.

[0026] In this stage, the receiver monitors the Ethereum network, screens out the transactions sent by the addresses in the address list addr_list agreed by the sender in advance, and analyzes the transactions.

[0027] If the single transaction method is selected, the pre-agreed contract parameters are found, the content of the parameters is extracted, and a hexadecimal string is obtained.

[0028] If the multiple transaction method is selected, the characters corresponding to the contract are recovered according to the contract type and the pseudo-random permutation, and finally a hexadecimal string is spliced.

[0029] Then, the hexadecimal string is decrypted using the key k2 to recover the url. The encrypted picture is obtained through the recovered url.

[0030] Finally, the picture is extracted by the LSB extraction algorithm to extract the encrypted hidden information, and the key k1 is used for decryption to obtain the original hidden data.

[0031] Advantages

[0032] Compared with the prior art, the present application has the following advantages:

[0033] 1. Strong concealment. The method realizes the information transmission mode of non-directional sending and non-directional receiving by means of the decentralized platform of the blockchain, and at the same time, a plurality of transaction methods do not directly embed the transaction, which significantly improves the concealment.

[0034] 2. High embedding rate. The method uses hybrid embedding technology, uses LSB steganography to embed hidden information in pictures, and stores the encrypted pictures in the IPFS platform, which further improves the embedding rate while ensuring the security and tamper resistance of the embedded information. BRIEF DESCRIPTION OF DRAWINGS

[0035] Figure 1 The flowchart of the present application. DETAILED DESCRIPTION

[0036] The technical solutions in the embodiments of the present application will be described clearly and completely in conjunction with the drawings and embodiments. Obviously, the described embodiments are only part of the embodiments of the present application, not all. Based on the embodiments in the present application, all other embodiments obtained by those skilled in the art without creative labor are within the scope of protection of the present application.

[0037] EMBODIMENT

[0038] As shown in the figure, a data concealment transmission method based on Ethereum smart contract and IPFS platform includes the following steps: Figure 1

[0039] Step 1: Off-chain key exchange.

[0040] In the method, the sender and the receiver pre-negotiate a series of addresses to form an address list addr_list, which is used by the sender to send transactions carrying hidden information to the receiver. In the case of sending with a single address, once the attacker is aware, analyzing all transactions sent to the address may cause exposure, and using the address list can effectively avoid this situation.

[0041] At the same time, the sender and the receiver negotiate two keys k1 and k2 for LSB steganography and encryption of the url storing the steganographic picture into a hexadecimal string.

[0042] Step 2: Steganography encryption.

[0043] Specifically, let the hidden information to be transmitted be m, encrypt the hidden information to get the encrypted hidden information c, c = AES. Enc (m, k1), and embed c in the carrier picture through LSB steganography.

[0044] ​Then, upload the picture containing the hidden data to the IPFS platform, and encrypt the obtained url in the next step, first encode it, and then encrypt it through cryptographic means. The encryption algorithm in this part has relatively large flexibility and scalability, which is selected by the user. In this implementation, AES algorithm is specifically adopted, and the obtained result is a hexadecimal string s with 0x at the beginning, s = AES. Enc(url, k2),

[0045] Step 3: transaction generation.

[0046] The sender sends an Ethereum transaction. In this embodiment, a plurality of transaction method is selected, and a transaction generation algorithm is generated by calling the contract, and the encrypted hexadecimal string is mapped to the already deployed contract. For each character, a pseudo-random permutation function σ() is used to map to an Ethereum smart contract.

[0047] In this embodiment, the result obtained by using the pseudo-random permutation σ() is shown in Table 1.

[0048] Table 1: Result of pseudo-random permutation σ()

[0049] Hexadecimal character 0 1 2 3 4 5 6 7 8 9 B C D E F Corresponding contract number 4 11 2 9 15 7 14 5 12 3 1 8 16 6 13

[0050] Whenever a hexadecimal character appears in the string, the sender generates a contract call transaction corresponding to the character. For example, if s is "0x21c31e8ebb1f84e2b38e16adce054aec", then randomly select different addresses from the address list and send the call contract 2, 11, 8, 9, 11, 6, 12, 6, 1, 1, 11, 13, 12, 15, 6, 2, 1, 9, 12, 6, 11, 14, 10, 16, 8, 6, 4, 7, 15, 10, 6, 8 transactions to the Ethereum transaction platform.

[0051] Further, the contract call transaction generation algorithm used in this step is as follows:

[0052] Step 1: initialize the special transaction list T_list containing hidden data;

[0053] Step 2: start loop, i from 0 to n, increase by 1 each time.

[0054] Step 3: determine whether i is less than the length l of s, if the condition is met, continue to execute step 4, otherwise jump to step 6;

[0055] Step 4: input s[i] into the pseudo-random permutation device, calculate the corresponding contract number = σ(s[i]), select the contract C_list[number] from the contract list C_list.

[0056] Step 5: generate an Ethereum transaction calling the contract C_list[number], add it to the transaction list T_list, and then return to step 3.

[0057] Step 6: end the loop and output the transaction list T_list.

[0058] Step 4: Ethereum transaction screening and data extraction.

[0059] The receiver monitors the Ethereum network, screens out transactions T'_list sent from the address list addr_list agreed upon by the sender in advance, and recovers the hexadecimal string from it.

[0060] Further, the hexadecimal string recovery algorithm used in this step is as follows:

[0061] Step 1: sort the transactions in T'_list in chronological order from front to back, and initialize the string s;

[0062] Step 2: start the loop, i from 0 to n, and increase by 1 each time.

[0063] Step 3: determine whether i is less than the number n of transactions in T'_list, if the condition is met, continue to step 4, otherwise jump to step 6;

[0064] Step 4: for T'_list, determine the corresponding number number of the called contract;

[0065] Step 5: calculate the corresponding hexadecimal character s[i] = σ -1 (number), and then return to step 3;

[0066] Step 6: end the loop and output the hexadecimal string s.

[0067] Then, using the key k2, the decryption algorithm of the AES encryption algorithm is used to decrypt the hexadecimal string to recover the url, url = AES. Dec(s, k2). The encrypted picture is obtained through the recovered url.

[0068] Finally, the picture is extracted by the LSB extraction algorithm to extract the encrypted hidden information, and the key k1 is used for decryption to obtain the original hidden data m = AES. Dec(c, k1).

[0069] Table 2 shows the embedding rate and scalability comparison of different methods. For the method not combined with image steganography, if larger capacity of covert data is to be sent, the only feasible way is to increase the number of transactions sent. The method proposed in the present application can use more carrier pictures for larger capacity of covert data, which can avoid increasing the number of transactions sent, thereby saving costs.

[0070] Table 2 shows the embedding rate and scalability comparison of different methods. For the method not combined with image steganography, if larger capacity of covert data is to be sent, the only feasible way is to increase the number of transactions sent. The method proposed in the present application can use more carrier pictures for larger capacity of covert data, which can avoid increasing the number of transactions sent, thereby saving costs.

[0071]

[0072] In order to illustrate the content and implementation method of the present application, the above specific embodiments are given in the specification. However, those skilled in the art should understand that the present application is not limited to the above best embodiments, and anyone can derive other various forms of products under the inspiration of the present application, but regardless of any changes in shape or structure, any technical solution with the same or similar technical solutions as the present application falls within the protection scope of the present application.

Claims

1. A data concealment transmission method based on Ethereum smart contract and IPFS platform, characterized in that, The method comprises the following steps: Step 1: out-of-chain key exchange; A series of addresses are pre-negotiated between the sender and the receiver to form an address list addr_list, which is used for the sender to send a transaction carrying hidden information to the receiver; meanwhile, two keys k1 and k2 are negotiated between the sender and the receiver, which are used for LSB steganography and encryption of the url storing the steganographic picture into a hexadecimal string; Step 2: steganographic encryption; First, the sender encrypts the hidden information using a key k1 to obtain encrypted hidden information; Then, the encrypted hidden information is embedded into the least significant bit of each pixel of the picture through LSB steganography, and the hidden data to be transmitted is embedded therein; After that, the picture containing the hidden data is uploaded to the IPFS platform, and the obtained url is encoded into a hexadecimal string; Finally, the hexadecimal string is encrypted using the negotiated encryption algorithm and another key k2, and the result is a hexadecimal string; Let the hidden information to be transmitted be m, and the AES algorithm is used to encrypt the hidden information to obtain the encrypted hidden information c, c = AES.Enc(m, k1), which is embedded in the carrier picture through LSB steganography; Then, the picture containing the hidden data is uploaded to the IPFS platform, and the obtained url is encrypted by first encoding and then encrypting it through cryptographic means; the encryption algorithm is selected by the user; After that, the key k2 is used for encryption, and the result is a hexadecimal string starting with 0x, s = AES.Enc(url, k2); Step 3: transaction generation; In this stage, an Ethereum smart contract is deployed; When the single transaction method is selected, the generated hexadecimal string is embedded in the contract parameters to obtain a contract deployment transaction with hidden data, and the special transaction is sent to the Ethereum network by the sender using an address from the address list; When the multiple transaction method is selected, a pseudo-random permutation function σ() is used to map each character to an Ethereum smart contract, which is negotiated by the communication parties in advance; when a certain hexadecimal character appears in the string, the sender generates a contract call transaction corresponding to the character and randomly selects an address from the address list to send it to the chain; After that, the operations including transaction verification, broadcasting and packaging are completed through the Ethereum network, and at this time, the transaction is in a public access state, which is read by the receiver; The contract call transaction generation algorithm is as follows: First step: initialize the special transaction list T_list containing hidden data; Second step: start the loop, i from 0 to n, increase by 1 each time; Third step: determine whether i is less than the length l of s, if the condition is met, continue to execute the fourth step, otherwise jump to the sixth step; Fourth step: input s[i] into the pseudo-random permutation device, calculate the corresponding contract number number = σ(s[i]), select the contract C_list[number] from the contract list C_list; Step 5: Generate a Ethereum transaction that calls contract C_list[number], add it to transaction list T_list, and return to step 3; Step 6: End the loop and output transaction list T_list; Step 4: Steganographic data extraction; The receiver monitors the Ethereum network, filters out transactions from the address list addr_list agreed upon by the sender in advance, and analyzes the transactions; When selecting a single transaction method, find the pre-agreed contract parameters, extract the content of the parameters, and obtain a hexadecimal string; When selecting multiple transactions, restore the corresponding characters of the contract according to the contract type and pseudo-random permutation, and finally splice a hexadecimal string; Then, use the key k2 to decrypt the hexadecimal string to restore the url; obtain the encrypted picture through the restored url; Finally, extract the encrypted hidden information from the picture through the LSB extraction algorithm, and use the key k1 to decrypt to obtain the original hidden data; Wherein, the receiver monitors the Ethereum network, filters out transactions T’_list from the address list addr_list agreed upon by the sender in advance, and restores the hexadecimal string from it; Use the hexadecimal string recovery algorithm, as follows: Step 1: Sort the transactions in T’_list in chronological order from front to back, and initialize the string s; Step 2: Start the loop, i from 0 to n, increment by 1 each time; Step 3: Determine whether i is less than the number n of transactions in T’_list, if the condition is met, continue to execute step 4, otherwise jump to step 6; Step 4: For T’_list, determine the corresponding number number of the called contract; Fifth step: compute the corresponding hexadecimal character s[i] = σ -1 (number), then return to the third step; Step 6: End the loop and output the hexadecimal string s.

Citation Information

Patent Citations

  • Data hidden transmission method based on block chain multi-transaction splitting

    CN114389846A

  • Data hidden transmission method based on multi-block chain platform

    CN114726509A