CN116389051A - Lightweight data hidden transmission method based on block chain - Google Patents
Lightweight data hidden transmission method based on block chain Download PDFInfo
- Publication number
- CN116389051A CN116389051A CN202310167545.0A CN202310167545A CN116389051A CN 116389051 A CN116389051 A CN 116389051A CN 202310167545 A CN202310167545 A CN 202310167545A CN 116389051 A CN116389051 A CN 116389051A
- Authority
- CN
- China
- Prior art keywords
- sender
- transaction
- key
- blockchain
- receiver
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 230000005540 biological transmission Effects 0.000 title claims abstract description 58
- 238000000034 method Methods 0.000 title claims abstract description 42
- 238000012216 screening Methods 0.000 claims description 14
- 239000000284 extract Substances 0.000 claims description 9
- 238000000605 extraction Methods 0.000 claims description 5
- 238000012795 verification Methods 0.000 claims 1
- 238000010276 construction Methods 0.000 abstract description 10
- 230000000644 propagated effect Effects 0.000 abstract description 4
- 238000004891 communication Methods 0.000 description 12
- 238000005516 engineering process Methods 0.000 description 3
- 230000008901 benefit Effects 0.000 description 2
- 238000013459 approach Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000018109 developmental process Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 239000004744 fabric Substances 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 230000011218 segmentation Effects 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/04—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
- H04L63/0407—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the identity of one or more communicating identities is hidden
- H04L63/0421—Anonymous communication, i.e. the party's identifiers are hidden from the other party or parties, e.g. using an anonymizer
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/04—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
- H04L63/0428—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0816—Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
- H04L9/0838—Key agreement, i.e. key establishment technique in which a shared key is derived by parties as a function of information contributed by, or associated with, each of these
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0861—Generation of secret information including derivation or calculation of cryptographic keys or passwords
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
- H04L9/3247—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving digital signatures
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02A—TECHNOLOGIES FOR ADAPTATION TO CLIMATE CHANGE
- Y02A10/00—TECHNOLOGIES FOR ADAPTATION TO CLIMATE CHANGE at coastal zones; at river basins
- Y02A10/40—Controlling or monitoring, e.g. of flood or hurricane; Forecasting, e.g. risk assessment or mapping
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Hardware Design (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Computer And Data Communications (AREA)
Abstract
The invention relates to a lightweight data hidden transmission method based on a block chain, belonging to the technical field of computer network security and data transmission. Before carrying out data hidden transmission, a sender and a receiver negotiate related parameters in advance, including related keys and a transmission mechanism. And then carrying out special transaction construction, wherein the sender embeds hidden information in the constructed special transaction, and the special transaction is stored on the blockchain. When the on-chain data transmission is carried out, a sender interacts with the blockchain by calling the blockchain API, and sends special transaction to the blockchain system, and the operations of verifying the transaction, broadcasting the transaction and the like are completed by the blockchain platform. Special transactions are propagated from the flood to the entire blockchain network, which is the default propagation way for blockchains. And finally, extracting hidden information. The invention has strong anonymity, the receiver does not need to maintain the full node, and the invention can be applied to various blockchain networks.
Description
Technical Field
The invention relates to a data hidden transmission method, in particular to a lightweight data hidden transmission method based on a block chain, and belongs to the technical field of computer network security and data transmission.
Technical Field
With the rapid development of network communication technology, more and more people and enterprises use the internet to communicate, so that information transmission becomes faster and more convenient. During network communication, information including personal information and even business secrets is transmitted over network channels, thereby creating security and privacy concerns. Particularly in scenarios involving confidential communications, both the transmitted content and the communication behavior itself should be protected.
In order to hide the communication behavior on the internet, researchers put forward a data hiding transmission technology on the basis of traditional steganography, aim to hide the communication behavior of both communication parties, and have important application in scenes such as information transfer, sensitive data transmission and the like. The data hidden transmission technology successfully realizes the protection of the data hidden transmission behavior of both parties in the public channel, and an adversary monitoring the public channel cannot perceive the behavior that a sender and a receiver of the data hidden transmission are carrying out the data hidden transmission.
Currently, the covert transmission of data can be achieved in the following manner.
Scheme 1: the hidden transmission of data is performed using conventional steganography techniques. In a typical covert communication scenario, a sender sends covert information to a receiver over a covert channel, wherein neither the transmitted covert information nor the communication behavior is revealed to others. Some researchers have proposed hidden channels based on network protocols and applications. Such as the time-hidden channel scheme on VoLTE, information is delivered to the receiver hidden through the VoLTE network by reordering the voice and video packets. The receiver receives the reordered data packets and then decodes them back into the plaintext information.
Scheme 2: data covert transmission in a blockchain network using address-based dynamic tags. The sender and the receiver negotiate a block height in advance, and the sender obtains the hash of a block with random height from the block height to the latest block height and converts the hash value into a special block chain transaction receiving address. The sender sends a special transaction embedded with the hidden information to the constructed special address. The receiver starts scanning hash values of new transactions in the blockchain network one by one from the pre-negotiated blockheight, and searches addresses converted by the hash values in the blockchain transactions until the transactions carrying hidden information are found.
However, the two solutions described above still have the following technical drawbacks:
1. the concealment is low. Scheme 1 is a traditional data hidden transmission scheme, in which a sender directly connects with a receiver by using the IP address of the receiver, and there is a problem that the IP address is traced back to cause identity leakage. In addition, in the process of data hidden transmission, the sender and the receiver need to be kept online in the whole process, and the limitation that the sender and the receiver need to be kept online all the time in the transmission process also increases the risk of exposing the identity of the two parties and the data hidden transmission behavior.
2. The full node needs to be maintained. The scheme 2 uses a dynamic label method based on the address, the special address constructed by the sender is generated according to the hash of the random height block, so that the label of the screening transaction is not fixed, and the scheme has higher concealment. However, this approach requires the recipient to maintain the blockchain full node to traverse all transactions in the new generation block, which may not enable screening of the special transactions due to resource limitations.
Disclosure of Invention
The invention aims to creatively provide a lightweight data hidden transmission method based on a blockchain aiming at the problems and defects of poor hidden property and need to maintain all nodes of the existing data hidden transmission mechanism, so that hidden information is transmitted on a blockchain platform, and a communication receiver can screen and extract the hidden information only by maintaining the blockchain lightweight nodes.
The object of the invention is solved by the following technical scheme.
First, technical terms related to the present invention will be explained.
Blockchain transactions: refers to blockchain transactions for storing data. A blockchain transaction is a data structure that is employed between different nodes in a blockchain network in order to accomplish data interactions. Each blockchain transaction includes an input address field, an output address field, a data storage field, and other field information.
The sender: refers to a client for transmitting data. The sender is responsible for encrypting and segmenting the original data, constructing a special transaction embedded with segmented hidden information, and broadcasting the transaction carrying the encrypted data to the blockchain network.
The receiving side: refers to a client for receiving data. The receiver is responsible for screening the transaction carrying the encrypted segmented data from the blockchain network, extracting the ciphertext data from the transaction and recovering the segmentation, and finally decrypting to obtain the original text.
Ordinary transaction: refers to blockchain transactions that normally store data.
Special transactions: referring to the blockchain transaction embedded with the hidden information, the receiver screens out the special transaction by a pre-negotiated screening method and recovers the embedded hidden information.
Transaction screening: transactions that carry encrypted data from the blockchain network using an extraction algorithm.
Lightweight node: the blockchain lightweight node does not download the complete blockchain, it typically only downloads blockheads, in order to verify the authenticity of the transaction. Since the lightweight nodes only require a small portion of the full node information, the lightweight nodes can be more quickly synchronized with the blockchain and are easy to maintain and operate. In the present invention, the receiver is considered as a lightweight node in the blockchain.
A lightweight data hidden transmission method based on a block chain comprises the following steps:
step 1: and (5) parameter negotiation.
In order to realize the hidden transmission of information, before carrying out the hidden transmission of data, a sender and a receiver negotiate related parameters in advance, including related keys and a transmission mechanism, so that the receiver can acquire special transactions.
Step 2: special transaction construction.
First, the sender encrypts the hidden information using key parameters negotiated in advance with the receiver in the parameter negotiation stage. Specifically, the hidden information may be divided into n sub-bit strings: [ substring ] 1 ,substring 2 ,…,substring n ]Then embedding the sub-bit string substring.
Then, the sender generates a new key through a hidden information embedding algorithm according to the pre-shared key and the sub-bit string to be sent, and continues to generate the new key with the next sub-bit string. This operation is repeatedly performed to construct a series of new keys, embedding the sub-bit strings to be transmitted into each newly generated key.
Thereafter, the sender converts the input key into a blockchain API (Application Programming Interface ) of addresses, converting the new key into n blockchain addresses: [ addr ] 1 ,addr 2 ,…,addr n ]。
Finally, using the blockchain address as a sending address of the special blockchain transaction, creating n special transactions using an API that creates the blockchain transaction: [ tx ] 1 ,tx 2 ,…,tx n ]And a particular transaction must be indistinguishable from a normal transaction.
Step 3: and transmitting data on a chain.
In the special transaction construction phase, the sender embeds hidden information in the constructed special transaction, which is stored on the blockchain.
During on-chain data transmission, a sender interacts with a blockchain by calling a blockchain API to send a special transaction into the blockchain system. The work of verifying transaction, broadcasting transaction and the like is completed by the blockchain platform. Special transactions are propagated from the flood to the entire blockchain network, which is the default propagation way for blockchains.
As long as the sender ensures that the special transaction is indistinguishable from the normal transaction during the special transaction construction phase, the special transaction will not be distinguishable from the normal transaction by others than the recipient holding the key during this phase.
Step 4: and extracting hidden information.
After the on-chain data transmission is completed, namely after the special transaction is successfully uplink, the receiver calls a blockchain API for converting the input key into the address according to the pre-negotiated scheme and parameters, and generates a series of possible addresses corresponding to the special transaction by taking the key in the pre-shared key set as the parameter.
Since the transmission address of the special transaction constructed by the sender is correspondingly generated by the new key, the transmission address of the transaction constructed by the sender must exist in the address calculated by the receiver. Thus, the recipient invokes the blockchain API that filters transactions within blockchain intervals to find out whether there are transactions in the blockchain that send addresses that are calculated addresses. When the transaction body list returned by the API is not empty, the receiver screens out the special transaction according to the corresponding sending address, finds out the corresponding secret key, extracts the hidden information contained in the special transaction, and finally restores the hidden information transmitted by the sender.
Advantageous effects
Compared with the prior art, the invention has the following advantages:
1. the anonymity is strong. The invention uses the block chain platform to implement the hidden information transmission, and because of the broadcasting mechanism of the block chain, the sender does not need to directly establish connection with the receiver, thus the addresses of the two communication parties are not exposed, and the anonymity of the two communication parties is realized to a certain extent.
2. The receiver does not need to maintain full nodes. The invention constructs a plurality of blockchain transactions to transmit hidden information by utilizing a scheme, parameters and the like which are negotiated in advance with a sender and utilizing a blockchain API, and screens through calculating addresses when screening special transactions, so that each transaction of the blockchain is not required to be screened by maintaining all nodes, and the lightweight data hidden transmission based on the blockchain is realized.
3. The method may be used in a variety of blockchain networks including, but not limited to, ethernet, hyperledger Fabric, and the like.
Drawings
FIG. 1 is a schematic flow chart of the method of the present invention.
Detailed description of the preferred embodiments
The technical scheme of the present invention will be clearly and completely described in the following with reference to the accompanying drawings and examples. It will be apparent that the described embodiments are only some, but not all, embodiments of the invention. All other embodiments, which can be made by those skilled in the art based on the embodiments of the invention without making any inventive effort, are intended to be within the scope of the invention.
Example 1
As shown in fig. 1, a lightweight data concealing transmission method based on an ethernet blockchain.
In this embodiment, the relevant symbols and meanings are as shown in table 1:
table 1 symbol meanings table
(symbol) | Interpretation of the drawings |
sk 0 | Pre-negotiated key between sender and receiver |
l | Transmitting on behalf of the sender a number of bits that a particular transaction may embed |
c | Hidden information to be transmitted |
c i | Sub-bit string required to transmit information |
K | Key set negotiated in advance by sender and receiver |
sk | Private key |
|| | Connection operator capable of connecting two or more character strings together |
F | Pseudo-random function for generating keys |
get_transaction_by_addr | Screening transactions within blockchain intervals by address |
privateKeyToAccount | Blockchain API (application program interface) for converting input private key into account |
getTransactionCount | Blockchain API to return the number of transactions sent from an account by a specified block |
signTransaction | Blockchain API, returning transactions that have been signed by the private key of the node but have not yet committed |
sendRawTransaction | Blockchain API, send signed and serialized transactions, return transaction hashes |
getTransactionsByAccount | Blockchain API to obtain all transactions within an interval from one account |
Step 1: and (5) parameter negotiation. In order to realize the hidden transmission of information, before carrying out the hidden transmission of data, a sender and a receiver negotiate related parameters in advance, including related keys and a transmission mechanism, so that the receiver can acquire special transactions.
In this embodiment, specifically, first, the sender and the receiver pre-share a private key sk 0 And the sender and each receiver individually negotiate a key k known only to the sender and the receiver m . After that, the sender and the receiver negotiate 2l keys { K 0 ,K 1 ,K 2 ,...,K 2l - 1 And/represents the number of bits that the sender can embed to send a particular transaction.
Step 2: special transaction construction.
First, the sender encrypts the hidden information using key parameters negotiated in advance with the receiver in the parameter negotiation stage. Specifically, the hidden information may be divided into n sub-bit strings: [ substring ] 1 ,substring 2 ,…,substring n ]Then embedding the sub-bit string substring.
Then, the sender generates a new key through a hidden information embedding algorithm according to the pre-shared key and the sub-bit string to be sent, and continues to generate the new key with the next sub-bit string. This operation is repeatedly performed to construct a series of new keys, embedding the sub-bit strings to be transmitted into each newly generated key.
Thereafter, the sender converts the input key into a blockchain API (Application Programming Interface ) of addresses, converting the new key into n blockchain addresses: [ addr ] 1 ,addr 2 ,…,addr n ]。
Finally, using the blockchain address as a sending address of the special blockchain transaction, creating n special transactions using an API that creates the blockchain transaction: [ tx ] 1 ,tx 2 ,…,tx n ]And special transactions must be exchanged with ordinary onesIs easily indistinguishable.
The embodiment further provides a hidden information embedding method for a single transaction, which comprises the following steps:
the sender sends the hidden information to the receiver. First, the sender uses the pseudo-random function F to send the private key sk corresponding to t exchanges t Sub-string c corresponding to the next hidden information string to be transmitted t+1 Corresponding pre-sharing code K ct+1 Key k negotiated separately between sender and receiver m m Generating a new private key sk t+1 ;
The sender then uses blockchain API privateKeyToAccount to store private key sk t+1 Converting into an account and acquiring an account address Addr t+1 The method comprises the steps of carrying out a first treatment on the surface of the The sender uses the blockchain API signTransaction to address the sender to Addr t+1 Generates a signed transaction signed tx t+1 The method comprises the steps of carrying out a first treatment on the surface of the The sender uses blockchain API sendRawTransaction to sign the signed special transaction signed_tx t+1 Send to the blockchain to obtain transaction hash tx t+1 。
Finally, the transaction hash tx of the special transaction is returned t+1 。
The method comprises the following steps:
input: the corresponding private key sk after t transactions have been sent t Hidden information character string c that sender needs to transmit to receiver m t+1 Pre-shared key set k= { K 0 ,K 1 ,K 2 ,...,K 2l - 1 Separately negotiated key k between sender and receiver m m
And (3) outputting: structured transaction hash for a particular transaction
S2:Addr t+1 ←privateKeyToAccount(sk t+1 ).address
S3:signed_tx t+1 ←signTransaction(sk=sk t+1 ,from=Addr t+1 )
S4:tx t+1 ←sendRawTransaction(signed_tx t+1 )
S5:return tx t+1
Step 3: and transmitting data on a chain.
In the special transaction construction phase, the sender embeds hidden information in the constructed special transaction, which is stored on the blockchain.
During on-chain data transmission, a sender interacts with a blockchain by calling a blockchain API to send a special transaction into the blockchain system. The work of verifying transaction, broadcasting transaction and the like is completed by the blockchain platform. Special transactions are propagated from the flood to the entire blockchain network, which is the default propagation way for blockchains.
As long as the sender ensures that the special transaction is indistinguishable from the normal transaction during the special transaction construction phase, the special transaction will not be distinguishable from the normal transaction by others than the recipient holding the key during this phase.
Step 4: and extracting hidden information.
After the on-chain data transmission is completed, namely after the special transaction is successfully uplink, the receiver calls a blockchain API for converting the input key into the address according to the pre-negotiated scheme and parameters, and generates a series of possible addresses corresponding to the special transaction by taking the key in the pre-shared key set as the parameter. The receiver calls a blockchain API for searching whether the transaction with the sending address being the calculated address exists in the blockchain through the transaction in the address screening blockchain interval. When the transaction body list returned by the API is not empty, the receiver screens out the special transaction according to the corresponding sending address, finds out the corresponding secret key, extracts the hidden information contained in the special transaction, and finally restores the hidden information transmitted by the sender.
In this embodiment, specifically, when the number of transactions that the receiver has received is t, the mth receiver negotiates with the sender for the key set k= { K 0 ,K 1 ,K 2 ,...,K 2l - 1 Each key Ki in }, and secret shared with the sender alone by itselfKey k m Distribution and private key sk t Calculating different private keysThen call blockchain API privateKeyToAccount, convert these private keys into accounts, and obtain account address +.>
Then, the receiver calls the blockchain API get_transaction_by_addr through an address screening transaction algorithm to respectively find whether the transmitting address exists in the Ethernet as the transmitting addressWhen the transaction body list returned by the API is not empty, the key K for calculating the address transaction is found out i And a key K i Corresponding to the code of the hidden information sub-bit string c t+1 . From key K i The calculated private key is the private key sk used by the sender t And hidden information sub-bit string c t+1 The new private key sk generated t+1 . The receiving party repeats the process and continuously calculates and extracts the embedded hidden information and the corresponding private key in sequence until all transactions embedded with the hidden information are found, and finally the complete hidden information is obtained.
The hidden information extraction algorithm for a single transaction is specifically as follows:
input: the corresponding private key sk after t transactions have been received t Key k negotiated separately between sender and each receiver m m
And (3) outputting: the next private key sk can be calculated t+1 Is a pre-shared key K of (1) j Corresponding l-bit hidden information sub-bit string c t+1
Example 2
As shown in fig. 1, a lightweight data concealing transmission method based on an ethernet blockchain.
In this embodiment, the relevant symbols and meanings are as shown in table 2:
table 2 symbol meanings table
Step 1: and (5) parameter negotiation. In order to realize the hidden transmission of information, before carrying out the hidden transmission of data, a sender and a receiver negotiate related parameters in advance, including related keys and a transmission mechanism, so that the receiver can acquire special transactions.
In this embodiment, specifically, first, the sender holds a private key sk that is known only to the sender 0 The sender and the receiver pre-share a public key pk 0 And the sender negotiates with each receiver separately the key km known only to the sender and to the receiver. After that, the sender holds 2 l The key { K } 0 ,K 1 ,K 2 ,...,K 2l - 1 Sender and receiver negotiating 2 l Personal key { PK } 0 ,PK 1 ,PK 2 ,...,PK 2l - 1 And/represents the number of bits that the sender can embed to send a particular transaction.
Step 2: special transaction construction.
First, the sender encrypts the hidden information using key parameters negotiated in advance with the receiver in the parameter negotiation stage. Specifically, the hidden information may be divided into n sub-bit strings: [ substring ] 1 ,substring 2 ,…,substring n ]Then embedding the sub-bit string substring.
Then, the sender generates a new key through a hidden information embedding algorithm according to the pre-shared key and the sub-bit string to be sent, and continues to generate the new key with the next sub-bit string. This operation is repeatedly performed to construct a series of new keys, embedding the sub-bit strings to be transmitted into each newly generated key.
Thereafter, the sender converts the input key into a blockchain API (Application Programming Interface ) of addresses, converting the new key into n blockchain addresses: [ addr ] 1 ,addr 2 ,…,addr n ]。
Finally, using the blockchain address as a sending address of the special blockchain transaction, creating n special transactions using an API that creates the blockchain transaction: [ tx ] 1 ,tx 2 ,…,tx n ]And a particular transaction must be indistinguishable from a normal transaction.
The embodiment further provides a hidden information embedding method for a single transaction, which comprises the following steps:
the sender sends the hidden information to the receiver. Firstly, a sender adds up an elliptic curve to send the private key sk corresponding to t exchanges t Sub-string c corresponding to the next hidden information string to be transmitted t+1 Corresponding pre-shared codesKey k negotiated separately between sender and receiver m m Generating a new private key sk t+1 ;
After that, the sender will private key sk t+1 Carrying out elliptic curve multiplication operation with an Ethernet elliptic curve base point G to obtain a public key pk t+1 ;
The sender then uses blockchain API privateKeyToAccount to store private key sk t+1 Converting into an account and acquiring an account address Addr t+1 The method comprises the steps of carrying out a first treatment on the surface of the The sender uses the blockchain API signTransaction to address the sender to Addr t+1 Generates a signed transaction signed tx t+1 The method comprises the steps of carrying out a first treatment on the surface of the The sender uses blockchain API sendRawTransaction to sign the signed special transaction signed_tx t+1 Send to the blockchain to obtain transaction hash tx t+1 。
Finally, the transaction hash tx of the special transaction is returned t+1 。
The method comprises the following steps:
input: the corresponding private key sk after t transactions have been sent t Hidden information character string c that sender needs to transmit to receiver m t+1 Key set held by senderKey k negotiated separately between sender and receiver m m
And (3) outputting: structured transaction hash for a particular transaction
S2:pk t+1 ←sk t+1 *G
S3:Addr t+1 ←privateKeyToAccount(sk t+1 ).address
S4:signed_tx t+1 ←signTransaction(sk=sk t+1 ,from=Addr t+1 )
S5:tx t+1 ←sendRawTransaction(signed_tx t+1 )
S6:return tx t+1
Step 3: and transmitting data on a chain.
In the special transaction construction phase, the sender embeds hidden information in the constructed special transaction, which is stored on the blockchain.
During on-chain data transmission, a sender interacts with a blockchain by calling a blockchain API to send a special transaction into the blockchain system. The work of verifying transaction, broadcasting transaction and the like is completed by the blockchain platform. Special transactions are propagated from the flood to the entire blockchain network, which is the default propagation way for blockchains.
As long as the sender ensures that the special transaction is indistinguishable from the normal transaction during the special transaction construction phase, the special transaction will not be distinguishable from the normal transaction by others than the recipient holding the key during this phase.
Step 4: and extracting hidden information.
After the on-chain data transmission is completed, namely after the special transaction is successfully uplink, the receiver calls a blockchain API for converting the input key into the address according to the pre-negotiated scheme and parameters, and generates a series of possible addresses corresponding to the special transaction by taking the key in the pre-shared key set as the parameter. The receiver calls a blockchain API for searching whether the transaction with the sending address being the calculated address exists in the blockchain through the transaction in the address screening blockchain interval. When the transaction body list returned by the API is not empty, the receiver screens out the special transaction according to the corresponding sending address, finds out the corresponding secret key, extracts the hidden information contained in the special transaction, and finally restores the hidden information transmitted by the sender.
In this embodiment, in particular, when the number of transactions that the receiver has received is t, the mth receiver refers to the key set pre-negotiated with the senderEach key PK of (1) i And a key k shared by itself with the sender alone m Distribution and public key pk t Calculate different public keys +.>Block chain API computeAddress is then invoked to translate these public keys into addresses +.>
Then, the receiver calls the blockchain API get_transaction_by_addr through an address screening transaction algorithm to respectively find whether the transmitting address exists in the Ethernet as the transmitting addressWhen the transaction body list returned by the API is not empty, finding out the key PK for calculating the address transaction i And key PK i Corresponding to the code of the hidden information sub-bit string c t+1 . From key PK i The calculated public key corresponds to the sender's use private key sk t And hidden information sub-bit string c t+1 The new private key sk generated t +1 The calculated public key pk t+1 . The receiving party repeats the process and calculates and extracts the embedded hidden information and the corresponding public key continuously in sequence until all transactions embedded with the hidden information are found, and finally the complete hidden information is obtained.
The hidden information extraction algorithm for a single transaction is specifically as follows:
input: the corresponding public key pk after t transactions have been received t Key set held by receiverKey k negotiated separately between sender and receiver m m
And (3) outputting: the next public key pk can be calculated t+1 Key PK of (F) j Corresponding l-bit hidden information sub-bit string c t+1
The foregoing description of specific embodiments has been presented for the purpose of illustrating the principles and embodiments of the present invention. However, it should be understood by those skilled in the art that the present invention is not limited to the above-mentioned preferred embodiments, and any person who has the benefit of the present invention may obtain other products in various forms, regardless of any changes in shape or structure, and all technical solutions which are the same as or similar to the present application fall within the scope of the present invention.
Claims (8)
1. The lightweight data hidden transmission method based on the block chain is characterized by comprising the following steps of:
step 1: parameter negotiation;
the sender and the receiver negotiate related parameters in advance, including related keys and a transmission mechanism;
step 2: a special transaction configuration;
firstly, a sender encrypts hidden information by using key parameters which are negotiated in advance with a receiver in a parameter negotiation stage;
then, the sender generates a new key through a hidden information embedding algorithm according to the pre-shared key and the sub-bit string to be sent, and continues to generate the new key with the next sub-bit string; repeatedly executing the operation, constructing a series of new keys, and embedding the sub-bit strings to be transmitted into each newly generated key;
then, the sender converts the input key into a blockchain API of an address, and converts the new key into n blockchain addresses;
finally, using the blockchain address as a sending address of the special blockchain transaction, creating n special transactions by using an API for creating the blockchain transaction, wherein the special transactions are indistinguishable from the common transactions;
step 3: on-chain data transmission;
when the data on the chain is transmitted, a sender interacts with the blockchain by calling the blockchain API, and sends special transaction to the blockchain system, and the verification transaction and the broadcast transaction are completed by the blockchain platform; the special transaction is transmitted to the whole blockchain network by flooding, which is a default transmission mode of the blockchain;
step 4: extracting hidden information;
after the special transaction is successfully uplink, the receiver calls a blockchain API for converting an input key into an address according to a pre-negotiated scheme and parameters, and generates a series of possible addresses corresponding to the special transaction by taking a key in a pre-shared key set as a parameter;
the receiver calls a blockchain API for searching whether the transaction with the sending address being the calculated address exists in the blockchain through address screening of transactions in the blockchain section; when the transaction body list returned by the API is not empty, the receiver screens out the special transaction according to the corresponding sending address, finds out the corresponding secret key, extracts the hidden information contained in the special transaction, and finally restores the hidden information transmitted by the sender.
2. The method for blockchain-based lightweight data hidden transmission of claim 1, wherein in step 1, first, a sender and a receiver pre-share a private key sk 0 And the sender and each receiver individually negotiate a key k known only to the sender and the receiver m ;
3. The blockchain-based lightweight data covert transmission method of claim 1, wherein in step 1, the sender holds a private key sk known only to the sender 0 The sender and the receiver pre-share a public key pk 0 And the sender and each receiver individually negotiate a key k known only to the sender and the receiver m ;
4. The blockchain-based lightweight data covert transmission method of claim 1, wherein in step 2, the covert information for a single transaction is embedded, comprising the steps of:
the sender sends hidden information to the receiver, firstly, the sender uses pseudo-random function F to send the private key sk corresponding to t exchanges t To the next hidden information character string to be transmittedThe corresponding substring c t+1 Corresponding pre-shared codesKey k negotiated separately between sender and receiver m m Generating a new private key sk t+1 ;
The sender then uses blockchain API privateKeyToAccount to store private key sk t+1 Converting into an account and acquiring an account address Addr t+1 ;
The sender uses the blockchain API signTransaction to address the sender to Addr t+1 Generates a signed transaction signed tx t+1 The method comprises the steps of carrying out a first treatment on the surface of the The sender uses blockchain API sendRawTransaction to sign the signed special transaction signed_tx t+1 Send to the blockchain to obtain transaction hash tx t+1 ;
Finally, the transaction hash tx of the special transaction is returned t+1 。
5. The blockchain-based lightweight data covert transmission method of claim 1, wherein in step 2, the covert information for a single transaction is embedded, comprising the steps of:
the sending party sends the hidden information to the receiving party; firstly, a sender adds up an elliptic curve to send the private key sk corresponding to t exchanges t Sub-string c corresponding to the next hidden information string to be transmitted t+1 Corresponding pre-shared codesKey k negotiated separately between sender and receiver m m Generating a new private key sk t+1 ;
After that, the sender will private key sk t+1 Carrying out elliptic curve multiplication operation with an Ethernet elliptic curve base point G to obtain a public key pk t +1 ;
The sender then uses blockchain API privateKeyToAccount to store private key sk t+1 Converting into an account and acquiring an account address Addr t+1 The method comprises the steps of carrying out a first treatment on the surface of the The sender uses the blockchain API signTransaction to address the sender to Addr t+1 Generates a signed transaction signed tx t+1 The method comprises the steps of carrying out a first treatment on the surface of the The sender uses blockchain API sendRawTransaction to sign the signed special transaction signed_tx t+1 Send to the blockchain to obtain transaction hash tx t+1 ;
Finally, the transaction hash tx of the special transaction is returned t+1 。
6. The method for block chain based lightweight data concealment as in claim 1 wherein in step 2, the concealment information is divided into n sub-bit strings: [ substring ] 1 ,substring 2 ,…,substring n ]Then embedding the sub-bit string substring.
7. The blockchain-based lightweight data covert transmission method of claim 1, wherein in step 4, the covert information extraction for a single transaction comprises the steps of:
when the number of received transactions is t, the mth receiver aims at the key set pre-negotiated with the senderEach key K in (1) i And a key k shared by itself with the sender alone m Distribution and private key sk t Calculate different private keys +.>Then call blockchain API privateKeyToAccount, convert these private keys into accounts, and obtain account address +.>
Then, the receiver calls the blockchain API get_transaction through the algorithm of address screening transactionThe method comprises the steps of searching whether a transmitting address is in an Ethernet respectively, wherein the transmitting address isWhen the transaction body list returned by the API is not empty, the key K for calculating the address transaction is found out i And a key K i Corresponding to the code of the hidden information sub-bit string c t+1 The method comprises the steps of carrying out a first treatment on the surface of the From key K i The calculated private key is the private key sk used by the sender t And hidden information sub-bit string c t+1 The new private key sk generated t+1 ;
The receiving party repeats the process and continuously calculates and extracts the embedded hidden information and the corresponding private key in sequence until all transactions embedded with the hidden information are found, and finally the complete hidden information is obtained.
8. The blockchain-based lightweight data covert transmission method of claim 1, wherein in step 4, the covert information extraction for a single transaction comprises the steps of:
when the number of transactions received by the receiver is t, the mth receiver refers to the key set PK= { PK pre-negotiated with the sender 0 ,PK 1 ,PK 2 ,...,PK 2l - 1 Each key PK in } i And a key k shared by itself with the sender alone m Distribution and public key pk t Calculating different public keysBlock chain API computeAddress is then invoked to translate these public keys into addresses +.>
Then, the receiver calls the blockchain API get_transaction_by_addr through an address screening transaction algorithm to respectively find whether the transmitting address exists in the Ethernet as the transmitting addressWhen the transaction body list returned by the API is not empty, finding out the key PK for calculating the address transaction i And key PK i Corresponding to the code of the hidden information sub-bit string c t+1 The method comprises the steps of carrying out a first treatment on the surface of the From key PK i The calculated public key corresponds to the sender's use private key sk t And hidden information sub-bit string c t+1 The new private key sk generated t+1 The calculated public key pk t+1 ;
The receiving party repeats the process and calculates and extracts the embedded hidden information and the corresponding public key continuously in sequence until all transactions embedded with the hidden information are found, and finally the complete hidden information is obtained.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310167545.0A CN116389051A (en) | 2023-02-27 | 2023-02-27 | Lightweight data hidden transmission method based on block chain |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310167545.0A CN116389051A (en) | 2023-02-27 | 2023-02-27 | Lightweight data hidden transmission method based on block chain |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116389051A true CN116389051A (en) | 2023-07-04 |
Family
ID=86979594
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310167545.0A Pending CN116389051A (en) | 2023-02-27 | 2023-02-27 | Lightweight data hidden transmission method based on block chain |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116389051A (en) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116781433A (en) * | 2023-08-25 | 2023-09-19 | 深圳市图麟科技有限公司 | Hidden communication method and system for intelligent equipment |
-
2023
- 2023-02-27 CN CN202310167545.0A patent/CN116389051A/en active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116781433A (en) * | 2023-08-25 | 2023-09-19 | 深圳市图麟科技有限公司 | Hidden communication method and system for intelligent equipment |
CN116781433B (en) * | 2023-08-25 | 2023-10-20 | 深圳市图麟科技有限公司 | Hidden communication method and system for intelligent equipment |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US6766453B1 (en) | Authenticated diffie-hellman key agreement protocol where the communicating parties share a secret key with a third party | |
US8249255B2 (en) | System and method for securing communications between devices | |
CN113438072B (en) | Block chain covert communication method based on derived chain | |
US20080137868A1 (en) | Distributed encryption methods and systems | |
CN112104454B (en) | Data secure transmission method and system | |
CN105376261B (en) | Encryption method and system for instant messaging message | |
CN110880972A (en) | Block chain key management system based on safe multiparty calculation | |
JP2001016196A (en) | Enciphering/deciphering method using multiple affine key, authenticating method and each device using the same | |
Khaldi | Diffie-Hellman key exchange through Steganographied images | |
CN114567427B (en) | Block chain hidden data segmented transmission method | |
CN116389051A (en) | Lightweight data hidden transmission method based on block chain | |
CN114567428B (en) | Block chain data hidden transmission method supporting dynamic tags | |
CN102088352A (en) | Data encryption transmission method and system for message-oriented middleware | |
CN109951378B (en) | File encryption transmission and sharing method in instant messaging | |
CN103004177B (en) | Data transmission security is improved | |
CN112804046B (en) | Carrier-free steganography method and system based on block chain private key mapping | |
JP2007266674A (en) | Method of transferring file | |
Sagheer et al. | Sms security for smartphone | |
JPH0969831A (en) | Cipher communication system | |
Belvin | A secure text messaging protocol | |
CN112637442B (en) | Method and device for encrypting circulating images by cloud server and local end | |
Xu et al. | Self-updating one-time password mutual authentication protocol for ad hoc network | |
US6266411B1 (en) | Method and apparatus for multiple-iteration CMEA encryption and decryption for improved security for wireless telephone messages | |
CA2266665A1 (en) | Methods and apparatus for enhanced cmea employing enhanced transformations | |
JP2003263107A (en) | Encryption method for message in call to be processed by communication device |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |