A lightweight data concealment transmission method based on a blockchain
By constructing indistinguishable special transactions in the blockchain network and using lightweight node screening, the problems of poor concealment and full node maintenance in existing technologies are solved, and anonymous and efficient data covert transmission is achieved.
Patent Information
- Application Number
- CN202310167545.0
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2023-02-27
- Publication Date
- 2025-11-18
- Estimated Expiration
- 2043-02-27
AI Technical Summary
Existing data covert transmission schemes suffer from poor concealment and the need to maintain full nodes, leading to the leakage of identities of both communicating parties and resource limitations.
A lightweight data covert transmission method based on blockchain is adopted. By negotiating parameters and blockchain API, the sender constructs an indistinguishable special transaction and broadcasts it to the blockchain network. The receiver only needs to maintain a lightweight node to filter the special transaction and extract the covert information.
It enables anonymous transmission of confidential information on a blockchain platform, eliminating the need for the recipient to maintain a full node, thus improving confidentiality and transmission efficiency, and is applicable to various blockchain networks.
Smart Images

Figure CN116389051B_ABST
Abstract
Description
Technical Field
[0001] This invention relates to a method for covert data transmission, specifically a lightweight data covert transmission method based on blockchain, belonging to the field of computer network security and data transmission technology. Technical Background
[0002] With the rapid development of network communication technology, more and more people and businesses are using the internet to communicate, making information transmission faster and more convenient. During online communication, information containing personal information and even trade secrets is transmitted over network channels, raising security and privacy concerns. Especially in scenarios involving confidential communications, both the transmitted content and the communication itself should be protected.
[0003] To conceal communications on the internet, researchers have proposed data covert transmission technology, building upon traditional steganography. This technology aims to hide the communication activities of both parties and has significant applications in intelligence gathering and sensitive data transmission. Data covert transmission technology successfully protects the covert transmission of data between two parties over public channels, preventing adversaries eavesdropping on the public channel from detecting the covert data transmission activity.
[0004] Currently, the following methods can be used to achieve covert data transmission.
[0005] Option 1: Utilizing traditional steganography techniques for covert data transmission. In typical covert communication scenarios, the sender transmits covert information to the receiver through a covert channel, where neither the transmitted information nor the communication behavior can be revealed to others. Researchers have proposed several covert channels based on network protocols and applications. For example, the time-based covert channel scheme on VoLTE, which reorders voice and video data packets and covertly transmits information to the receiver via the VoLTE network. The receiver receives the reordered data packets and then decodes them back to plaintext.
[0006] Option 2: Use address-based dynamic tags for covert data transmission within the blockchain network. The sender and receiver pre-agree on a block height. The sender obtains the hash of a block at a random height between this block height and the latest block height, and converts the hash value into a special blockchain transaction receiving address. The sender sends the special transaction containing the covert information to this specially constructed address. The receiver scans the blockchain network for hash values of newly added transactions, starting from the pre-agreement block height, searching for the address converted from the hash value within the blockchain transactions until it finds the transaction carrying the covert information.
[0007] However, the above two solutions still have the following technical drawbacks:
[0008] 1. Low concealment. Solution 1 is a traditional covert data transmission scheme. In this scheme, the sender directly uses the receiver's IP address to connect with the receiver, which poses a risk of identity leakage due to IP address tracing. Furthermore, during covert data transmission, both the sender and receiver need to remain online throughout the entire process. This limitation of constant online presence increases the risk of exposing both parties' identities and the covert data transmission itself.
[0009] 2. Requires maintaining a full node. Solution 2 uses a dynamic tagging method based on addresses. The special address constructed by the sender is generated based on the hash of a block with a random height. Therefore, the tags used to filter transactions are not fixed, resulting in high concealment. However, this solution requires the receiver to maintain a full blockchain node to traverse all transactions in newly generated blocks. Due to resource constraints, the receiver may be unable to filter special transactions. Summary of the Invention
[0010] The purpose of this invention is to address the shortcomings of existing data covert transmission mechanisms, such as poor covertness and the need to maintain full nodes. It creatively proposes a lightweight data covert transmission method based on blockchain, which enables the transmission of covert information on the blockchain platform. Moreover, the receiving party only needs to maintain a lightweight blockchain node to filter and extract the covert information.
[0011] The objective of this invention is achieved through the following technical solution.
[0012] First, the technical terms involved in this invention will be explained.
[0013] Blockchain transaction: refers to a transaction used to store data on the blockchain. A blockchain transaction is a data structure used by different nodes in a blockchain network to complete data exchange. Each blockchain transaction contains an input address field, an output address field, a data storage field, and other fields.
[0014] Sender: Refers to the client used to send data. The sender is responsible for encrypting and segmenting the original data, constructing special transactions that embed hidden information in the segments, and broadcasting the transactions carrying the encrypted data to the blockchain network.
[0015] Receiver: Refers to the client used to receive data. The receiver is responsible for filtering transactions carrying encrypted segments from the blockchain network, extracting the ciphertext data from the transactions, reconstructing the segments, and finally decrypting to obtain the original text.
[0016] Normal transaction: refers to a blockchain transaction that stores data normally.
[0017] Special transactions: These are blockchain transactions that embed hidden information. The recipient will use a pre-agreed screening method to identify special transactions and recover the hidden information embedded within them.
[0018] Transaction filtering: Using extraction algorithms to extract transactions carrying encrypted data from the blockchain network.
[0019] Lightweight nodes: Lightweight nodes in a blockchain do not download the entire blockchain; they typically only download the block headers to verify the authenticity of transactions. Because lightweight nodes require only a small portion of the full node information, they can synchronize with the blockchain faster and are easier to maintain and operate. In this invention, the recipient is considered a lightweight node in the blockchain.
[0020] A lightweight, blockchain-based method for covert data transmission includes the following steps:
[0021] Step 1: Parameter negotiation.
[0022] To achieve covert transmission of information, the sender and receiver negotiate relevant parameters beforehand, including related keys and transmission mechanisms, so that the receiver can obtain special transactions.
[0023] Step 2: Special transaction construction.
[0024] First, the sender uses the key parameters pre-negotiated with the receiver during the parameter negotiation phase to encrypt the hidden information. Specifically, the hidden information can be divided into n substrings: [substring1, substring2, ..., substring...]. n Then, the substring is embedded.
[0025] Then, the sender uses the pre-shared key and the sub-bit string to be sent to generate a new key using a covert information embedding algorithm, and continues to generate a new key by combining the new key with the next sub-bit string. This operation is repeated to construct a series of new keys, embedding the sub-bit string to be sent into each newly generated key.
[0026] Next, the sender converts the input key into an address using the blockchain API (Application Programming Interface), which then converts the new key into n blockchain addresses: [addr1, addr2, ..., addr...]. n ].
[0027] Finally, using this blockchain address as the sending address for the special blockchain transactions, n special transactions are created using the API for creating blockchain transactions: [tx1, tx2, ..., tx nFurthermore, special transactions must be indistinguishable from ordinary transactions.
[0028] Step 3: On-chain data transmission.
[0029] During the special transaction construction phase, the sender embeds hidden information in the constructed special transaction, which is then stored on the blockchain.
[0030] During on-chain data transmission, the sender interacts with the blockchain by calling the blockchain API to send special transactions to the blockchain system. Transaction verification and broadcasting are handled by the blockchain platform. Special transactions are flooded throughout the entire blockchain network, which is the default propagation method for the blockchain.
[0031] As long as the sender ensures that the special transaction is indistinguishable from the ordinary transaction during the special transaction construction phase, no one other than the receiver holding the key will be able to distinguish between the special transaction and the ordinary transaction during this phase.
[0032] Step 4: Extracting Hidden Information.
[0033] Once the on-chain data transmission is complete, that is, once the special transaction has been successfully recorded on the chain, the recipient, based on the pre-negotiated scheme and parameters, calls the blockchain API that converts the input key into an address, using the key in the pre-shared key set as parameters to generate a series of possible addresses corresponding to the special transaction.
[0034] Since the sending address of the special transaction constructed by the sender is generated corresponding to the new key, the sender's calculated address must contain the sending address of the transaction constructed by the sender. Therefore, the receiver calls the blockchain API, which filters transactions within a blockchain range by address, to search for transactions in the blockchain whose sending address matches the calculated address. When the list of transactions returned by the API is not empty, the receiver filters out the special transaction based on the corresponding sending address, finds the corresponding key, extracts the hidden information contained in the special transaction, and finally reconstructs the hidden information transmitted by the sender.
[0035] Beneficial effects
[0036] Compared with the prior art, the present invention has the following advantages:
[0037] 1. Strong anonymity. This invention uses a blockchain platform to implement covert information transmission. Due to the broadcast mechanism of blockchain, the sender does not need to establish a direct connection with the receiver, thus avoiding the exposure of the addresses of both parties and achieving anonymity to a certain extent.
[0038] 2. The receiver does not need to maintain a full node. This invention utilizes a pre-negotiated scheme and parameters with the sender to construct multiple blockchain transactions using a blockchain API to transmit covert information. When filtering special transactions, the address is calculated for filtering. It does not require maintaining a full node to filter every transaction on the blockchain, thus achieving lightweight covert data transmission based on blockchain.
[0039] 3. This method can be used on various blockchain networks, including but not limited to Ethereum, Hyperledger Fabric, etc. Attached Figure Description
[0040] Figure 1 This is a flowchart illustrating the method of the present invention. Specific implementation methods
[0041] The technical solution of the present invention will be clearly and completely described below with reference to the accompanying drawings and embodiments. Obviously, the described embodiments are only a part of the embodiments of the present invention, and not all of them. All other embodiments obtained by those skilled in the art based on the embodiments of the present invention without creative effort are within the scope of protection of the present invention.
[0042] Example 1
[0043] like Figure 1 As shown, a lightweight data covert transmission method based on the Ethereum blockchain is proposed.
[0044] In this embodiment, the relevant symbols and their meanings are shown in Table 1:
[0045] Table 1. Symbol Meaning Comparison Table
[0046] symbol explain <![CDATA[sk 0 ]]> A pre-agreed key between the sender and receiver l The number of bits that can be embedded in a special transaction sent by the sender. c Hidden information that needs to be transmitted <![CDATA[c i ]]> The sub-bit string that needs to transmit information K The key set agreed upon in advance by the sender and receiver sk private key || The concatenation operator can join two or more strings together. F Pseudo-random function for generating keys get_transaction_by_addr Filter transactions within a blockchain range by address. privateKeyToAccount A blockchain API that converts the entered private key into an account. getTransactionCount The blockchain API returns the number of transactions sent from the account up to the specified block. signTransaction The blockchain API returns transactions that have been signed by a node's private key but have not yet been committed. sendRawTransaction The blockchain API sends signed and serialized transactions and returns the transaction hash. getTransactionsByAccount Blockchain API, allowing you to retrieve all transactions within a given range from a single account.
[0047] Step 1: Parameter Negotiation. To achieve covert information transmission, the sender and receiver negotiate relevant parameters beforehand, including related keys and transmission mechanisms, so that the receiver can obtain the special transaction.
[0048] In this embodiment, specifically, firstly, the sender and receiver pre-share a private key sk. 0 Furthermore, the sender and each receiver separately negotiate a key k that is known only to the sender and the receiver. m Afterwards, the sender and receiver negotiate 2l keys {K0, K1, K2, ..., K}. 2l -1}, where l represents the number of bits that can be embedded in a special transaction sent by the sender.
[0049] Step 2: Special transaction construction.
[0050] First, the sender uses the key parameters pre-negotiated with the receiver during the parameter negotiation phase to encrypt the hidden information. Specifically, the hidden information can be divided into n substrings: [substring1, substring2, ..., substring...]. n Then, the substring is embedded.
[0051] Then, the sender uses the pre-shared key and the sub-bit string to be sent to generate a new key using a covert information embedding algorithm, and continues to generate a new key by combining the new key with the next sub-bit string. This operation is repeated to construct a series of new keys, embedding the sub-bit string to be sent into each newly generated key.
[0052] Next, the sender converts the input key into an address using the blockchain API (Application Programming Interface), which then converts the new key into n blockchain addresses: [addr1, addr2, ..., addr...]. n ].
[0053] Finally, using this blockchain address as the sending address for the special blockchain transactions, n special transactions are created using the API for creating blockchain transactions: [tx1, tx2, ..., tx n Furthermore, special transactions must be indistinguishable from ordinary transactions.
[0054] This embodiment further proposes a method for embedding hidden information for a single transaction, including the following steps:
[0055] The sender transmits covert information to the receiver. First, the sender uses a pseudo-random function F to generate the private key sk corresponding to the transaction t transactions. t The substring c corresponding to the next hidden message string that needs to be transmitted. t+1 The corresponding pre-shared code K ct+1 and the key k negotiated separately between the sender and receiver m. m Generate a new private key sk t+1 ;
[0056] Then, the sender uses the blockchain API privateKeyToAccount to send the private key sk t+1 Convert to an account and obtain the account address (Addr). t+1 The sender uses the blockchain API signTransaction to send data to the address Addr. t+1 A special transaction signature is generated to produce the signed transaction `signed_tx`. t+1The sender uses the blockchain API sendRawTransaction to send the signed special transaction (signed_tx). t+1 Send to the blockchain to obtain the transaction hash tx t+1 .
[0057] Finally, return the transaction hash tx of the special transaction. t+1 .
[0058] Specifically as follows:
[0059] Input: The private key sk corresponding to t transactions that have been sent. t The sender needs to transmit the hidden information string c to the receiver m. t+1 The pre-shared key set K = {K0, K1, K2, ..., K} 2l -1}, the key k negotiated separately between the sender and receiver m. m
[0060] Output: The transaction hash of the constructed special transaction
[0061] S1:
[0062] S2: Addr t+1 ←privateKeyToAccount(sk t+1 ).address
[0063] S3:signed_tx t+1 ←signTransaction(sk=sk t+1 ,from=Addr t+1 )
[0064] S4:tx t+1 ←sendRawTransaction(signed_tx t+1 )
[0065] S5: return tx t+1
[0066] Step 3: On-chain data transmission.
[0067] During the special transaction construction phase, the sender embeds hidden information in the constructed special transaction, which is then stored on the blockchain.
[0068] During on-chain data transmission, the sender interacts with the blockchain by calling the blockchain API to send special transactions to the blockchain system. Transaction verification and broadcasting are handled by the blockchain platform. Special transactions are flooded throughout the entire blockchain network, which is the default propagation method for the blockchain.
[0069] As long as the sender ensures that the special transaction is indistinguishable from the ordinary transaction during the special transaction construction phase, no one other than the receiver holding the key will be able to distinguish between the special transaction and the ordinary transaction during this phase.
[0070] Step 4: Extracting Hidden Information.
[0071] Once on-chain data transmission is complete, i.e., after the special transaction has been successfully recorded on the chain, the receiver, according to the pre-negotiated scheme and parameters, calls the blockchain API that converts the input key into an address. Using keys from the pre-shared key set as parameters, it generates a series of possible addresses corresponding to the special transaction. The receiver then calls the blockchain API that filters transactions within a blockchain range by address to check if a transaction with the calculated address exists in the blockchain. If the transaction body list returned by the API is not empty, the receiver filters out the special transaction based on the corresponding sending address, finds the corresponding key, extracts the hidden information contained in the special transaction, and finally reconstructs the hidden information transmitted by the sender.
[0072] In this embodiment, specifically, when the number of transactions received by the receiver is t, the m-th receiver uses the pre-negotiated key set K = {K0, K1, K2, ..., K} with the sender. 2l Each key Ki in {-1}, and the key k that it shares separately with the sender. m Distribution and private key sk t Calculate different private keys Then, the blockchain API `privateKeyToAccount` is called to convert these private keys into accounts and obtain the account addresses.
[0073] Then, the recipient uses the address filtering algorithm to call the blockchain API get_transaction_by_addr to check if the sending address exists in Ethereum. For transactions where the API returns a non-empty list of transaction bodies, find the key K used to compute the transaction at that address. i and key K i The encoded corresponding hidden information sub-bit string c t+1 By key K i The calculated private key is the one used by the sender using the private key sk. t With the hidden information sub-bit string c t+1 The generated new private key sk t+1 The receiver repeats this process, continuously calculating and extracting the embedded hidden information and corresponding private keys until all transactions with embedded hidden information are found, and finally the complete hidden information is obtained.
[0074] The algorithm for extracting hidden information from a single transaction is as follows:
[0075] Input: The private key sk corresponding to t transactions received. t The key k negotiated separately between the sender and each receiver m m
[0076] Output: The next private key sk can be calculated. t+1 The pre-shared key K j The corresponding l-bit hidden information substring c t+1
[0077]
[0078] Example 2
[0079] like Figure 1 As shown, a lightweight data covert transmission method based on the Ethereum blockchain is proposed.
[0080] In this embodiment, the relevant symbols and their meanings are shown in Table 2:
[0081] Table 2. Symbol Meaning Comparison Table
[0082]
[0083]
[0084] Step 1: Parameter Negotiation. To achieve covert information transmission, the sender and receiver negotiate relevant parameters beforehand, including related keys and transmission mechanisms, so that the receiver can obtain the special transaction.
[0085] In this embodiment, specifically, firstly, the sender holds a private key sk that only the sender knows. 0 The sender and receiver pre-share a public key pk 0 Furthermore, the sender and each receiver separately negotiate a key km that is known only to the sender and that receiver. Afterwards, the sender holds 2 l A key {K0,K1,K2,...,K} 2l -1}, the sender and receiver negotiate 2 l A key {PK0, PK1, PK2, ..., PK 2l -1}, where l represents the number of bits that can be embedded in a special transaction sent by the sender.
[0086] Step 2: Special transaction construction.
[0087] First, the sender uses the key parameters pre-negotiated with the receiver during the parameter negotiation phase to encrypt the hidden information. Specifically, the hidden information can be divided into n substrings: [substring1, substring2, ..., substring...]. n Then, the substring is embedded.
[0088] Then, the sender uses the pre-shared key and the sub-bit string to be sent to generate a new key using a covert information embedding algorithm, and continues to generate a new key by combining the new key with the next sub-bit string. This operation is repeated to construct a series of new keys, embedding the sub-bit string to be sent into each newly generated key.
[0089] Next, the sender converts the input key into an address using the blockchain API (Application Programming Interface), which then converts the new key into n blockchain addresses: [addr1, addr2, ..., addr...]. n ].
[0090] Finally, using this blockchain address as the sending address for the special blockchain transactions, n special transactions are created using the API for creating blockchain transactions: [tx1, tx2, ..., tx n Furthermore, special transactions must be indistinguishable from ordinary transactions.
[0091] This embodiment further proposes a method for embedding hidden information for a single transaction, including the following steps:
[0092] The sender transmits covert information to the receiver. First, the sender uses elliptic curve addition to convert the private key sk, which corresponds to the value after t transactions have been sent, into a single key. t The substring c corresponding to the next hidden message string to be transmitted t+1 The corresponding pre-shared coding and the key k negotiated separately between the sender and receiver m. m Generate a new private key sk t+1 ;
[0093] Afterwards, the sender will send the private key sk t+1 Performing elliptic curve multiplication with the Ethereum elliptic curve base point G yields the public key pk. t+1 ;
[0094] Then, the sender uses the blockchain API privateKeyToAccount to send the private key sk t+1 Convert to an account and obtain the account address (Addr). t+1The sender uses the blockchain API signTransaction to send data to the address Addr. t+1 A special transaction signature is generated to produce the signed transaction `signed_tx`. t+1 The sender uses the blockchain API sendRawTransaction to send the signed special transaction (signed_tx). t+1 Send to the blockchain to obtain the transaction hash tx t+1 .
[0095] Finally, return the transaction hash tx of the special transaction. t+1 .
[0096] Specifically as follows:
[0097] Input: The private key sk corresponding to t transactions that have been sent. t The sender needs to transmit the hidden information string c to the receiver m. t+1 The set of keys held by the sender The key k negotiated separately between the sender and receiver m m
[0098] Output: The transaction hash of the constructed special transaction
[0099] S1:
[0100] S2: pk t+1 ←sk t+1 *G
[0101] S3: Addr t+1 ←privateKeyToAccount(sk t+1 ).address
[0102] S4:signed_tx t+1 ←signTransaction(sk=sk t+1 ,from=Addr t+1 )
[0103] S5:tx t+1 ←sendRawTransaction(signed_tx t+1 )
[0104] S6: return tx t+1
[0105] Step 3: On-chain data transmission.
[0106] During the special transaction construction phase, the sender embeds hidden information in the constructed special transaction, which is then stored on the blockchain.
[0107] During on-chain data transmission, the sender interacts with the blockchain by calling the blockchain API to send special transactions to the blockchain system. Transaction verification and broadcasting are handled by the blockchain platform. Special transactions are flooded throughout the entire blockchain network, which is the default propagation method for the blockchain.
[0108] As long as the sender ensures that the special transaction is indistinguishable from the ordinary transaction during the special transaction construction phase, no one other than the receiver holding the key will be able to distinguish between the special transaction and the ordinary transaction during this phase.
[0109] Step 4: Extracting Hidden Information.
[0110] Once on-chain data transmission is complete, i.e., after the special transaction has been successfully recorded on the chain, the receiver, according to the pre-negotiated scheme and parameters, calls the blockchain API that converts the input key into an address. Using keys from the pre-shared key set as parameters, it generates a series of possible addresses corresponding to the special transaction. The receiver then calls the blockchain API that filters transactions within a blockchain range by address to check if a transaction with the calculated address exists in the blockchain. If the transaction body list returned by the API is not empty, the receiver filters out the special transaction based on the corresponding sending address, finds the corresponding key, extracts the hidden information contained in the special transaction, and finally reconstructs the hidden information transmitted by the sender.
[0111] In this embodiment, specifically, when the number of transactions received by the receiver is t, the m-th receiver targets the key set pre-negotiated with the sender. Each key PK in i and the key k that is shared separately between the sender and the sender. m Distribution and public key pk t Calculate different public keys Then, the blockchain API computeAddress is called to convert these public keys into addresses.
[0112] Then, the recipient uses the address filtering algorithm to call the blockchain API get_transaction_by_addr to check if the sending address exists in Ethereum. For transactions where the API returns a non-empty list of transaction bodies, find the key PK used to compute the transaction at that address. i and key PK i The encoded corresponding hidden information sub-bit string c t+1 . By key PKi The calculated public key corresponds to the private key sk used by the sender. t With the hidden information sub-bit string c t+1 The generated new private key sk t +1 Calculated public key pk t+1 The receiver repeats this process, continuously calculating and extracting the embedded hidden information and corresponding public keys until all transactions with embedded hidden information are found, and finally the complete hidden information is obtained.
[0113] The algorithm for extracting hidden information from a single transaction is as follows:
[0114] Input: The public key pk corresponding to t transactions received. t The set of keys held by the recipient The key k negotiated separately between the sender and each receiver m m
[0115] Output: Able to calculate the next public key pk t+1 PK key j The corresponding l-bit hidden information substring c t+1
[0116]
[0117]
[0118] To illustrate the content and implementation methods of this invention, the above specific embodiments are provided in this specification. However, those skilled in the art should understand that this invention is not limited to the above-described preferred embodiments, and anyone can derive other various forms of products under the guidance of this invention. Regardless of any changes made in their shape or structure, any technical solution that is the same as or similar to this application falls within the protection scope of this invention.
Claims
1. A lightweight, blockchain-based method for covert data transmission, characterized in that, Includes the following steps: Step 1: Parameter negotiation; The sender and receiver negotiate relevant parameters in advance, including relevant keys and transmission mechanisms; Step 2: Special Transaction Construction; First, the sender uses the key parameters that were pre-negotiated with the receiver during the parameter negotiation phase to encrypt the hidden information; Then, the sender generates a new key using a covert information embedding algorithm based on the pre-shared key and the sub-bit string to be sent, and continues to generate a new key by combining the new key with the next sub-bit string; this operation is repeated to construct a series of new keys, and the sub-bit string to be sent is embedded in each of the newly generated keys; Next, the sender converts the input key into an address using the blockchain API, and then converts the new key into n blockchain addresses; Finally, using this blockchain address as the sending address for the special blockchain transaction, n special transactions are created using the API for creating blockchain transactions, and the special transactions must be indistinguishable from ordinary transactions; Step 3: On-chain data transmission; During on-chain data transmission, the sender interacts with the blockchain by calling the blockchain API, sending special transactions to the blockchain system. Transaction verification and broadcasting are handled by the blockchain platform. Special transactions are propagated throughout the blockchain network via flooding, which is the default propagation method for the blockchain. Step 4: Extraction of hidden information; Once a special transaction has been successfully recorded on the blockchain, the recipient, based on the pre-negotiated scheme and parameters, calls the blockchain API that converts the input key into an address, using the key in the pre-shared key set as parameters to generate a series of possible addresses corresponding to the special transaction. The receiver calls the blockchain API, which filters transactions within a blockchain range by address, to search for transactions in the blockchain whose sending address is the calculated address. When the list of transaction bodies returned by the API is not empty, the receiver filters out special transactions based on the corresponding sending address, finds the corresponding key, extracts the hidden information contained in the special transactions, and finally restores the hidden information transmitted by the sender.
2. The lightweight, data-stealth transmission method based on blockchain as described in claim 1, characterized in that, In step 1, the sender and receiver first pre-share a private key sk. 0 Furthermore, the sender and each receiver separately negotiate a key k that is known only to the sender and the receiver. m ; Afterwards, the sender and receiver negotiated 2 l Key l represents the number of bits that can be embedded in a special transaction sent by the sender.
3. The lightweight, data-concealing transmission method based on blockchain as described in claim 1, characterized in that, In step 1, the sender holds a private key sk that only the sender knows. 0 The sender and receiver pre-share a public key pk 0 Furthermore, the sender and each receiver separately negotiate a key k that is known only to the sender and the respective receiver. m ; Afterwards, the sender holds 2 l Key The sender and receiver negotiate 2 l Key l represents the number of bits that can be embedded in a special transaction sent by the sender.
4. The lightweight, data-stealth transmission method based on blockchain as described in claim 1, characterized in that, Step 2, embedding hidden information for a single transaction, includes the following steps: The sender sends covert information to the receiver. First, the sender uses a pseudo-random function F to generate the private key sk corresponding to the transaction t transactions. t The substring c corresponding to the next hidden message string that needs to be transmitted. t+1 The corresponding pre-shared coding and the key k negotiated separately between the sender and receiver m. m Generate a new private key sk t+1 ; Then, the sender uses the blockchain API privateKeyToAccount to send the private key sk t+1 Convert to an account and obtain the account address (Addr). t+1 ; The sender uses the blockchain API signTransaction to send to the address Addr. t+1 A special transaction signature is used to generate the signed transaction `signed_tx`. t+1 The sender uses the blockchain API sendRawTransaction to send the signed special transaction (signed_tx). t+1 Send to the blockchain to obtain the transaction hash tx t+1 ; Finally, return the transaction hash tx of the special transaction. t+1 .
5. A lightweight, data-stealth transmission method based on blockchain as described in claim 1, characterized in that, Step 2, embedding hidden information for a single transaction, includes the following steps: The sender transmits covert information to the receiver; first, the sender uses elliptic curve addition to convert the private key sk corresponding to the value after t transactions have been sent. t The substring c corresponding to the next hidden message string to be transmitted t+1 The corresponding pre-shared coding and the key k negotiated separately between the sender and receiver m. m Generate a new private key sk t+1 ; Afterwards, the sender will send the private key sk t+1 Performing elliptic curve multiplication with the Ethereum elliptic curve base point G yields the public key pk. t +1 ; Then, the sender uses the blockchain API privateKeyToAccount to send the private key sk t+1 Convert to an account and obtain the account address (Addr). t+1 The sender uses the blockchain API signTransaction to send data to the address Addr. t+1 A special transaction signature is used to generate the signed transaction `signed_tx`. t+1 The sender uses the blockchain API sendRawTransaction to send the signed special transaction (signed_tx). t+1 Send to the blockchain to obtain the transaction hash tx t+1 ; Finally, return the transaction hash tx of the special transaction. t+1 .
6. A lightweight, data-stealth transmission method based on blockchain as described in claim 1, characterized in that, In step 2, the hidden information is divided into n substrings: [substring1, substring2, ..., substring...] n Then, the substring is embedded.
7. A lightweight, blockchain-based, covert data transmission method as described in claim 1, characterized in that, Step 4, the extraction of hidden information for a single transaction, includes the following steps: When the number of transactions received by the receiver is t, the m-th receiver uses the pre-negotiated key set with the sender. Each key K in i and the key k that is shared separately between the sender and the sender. m Distribution and private key sk t Calculate different private keys Then, the blockchain API `privateKeyToAccount` is called to convert these private keys into accounts and obtain the account addresses. Then, the recipient uses the address filtering algorithm to call the blockchain API get_transaction_by_addr to check if the sending address exists in Ethereum. For transactions where the API returns a non-empty list of transaction bodies, find the key K used to compute the transaction at that address. i and key K i The encoded corresponding hidden information sub-bit string c t+1 ; by key K i The calculated private key is the one used by the sender using the private key sk. t With the hidden information sub-bit string c t+1 The generated new private key sk t+1 ; The receiver repeats this process, continuously calculating and extracting the embedded hidden information and corresponding private keys until all transactions with embedded hidden information are found, and finally the complete hidden information is obtained.
8. A lightweight, data-stealth transmission method based on blockchain as described in claim 1, characterized in that, Step 4, the extraction of hidden information for a single transaction, includes the following steps: When the number of transactions received by the receiver is t, the m-th receiver uses the pre-negotiated key set PK = {PK0, PK1, PK2, ..., PK} with the sender. 2l Each key PK in {-1} i and the key k that is shared separately between the sender and the sender. m Distribution and public key pk t Calculate different public keys Then, the blockchain API computeAddress is called to convert these public keys into addresses. Then, the recipient uses the address filtering algorithm to call the blockchain API get_transaction_by_addr to check if the sending address exists in Ethereum. For transactions where the API returns a non-empty list of transaction bodies, find the key PK used to compute the transaction at that address. i and key PK i The encoded corresponding hidden information sub-bit string c t+1 ; by key PK i The calculated public key corresponds to the private key sk used by the sender. t With the hidden information sub-bit string c t+1 The generated new private key sk t+1 Calculated public key pk t+1 ; The receiver repeats this process, continuously calculating and extracting the embedded hidden information and the corresponding public key until all transactions with embedded hidden information are found, and finally the complete hidden information is obtained.