CN114745101A - Hidden information transmission method and device based on multiple block chains - Google Patents
Hidden information transmission method and device based on multiple block chains Download PDFInfo
- Publication number
- CN114745101A CN114745101A CN202210157113.7A CN202210157113A CN114745101A CN 114745101 A CN114745101 A CN 114745101A CN 202210157113 A CN202210157113 A CN 202210157113A CN 114745101 A CN114745101 A CN 114745101A
- Authority
- CN
- China
- Prior art keywords
- slice
- transmitted
- message
- transmission
- block chain
- 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 95
- 238000000034 method Methods 0.000 title claims abstract description 53
- 238000004891 communication Methods 0.000 claims description 19
- 230000008569 process Effects 0.000 claims description 19
- 230000007246 mechanism Effects 0.000 claims description 13
- 238000011084 recovery Methods 0.000 claims description 12
- 238000012163 sequencing technique Methods 0.000 claims description 9
- 230000011218 segmentation Effects 0.000 claims description 3
- 238000010586 diagram Methods 0.000 description 6
- 238000005516 engineering process Methods 0.000 description 5
- 238000012216 screening Methods 0.000 description 4
- RTZKZFJDLAIYFH-UHFFFAOYSA-N Diethyl ether Chemical compound CCOCC RTZKZFJDLAIYFH-UHFFFAOYSA-N 0.000 description 2
- 239000000463 material Substances 0.000 description 2
- 238000012545 processing Methods 0.000 description 2
- 230000002776 aggregation Effects 0.000 description 1
- 238000004220 aggregation Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000004422 calculation algorithm Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 239000012634 fragment Substances 0.000 description 1
- 238000013467 fragmentation Methods 0.000 description 1
- 238000006062 fragmentation reaction Methods 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 239000004576 sand Substances 0.000 description 1
- 238000007619 statistical method Methods 0.000 description 1
Images
Classifications
-
- 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
- H04L9/0847—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 involving identity based encryption [IBE] schemes
-
- 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
- H04L9/0869—Generation of secret information including derivation or calculation of cryptographic keys or passwords involving random numbers or seeds
-
- 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/088—Usage controlling of secret information, e.g. techniques for restricting cryptographic keys to pre-authorized uses, different access levels, validity of crypto-period, different key- or password length, or different strong and weak cryptographic algorithms
-
- 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/14—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using a plurality of keys or algorithms
-
- 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/30—Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computing Systems (AREA)
- Theoretical Computer Science (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
The application discloses a hidden information transmission method and device based on a plurality of block chains, wherein the method comprises the following steps: segmenting at least one block chain to obtain a plurality of slices, and filling the message to be transmitted to the plurality of slices according to a preset filling rule to generate a transmission slice to be transmitted; embedding a transmission slice to be transmitted into a preset field of at least one block chain, serializing preset field information according to a block chain transaction coding rule, and broadcasting the serialized preset field information; and restoring the preset field information according to the sequence of the transmission slices to be transmitted to obtain the message to be transmitted. Therefore, the information transmission efficiency is improved, meanwhile, the security of hidden information transmission is improved, and the risk that information leakage is increased when the information is only embedded into one block chain is avoided. Therefore, the problems of low efficiency, low safety and the like of single block chain hidden transmission during information transmission are solved.
Description
Technical Field
The present invention relates to the field of information security technologies, and in particular, to a hidden information transmission method and apparatus based on multiple block chains.
Background
At present, in order to meet the requirements of efficient, safe, concealed and stable information transmission and enable the transmission behavior of concealed data to be more natural, a mainstream block chain with a large number of users and a large transaction amount is generally selected for research, such as a bitcoin, an ether house and the like. There are many fields in these blockchain data structures to store data so that a hidden channel can be constructed from these fields. There are two main ways to do this: the first is to store the covert information directly or indirectly through a digital signature process, and the second is to store it directly using other fields in the transaction.
The method for carrying out concealed transmission through the digital signature of the block chain transaction generally includes the steps that concealed messages are embedded into random numbers used in a signature process, and a receiver can acquire the signature random numbers in two modes, wherein the first mode is a mode that information is directly agreed to be embedded into the random numbers, for example, the last byte of the random numbers is concealed information; the second way is that a receiver calculates a random number according to the signature content and the private key by revealing the private key during signature, so as to extract the hidden information. The related art proposes to reveal the private key by reusing the random number k in the signing process to receive the concealed message. Reusing the random number k makes the first part r of the signature equal, which makes this technique easy to find by adversaries. In addition to the covert channel being detectable, the adversary can also calculate the private key d thereby impersonating the owner of the corresponding bitcoin address.
In order to avoid the problems that the secret key leaks from a fake bit currency holder and is monitored by an adversary to a hidden channel due to the reuse of the random number, the method for avoiding the secret key from leaking to the adversary, which is provided by the related technology, is to agree a random number k on a message transceiver in advanceleakAnd the receiving party is informed in advance of the transmission address a of the transactions. The sender then divides the hidden information into a plurality of portions, each of which is embeddedTo different random numbers kmsgIn combination of these kmsgCompleting signature, after the transaction of embedded information is finished, finally using k by the senderleakA transaction is signed. The receiver continuously calculates d-r-1·(s·kleak-z) mod n deriving a private key and deriving therefrom a bitcoin address, the derived address and AsAnd comparing, if the two are equal, the calculated private key is the private key of the signature of the sender. For the previous one from AsThe receiving party calculates k ═ s using the obtained private key-1(z + r. d) mod n obtains all kmsgThereby obtaining the hidden information. The related technology proposes that two parties of the message sending and receiving negotiate a symmetric key k in advance through an ECDH algorithmchatThe sender sends two transactions, for the first one, with kchatThe ciphertext after the hidden information is encrypted is used as a random number in the signature process; the signature process of the second transaction uses kchatAs a random number. The receiver recovers the private key of the sender through the second transaction, thereby recovering the ciphertext according to the first transaction.
Further, there is also a related art proposal of the block scheme that 1bit of information is hidden at a time by an output address field and both sides need to be informed in advance of an identifier for identifying encryption information and an encryption key. The embedding rate is too low and also requires that only one such piece of covert information can be transmitted for each block, resulting in poor communication efficiency. The related art proposes an improved method for the block scheme, so that the number of bits embedded each time is increased, but the embedding rate is always low on the whole, and the requirement of communication cannot be met. The related art uses the script field OP _ RETURN in the bitcoin as a concealment channel and indicates that the field can conceal 80 bits of information. However, the distribution of OP _ RETURN is not considered in the related art, so that the hidden channel is likely to be detected by statistical analysis.
The above hidden transmission methods based on block chains all have a common disadvantage that only one block chain (mostly bit coins) can be used as a carrier for transmission, and the block-out time of the bit coins is about ten minutes, so that the time for a receiver to recover information is long, and the real-time performance of the message is very poor. The time for the appearance of the Ether Fang and the Laite currency is 12 seconds and 2.5 minutes respectively, and the time is greatly reduced compared with the time for the Leite currency. If the security of the block chain concealed transmission method is not enough, once an attacker acquires the association between the address and the transaction through technologies such as aggregation analysis and the like, the attacker can intercept the transaction sent from the address on the block chain, and finally the concealed transmission message can be leaked. And the above technology does not discuss a fragmentation scheme when a long message is sent and a recovery scheme when the message is received, and when a message is long, the hidden information cannot be transmitted through a blockchain transaction. In addition, sending the hidden information through a block chain has higher risk of information leakage, and once the sending address is exposed, the information sent by each address is intercepted. Therefore, the current block chain-based covert transmission method has the defects of low transmission efficiency, low safety and the like.
Disclosure of Invention
The application provides a hidden information transmission method and device based on a plurality of block chains, and aims to solve the problems that single block chain hidden transmission is low in efficiency and low in safety during information transmission.
The embodiment of the first aspect of the present application provides a hidden information transmission method based on multiple block chains, including the following steps: segmenting at least one block chain to obtain a plurality of slices, and filling a message to be transmitted to the plurality of slices according to a preset filling rule to generate a transmission slice to be transmitted; embedding the transmission slice to be transmitted into a preset field of the at least one block chain, serializing the preset field information according to a block chain transaction coding rule, and broadcasting the serialized preset field information; and restoring the preset field information according to the sequence of the transmission slices to be transmitted to obtain the message to be transmitted.
Optionally, in an embodiment of the present application, before the segmenting the at least one block chain to obtain the plurality of slices, the method further includes: the two communication parties respectively carry out identification of the identities of the two parties and negotiation of a symmetric encryption key and a signature private key by using an identity authentication mechanism and a key negotiation mechanism under a chain.
Optionally, in an embodiment of the present application, the segmenting at least one block chain to obtain a plurality of slices, and filling the message to be transmitted into the plurality of slices according to a preset filling rule includes: calling a random number generation function, and randomly selecting at least one block chain for data transmission; dividing the at least one block chain into a plurality of slices according to the field structure characteristics, and dividing the message to be transmitted; determining a message filling mode according to the slice sequence; if the slice is a first slice, embedding the message type and the total length of the message to be transmitted into a payload header of the first slice, sequentially filling the cut message to be transmitted into the payload header according to the slice capacity, marking the end of the slice message through a slice end symbol, adding a slice serial number into the slice header, adding an initialization vector used for encryption after the slice serial number, encrypting the payload in the slice by using a symmetric encryption key negotiated by two communication parties, splicing the encrypted payload to the initialization vector, and generating the transmission slice to be transmitted; and if the slice is not the first slice, sequentially filling the cut messages to be transmitted to the header of the payload according to the slice capacity, marking the end of the slice messages through a slice end symbol, adding the slice serial number to the header of the slice, encrypting the payload in the slice by using a symmetric encryption key negotiated by both communication sides, splicing the encrypted payload to the slice serial number, and generating the transmission slice to be transmitted.
Optionally, in an embodiment of the present application, when the cut messages to be transmitted are sequentially filled into the payload header according to the slice capacity, the method further includes: and after the message to be transmitted is filled into the slice, filling the slice with 0 until the slice capacity is reached when the slice reaches the slice capacity.
Optionally, in an embodiment of the present application, recovering the preset field information according to the to-be-transmitted transmission slice sequence to obtain the to-be-transmitted message includes: selecting a slice corresponding to the message to be transmitted according to the session message identifier, and decoding the preset field information of the selected slice according to the block chain transaction coding rule to obtain each transaction field information; and solving the information of each transaction field according to the inverse process of the preset filling rule, and sequencing the solving results to obtain the message to be transmitted.
The embodiment of the second aspect of the present application provides a hidden information transmission apparatus based on multiple block chains, including: the segmentation module is used for segmenting at least one block chain to obtain a plurality of slices, and filling a message to be transmitted to the plurality of slices according to a preset filling rule to generate a transmission slice to be transmitted; the broadcasting module is used for embedding the transmission slice to be transmitted into a preset field of the at least one block chain, serializing the preset field information according to a block chain transaction coding rule, and broadcasting the serialized preset field information; and the recovery module is used for recovering the preset field information according to the transmission slice sequence to be transmitted to obtain the message to be transmitted.
Optionally, in an embodiment of the present application, before the dividing module, the method further includes: and the identification module is used for respectively identifying the identities of the two parties and negotiating the symmetric encryption key and the signature private key by using an identity authentication mechanism and a key negotiation mechanism under the chain by the two parties before the at least one block chain is segmented to obtain a plurality of slices.
Optionally, in an embodiment of the present application, the dividing module includes: the calling unit is used for calling a random number generation function and randomly selecting at least one block chain for data transmission; the cutting unit is used for cutting the at least one block chain into a plurality of slices according to the field structure characteristics and cutting the message to be transmitted; a filling unit for determining a message filling mode according to the slice order; a first generation unit, configured to embed, if the slice is a first slice, a message type and a total length of the message to be transmitted into a payload header of the first slice, sequentially fill the cut message to be transmitted into the payload header according to the slice capacity, identify an end of the slice message by a slice end indicator, add a slice serial number to the slice header, add an initialization vector used for encryption after the slice serial number, encrypt the payload in the slice by using a symmetric encryption key negotiated by both communication parties, and splice the encrypted payload to the initialization vector to generate the transmission slice to be transmitted; and a second generation unit, configured to, if the slice is not the first slice, sequentially fill the to-be-transmitted messages to the header of the payload in sequence according to the slice capacity, identify the end of the slice message by a slice end identifier, add the slice serial number to the header of the slice, encrypt the payload in the slice by using a symmetric encryption key negotiated by both communication parties, and splice the encrypted payload to the slice serial number, so as to generate the to-be-transmitted slice.
Optionally, in an embodiment of the present application, the filling unit is further configured to, when the cut messages to be transmitted are sequentially filled to the payload header according to the slice capacity, fill the slice with 0 until the slice capacity is reached after the message to be transmitted is filled to the slice and when the slice is the slice capacity.
Optionally, in an embodiment of the present application, the recovery module includes: the decoding unit is used for selecting a slice corresponding to the message to be transmitted according to the session message identifier, decoding the preset field information of the selected slice according to the block chain transaction coding rule, and acquiring the transaction field information; and the sequencing unit is used for solving the information of each transaction field according to the inverse process of the preset filling rule and sequencing the solved result to obtain the message to be transmitted.
Therefore, the application has at least the following beneficial effects:
this application is through splitting long message, for the blockchain that every section random selection will be embedded into, then imbed the section of message respectively in the transaction of different blockchains to when improving information transmission efficiency, also promoted the security of hiding information transmission, avoid the message to only imbed the risk that increases information leakage on a blockchain. Therefore, the problems of low efficiency, low safety and the like of single block chain hidden transmission during information transmission are solved.
Additional aspects and advantages of the present application will be set forth in part in the description which follows and, in part, will be obvious from the description, or may be learned by practice of the present application.
Drawings
The foregoing and/or additional aspects and advantages of the present application will become apparent and readily appreciated from the following description of the embodiments, taken in conjunction with the accompanying drawings of which:
fig. 1 is a flowchart of a hidden information transmission method based on multiple block chains according to an embodiment of the present application;
fig. 2 is a diagram of a structure of a payload of a first slice when a message is fragmented in a multi-chain cooperative transmission process according to an embodiment of the present application;
fig. 3 is a final tx _ slice structure diagram of a first slice of a message fragment according to an embodiment of the present application;
fig. 4 is a schematic diagram of an execution logic of a multi-chain cooperative transmission service according to an embodiment of the present application;
FIG. 5 is a schematic diagram of an implementation logic of a received message service according to an embodiment of the present application;
fig. 6 is a diagram of an example of a hidden information transmission apparatus based on multiple block chains according to an embodiment of the present application.
Description of reference numerals: a cutting module-100, a broadcasting module-200 and a restoring module-300.
Detailed Description
Reference will now be made in detail to embodiments of the present application, examples of which are illustrated in the accompanying drawings, wherein like or similar reference numerals refer to the same or similar elements or elements having the same or similar function throughout. The embodiments described below with reference to the drawings are exemplary and intended to be used for explaining the present application and should not be construed as limiting the present application.
A method and an apparatus for hidden information transmission based on multiple block chains according to an embodiment of the present application are described below with reference to the accompanying drawings. The related art mentioned in the background above is to transmit the concealment information through a single block chain. The block-out rate in the bitcoin public chain is about one block out every ten minutes, and if the covert information is transmitted only in bitcoins, the receiver will wait a long time in receiving the information. And all hidden information is transmitted through a block chain, so that the risk of being analyzed by the flow is increased. The application provides a hidden information transmission method based on a plurality of block chains, in the method, through splitting long messages, the block chain to be embedded is randomly selected for each slice, then the slices of the messages are respectively embedded into transactions of different block chains, so that the information transmission efficiency is improved, meanwhile, the security of hidden information transmission is improved, and the risk of information leakage increase caused by the fact that the messages are only embedded into one block chain is avoided. Therefore, the problems of low efficiency, low safety and the like of single block chain hidden transmission during information transmission are solved.
Specifically, fig. 1 is a schematic flowchart of a hidden information transmission method based on multiple block chains according to an embodiment of the present application.
As shown in fig. 1, the hidden information transmission method based on multiple block chains includes the following steps:
in step S101, at least one block chain is segmented to obtain a plurality of slices, and a message to be transmitted is filled into the plurality of slices according to a preset filling rule to generate a transmission slice to be transmitted.
Embodiments of the present application may transmit information via multiple blockchains, for example, where two communicating parties send transactions via addresses on three blockchains (bitcoin, letelc, etherhouse). In an embodiment of the application, the sending and broadcasting of the transaction comprises the following processes: information splitting, information embedding and transaction coding. A session is newly established each time the sender sends a message, and is uniquely identified by a session _ id, and each session includes the following main information, as shown in table 1. The specific implementation will be described in detail below.
Table 1 main information contained in Session
Optionally, in an embodiment of the present application, the segmenting at least one block chain to obtain a plurality of slices, and filling the message to be transmitted into the plurality of slices according to a preset filling rule includes: calling a random number generation function, and randomly selecting at least one block chain for data transmission; cutting at least one block of block chain into a plurality of slices according to the field structure characteristics, and cutting the message to be transmitted; determining a message filling mode according to the slice sequence; if the slice is a first slice, embedding the message type and the total length of the message to be transmitted into the header of the payload of the first slice, sequentially filling the cut message to be transmitted to the header of the payload according to the slice capacity, identifying the end of the slice message through a slice end identifier, adding a slice serial number to the header of the slice, adding an initialization vector used for encryption after the slice serial number is cut, encrypting the payload in the slice by using a symmetric encryption key negotiated by two communication parties, splicing the encrypted payload to the initialization vector, and generating the transmission slice to be transmitted; if the slice is not the first slice, sequentially filling the cut messages to be transmitted to a payload header according to the slice capacity, identifying the end of the slice messages through a slice end symbol, adding a slice serial number to the slice header, encrypting the payload in the slice by using a symmetric encryption key negotiated by both communication sides, splicing the encrypted payload to the slice serial number, and generating the transmission slice to be transmitted.
It should be noted that, in the embodiment of the present application, when the cut messages to be transmitted are sequentially filled into the payload header according to the slice capacity, the method further includes: after the message to be transmitted is filled into the slice, when the slice reaches the slice capacity, the slice is filled with 0 until the slice capacity is reached.
Specifically, in the embodiment of the present application, the information splitting may be performed according to the following steps:
(1) and calling a random number generation function, and randomly selecting a block chain to embed the message. According to the structural characteristics of the selected block chain, the embedded fields are reserved in advance, and the capacity tx _ capacity of the information which can be contained in each transaction, namely the maximum byte number which can be contained in the slice, is calculated according to the size of the fields.
(2) Judging the type of the message and calculating the total length of the message, wherein the message type msg _ type is represented by one byte, such as the text type is 0x01, adding the msg _ type and the total length msg _ size of the message to the payload header of the first slice, then cutting the hidden information to be transmitted, sequentially taking a part of the message according to the slice capacity to fill the payload of the slice, and finally identifying the end of the slice message by an end symbol 0x 80.
(3) The 4-byte sequence number sequence of the message is then added to the slice header to facilitate in-order recovery of subsequent messages. The sequence number is obtained by left shifting 24 bits of a session _ id with the length of 1 byte, the session _ id uniquely identifies one session and is transmitted as a parameter when the session is created, each slice in the session is uniquely identified by a sequence, and the length of each slice is 4 bytes. If the slice is the first slice of the message transmitted this time, an initialization vector msg _ IV used for encryption is further added after the slice serial number, and no msg _ IV needs to be added in subsequent slices. When the session is established, the initial value of IV _ pushed is false, when the first slice is embedded into msg _ IV, the IV _ pushed in the session is set to true, and the subsequent slices can judge whether msg _ IV is added according to the flag.
And the symmetric encryption key negotiated by the two parties is aes _ key, then the key is used for encrypting the payload in the slice, and the obtained result enc _ msg is spliced behind msg _ IV to form the final slice tx _ slice. The final slice composition is shown in fig. 3.
It should be noted that, before the at least one block chain is segmented to obtain a plurality of slices, the two communicating parties need to respectively perform identification of identities of the two parties and negotiation of a symmetric encryption key and a signature private key by using an identity authentication mechanism and a key negotiation mechanism under the chain.
Specifically, before the transmission of the hidden message, the two communicating parties need to respectively perform identification of the identities of the two parties and negotiation of a symmetric encryption key and a signature private key through a traditional identity authentication and key negotiation mechanism under a chain.
In step S102, a transmission slice to be transmitted is embedded into a preset field of at least one block chain, the preset field information is serialized according to a block chain transaction coding rule, and the serialized preset field information is broadcasted.
After the information splitting operation, information embedding and transaction coding are required to be carried out so as to realize the sending and broadcasting of the transaction.
In the embodiment of the present application, the specific steps of information embedding are as follows: respectively embedding slice contents into corresponding fields according to a block chain selected during information splitting, and storing corresponding fields constructed by hidden information by using a structural body tx _ msg, wherein the fields used for hiding the information in the bitcoin and the ledike comprise a transaction amount value, an output address toaddr, a signature of a transaction and the like; the hidden field of the Etherhouse has two fields of gas and gaslimit besides the transaction amount value, the output address toaddr and the signature sig of the transaction.
The transaction coding comprises the following specific steps: and serializing the transaction by the constructed field information tx _ msg according to the transaction coding rule of the corresponding block chain to finally obtain the serialized transaction rawtx, and transmitting and broadcasting the message by calling the rpc interface corresponding to the block chain. The multi-chain cooperative transmission service execution logic is shown in fig. 4.
In step S103, the preset field information is restored according to the transmission slice sequence to be transmitted, so as to obtain the message to be transmitted.
It should be noted that the receiver continuously scans the transaction sent by the communication address on the block chain, establishes a session for receiving the message by transmitting the session _ id parameter, screens the transaction containing the hidden information by the session _ id, and then recovers and integrates all slices in sequence to obtain the real hidden information. The whole process can be divided into three steps of transaction screening and analysis, slice processing and slice sequential recovery. The specific implementation is described in detail below.
Optionally, in an embodiment of the present application, recovering the preset field information according to the sequence of the transmission slice to be transmitted to obtain the message to be transmitted, where the recovering includes: selecting a slice corresponding to a message to be transmitted according to the session message identifier, and decoding preset field information of the selected slice according to a block chain transaction coding rule to obtain transaction field information; and solving the information of each transaction field according to the inverse process of the preset filling rule, and sequencing the solved results to obtain the message to be transmitted.
It is understood that the multi-chain message reception process can be divided into transaction screening and parsing, and slicing processing and slicing recovery in sequence. Specifically, in the embodiment of the present application, the specific process of transaction screening and decoding is as follows: establishing a received message session, transmitting parameters such as a session _ id and a communication address, screening out a blockchain transaction sent by three communication addresses, decoding the transaction to obtain field information of the transaction, recovering a first 4 bytes (namely a sequence) in one slice according to a field used for embedding information in the transaction, if the first byte of the sequence is the same as the session _ id, proving that the transaction belongs to one slice in the session transmission, and storing the subsequent part of the slice and the sequence as an index into a database. The slicing treatment comprises the following specific processes: after the transactions belonging to a certain session are screened out, slice data are firstly obtained from a database according to an initial sequence number of session _ id left-shifted by 24 bits, 16 bytes behind the sequence number are msg _ IV used for encryption and decryption, and then an encrypted payload is obtained. And after decrypting the payload by the receiver, acquiring the payload with the end character and the padding character, and deleting the padding character and the end character at the tail to obtain the real effective part of the slice. The specific process of sequential slice recovery is as follows: when the true valid part msg _ slice of the first slice is recovered, the first byte of msg _ slice is msg _ type, the next two bytes are msg _ size, and the rest are true hidden information slices. And the receiver continuously performs similar operation on the subsequent slices belonging to the session until the slices belonging to the session are processed, and finally the hidden information transmitted by the sender can be recovered. The receive message service execution logic is shown in fig. 5.
It should be noted that, the multiple blockchains (bitcoin, ledebur, etherhouse) in the present application may be replaced by other blockchains, and the transmission and reception of the message may also be performed in the same manner of message slicing and sequential recovery.
According to the hidden information transmission method based on the multiple block chains, the long message is split, the block chains to be embedded are randomly selected for each slice, and then the slices of the message are respectively embedded into transactions of different block chains, so that the information transmission efficiency is improved, the security of hidden information transmission is improved, and the risk of information leakage caused by the fact that the message is only embedded into one block chain is avoided.
Next, a hidden information transmission apparatus based on a plurality of block chains according to an embodiment of the present application will be described with reference to the drawings.
Fig. 6 is a block diagram of a hidden information transmission apparatus based on multiple block chains according to an embodiment of the present application.
As shown in fig. 6, the hidden information transmission apparatus 10 based on a plurality of block chains includes: a slicing module 100, a broadcasting module 200, and a restoring module 300.
The segmentation module 100 is configured to segment at least one block chain to obtain multiple slices, and fill a message to be transmitted to the multiple slices according to a preset filling rule to generate a transmission slice to be transmitted; the broadcasting module 200 is configured to embed a transmission slice to be transmitted into a preset field of at least one block chain, serialize preset field information according to a block chain transaction coding rule, and broadcast the serialized preset field information; the recovery module 300 is configured to recover the preset field information according to the transmission slice sequence to be sent, so as to obtain a message to be transmitted.
Optionally, in an embodiment of the present application, the method further includes: and the identification module is used for respectively identifying the identities of the two parties and negotiating the symmetric encryption key and the signature private key by using an identity authentication mechanism and a key negotiation mechanism under the chain by the two parties before the at least one block chain is segmented to obtain a plurality of slices.
Optionally, in an embodiment of the present application, the cutting module 100 includes: the calling unit is used for calling a random number generation function and randomly selecting at least one block chain for data transmission; the cutting unit is used for cutting at least one block of block chain into a plurality of slices according to the field structure characteristics and cutting the message to be transmitted; a filling unit for determining a message filling mode according to the slice order; the first generation unit is used for embedding the message type and the total length of a message to be transmitted into a payload header of a first slice if the slice is the first slice, sequentially filling the cut message to be transmitted into the payload header according to the slice capacity, identifying the end of the slice message through a slice end symbol, adding a slice serial number to the slice header, adding an initialization vector used for encryption after the slice serial number, encrypting the payload in the slice by using a symmetric encryption key negotiated by two communication parties, splicing the encrypted payload to the initialization vector, and generating a transmission slice to be transmitted; and the second generation unit is used for sequentially filling the cut messages to be transmitted to the head of the payload according to the slice capacity if the slice is not the first slice, identifying the end of the slice messages through the slice end symbol, adding a slice serial number to the head of the slice, encrypting the payload in the slice by using a symmetric encryption key negotiated by both communication parties, splicing the encrypted payload to the slice serial number, and generating the transmission slice to be transmitted.
Optionally, in an embodiment of the present application, the filling unit is further configured to, when the cut messages to be transmitted are sequentially filled to the payload header according to the slice capacity, fill the slice with 0 until the slice capacity is reached after the messages to be transmitted are filled to the slice and the slice is the slice capacity.
Optionally, in an embodiment of the present application, the recovery module 300 includes: the decoding unit is used for selecting a slice corresponding to the message to be transmitted according to the session message identifier, decoding the preset field information of the selected slice according to the block chain transaction coding rule, and acquiring the transaction field information; and the sequencing unit is used for solving the information of each transaction field according to the inverse process of the preset filling rule and sequencing the solved result to obtain the message to be transmitted.
It should be noted that the foregoing explanation on the embodiment of the method for transmitting hidden information based on multiple block chains is also applicable to a device for transmitting hidden information based on multiple block chains in this embodiment, and is not repeated herein.
According to the hidden information transmission device based on the multiple block chains, the long message is split, the block chains to be embedded are randomly selected for each slice, then the slices of the message are respectively embedded into transactions of different block chains, so that the information transmission efficiency is improved, the security of hidden information transmission is improved, and the risk of information leakage caused by the fact that the message is only embedded into one block chain is avoided.
In the description herein, reference to the description of the term "one embodiment," "some embodiments," "an example," "a specific example," or "some examples," etc., means that a particular feature, structure, material, or characteristic described in connection with the embodiment or example is included in at least one embodiment or example of the application. In this specification, the schematic representations of the terms used above are not necessarily intended to refer to the same embodiment or example. Furthermore, the particular features, structures, materials, or characteristics described may be combined in any suitable manner in any one or N embodiments or examples. Furthermore, various embodiments or examples and features of different embodiments or examples described in this specification can be combined and combined by one skilled in the art without contradiction.
Furthermore, the terms "first", "second" and "first" are used for descriptive purposes only and are not to be construed as indicating or implying relative importance or implicitly indicating the number of technical features indicated. Thus, a feature defined as "first" or "second" may explicitly or implicitly include at least one such feature. In the description of the present application, "N" means at least two, e.g., two, three, etc., unless explicitly defined otherwise.
Any process or method descriptions in flow charts or otherwise described herein may be understood as representing modules, segments, or portions of code which include one or more N executable instructions for implementing steps of a custom logic function or process, and alternate implementations are included within the scope of the preferred embodiment of the present application in which functions may be executed out of order from that shown or discussed, including substantially concurrently or in reverse order, depending on the functionality involved, as would be understood by those reasonably skilled in the art of implementing the embodiments of the present application.
Claims (10)
1. A hidden information transmission method based on a plurality of block chains is characterized by comprising the following steps:
segmenting at least one block chain to obtain a plurality of slices, and filling a message to be transmitted to the plurality of slices according to a preset filling rule to generate a transmission slice to be transmitted;
embedding the transmission slice to be transmitted into a preset field of the at least one block chain, serializing the preset field information according to a block chain transaction coding rule, and broadcasting the serialized preset field information;
and restoring the preset field information according to the sequence of the transmission slices to be transmitted to obtain the message to be transmitted.
2. The method of claim 1, wherein before the slicing the at least one blockchain into the plurality of slices, further comprising:
the two communication parties respectively carry out identification of the identities of the two parties and negotiation of a symmetric encryption key and a signature private key by using an identity authentication mechanism and a key negotiation mechanism under a chain.
3. The method according to claim 1, wherein the segmenting at least one block chain to obtain a plurality of slices, and the filling of the plurality of slices with the message to be transmitted according to a preset filling rule comprises:
calling a random number generation function, and randomly selecting at least one block chain for data transmission;
dividing the at least one block chain into a plurality of slices according to the field structure characteristics, and dividing the message to be transmitted;
determining a message filling mode according to the slice sequence;
if the slice is a first slice, embedding the message type and the total length of the message to be transmitted into a payload header of the first slice, sequentially filling the cut message to be transmitted into the payload header according to the slice capacity, marking the end of the slice message through a slice end symbol, adding a slice serial number into the slice header, adding an initialization vector used for encryption after the slice serial number, encrypting the payload in the slice by using a symmetric encryption key negotiated by two communication parties, splicing the encrypted payload to the initialization vector, and generating the transmission slice to be transmitted;
and if the slice is not the first slice, sequentially filling the cut messages to be transmitted to the header of the payload according to the slice capacity, marking the end of the slice messages through a slice end symbol, adding the slice serial number to the header of the slice, encrypting the payload in the slice by using a symmetric encryption key negotiated by both communication sides, splicing the encrypted payload to the slice serial number, and generating the transmission slice to be transmitted.
4. The method of claim 3, wherein when the sliced messages to be transmitted are sequentially filled into the payload header according to the slice capacity, the method further comprises:
and after the message to be transmitted is filled into the slice, filling the slice with 0 until the slice capacity is reached when the slice reaches the slice capacity.
5. The method of claim 1, wherein recovering the preset field information according to the transmission slice order to be transmitted to obtain the message to be transmitted comprises:
selecting a slice corresponding to the message to be transmitted according to the session message identification, and decoding the preset field information of the selected slice according to the blockchain transaction coding rule to obtain each transaction field information;
and solving the information of each transaction field according to the inverse process of the preset filling rule, and sequencing the solved results to obtain the message to be transmitted.
6. A hidden information transmission apparatus based on a plurality of block chains, comprising:
the segmentation module is used for segmenting at least one block chain to obtain a plurality of slices, and filling a message to be transmitted to the plurality of slices according to a preset filling rule to generate a transmission slice to be transmitted;
the broadcasting module is used for embedding the transmission slice to be transmitted into a preset field of the at least one block chain, serializing the preset field information according to a block chain transaction coding rule, and broadcasting the serialized preset field information;
and the recovery module is used for recovering the preset field information according to the transmission slice sequence to be transmitted to obtain the message to be transmitted.
7. The apparatus of claim 6, further comprising:
and the identification module is used for respectively identifying the identities of the two parties and negotiating the symmetric encryption key and the signature private key by using an identity authentication mechanism and a key negotiation mechanism under the chain by the two parties before the at least one block chain is segmented to obtain a plurality of slices.
8. The apparatus of claim 6, wherein the dicing module comprises:
the calling unit is used for calling a random number generating function and randomly selecting at least one block chain for data transmission;
the cutting unit is used for cutting the at least one block chain into a plurality of slices according to the field structure characteristics and cutting the message to be transmitted;
a filling unit for determining a message filling mode according to the slice order;
a first generation unit, configured to embed, if the slice is a first slice, a message type and a total length of the message to be transmitted into a payload header of the first slice, sequentially fill the cut message to be transmitted into the payload header according to the slice capacity, identify an end of the slice message by a slice end indicator, add a slice serial number to the slice header, add an initialization vector used for encryption after the slice serial number, encrypt the payload in the slice by using a symmetric encryption key negotiated by both communication parties, and splice the encrypted payload to the initialization vector to generate the transmission slice to be transmitted;
and a second generating unit, configured to, if the slice is not the first slice, sequentially fill the to-be-transmitted message after being cut to the header of the payload in accordance with the slice capacity, identify the end of the slice message by a slice end identifier, add the slice serial number to the header of the slice, encrypt the payload in the slice by using a symmetric encryption key negotiated by both communication parties, and splice the encrypted payload to the slice serial number, thereby generating the to-be-transmitted transmission slice.
9. The apparatus according to claim 8, wherein the padding unit is further configured to, when the cut messages to be transmitted are sequentially padded to the payload header according to the slice capacity, pad the slice with 0 until the slice capacity is reached when the slice reaches the slice capacity after the messages to be transmitted are padded to the slice.
10. The apparatus of claim 6, wherein the recovery module comprises:
the decoding unit is used for selecting a slice corresponding to the message to be transmitted according to the session message identifier, decoding the preset field information of the selected slice according to the block chain transaction coding rule, and acquiring the transaction field information;
and the sequencing unit is used for solving the information of each transaction field according to the inverse process of the preset filling rule and sequencing the solving results to obtain the message to be transmitted.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210157113.7A CN114745101A (en) | 2022-02-21 | 2022-02-21 | Hidden information transmission method and device based on multiple block chains |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210157113.7A CN114745101A (en) | 2022-02-21 | 2022-02-21 | Hidden information transmission method and device based on multiple block chains |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114745101A true CN114745101A (en) | 2022-07-12 |
Family
ID=82274833
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210157113.7A Pending CN114745101A (en) | 2022-02-21 | 2022-02-21 | Hidden information transmission method and device based on multiple block chains |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114745101A (en) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115567331A (en) * | 2022-12-07 | 2023-01-03 | 珠海市鸿瑞信息技术股份有限公司 | Information safety monitoring system and method based on industrial control protocol |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105743896A (en) * | 2016-02-01 | 2016-07-06 | 成都三零瑞通移动通信有限公司 | Encrypted voice communication key negotiation data exchange and transmission method |
CN111767342A (en) * | 2020-06-12 | 2020-10-13 | 黄颖 | Multi-block chain based evidence storage method |
CN112532613A (en) * | 2020-11-25 | 2021-03-19 | 山东师范大学 | Block chain address-based covert communication method |
CN112600665A (en) * | 2020-12-25 | 2021-04-02 | 江苏通付盾区块链科技有限公司 | Covert communication method, device and system based on block chain and encryption technology |
CN112667647A (en) * | 2020-12-11 | 2021-04-16 | 深圳前海微众银行股份有限公司 | Block chain transaction data transmission method and device |
WO2021124226A1 (en) * | 2019-12-18 | 2021-06-24 | Jaj Technology Pte. Ltd. | Blockchain implemented data hiding solutions for improvements in secure communication, storage and transmission of data |
CN113595734A (en) * | 2020-07-03 | 2021-11-02 | 支付宝实验室(新加坡)有限公司 | Method, system and apparatus for managing transactions in multiple blockchain networks |
CN113691376A (en) * | 2021-08-04 | 2021-11-23 | 深圳前海微众银行股份有限公司 | Key management method and device |
-
2022
- 2022-02-21 CN CN202210157113.7A patent/CN114745101A/en active Pending
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105743896A (en) * | 2016-02-01 | 2016-07-06 | 成都三零瑞通移动通信有限公司 | Encrypted voice communication key negotiation data exchange and transmission method |
WO2021124226A1 (en) * | 2019-12-18 | 2021-06-24 | Jaj Technology Pte. Ltd. | Blockchain implemented data hiding solutions for improvements in secure communication, storage and transmission of data |
CN111767342A (en) * | 2020-06-12 | 2020-10-13 | 黄颖 | Multi-block chain based evidence storage method |
CN113595734A (en) * | 2020-07-03 | 2021-11-02 | 支付宝实验室(新加坡)有限公司 | Method, system and apparatus for managing transactions in multiple blockchain networks |
CN112532613A (en) * | 2020-11-25 | 2021-03-19 | 山东师范大学 | Block chain address-based covert communication method |
CN112667647A (en) * | 2020-12-11 | 2021-04-16 | 深圳前海微众银行股份有限公司 | Block chain transaction data transmission method and device |
CN112600665A (en) * | 2020-12-25 | 2021-04-02 | 江苏通付盾区块链科技有限公司 | Covert communication method, device and system based on block chain and encryption technology |
CN113691376A (en) * | 2021-08-04 | 2021-11-23 | 深圳前海微众银行股份有限公司 | Key management method and device |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115567331A (en) * | 2022-12-07 | 2023-01-03 | 珠海市鸿瑞信息技术股份有限公司 | Information safety monitoring system and method based on industrial control protocol |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107248994B (en) | Information sending method, processing method and device | |
CN111818031B (en) | Block chain based covert communication message security encoding method, system and medium | |
Mare et al. | Secret data communication system using Steganography, AES and RSA | |
CN114493593B (en) | Multi-block chain hidden communication method | |
WO2017185872A1 (en) | Short message processing method, device, and system, and storage medium | |
CN101594229A (en) | A kind of trusted network connection system and method based on combined public key | |
CN111698084B (en) | Block chain-based concealed communication method | |
CN110138795B (en) | Multi-step mixed encryption and decryption method in communication process | |
CN109005027B (en) | Random data encryption and decryption method, device and system | |
CN110544101A (en) | SM 9-based alliance chain identity authentication method | |
CN105553618B (en) | Safety of image transmission method based on fountain codes and adaptive population | |
CN114726538B (en) | Hidden communication method based on block link signature | |
WO2016015222A1 (en) | Data encryption and transmission method and device | |
CN106713415A (en) | Data transmission method and system | |
CN111654484B (en) | Ethernet workshop covert communication method based on whisper protocol | |
CN114567427B (en) | Block chain hidden data segmented transmission method | |
CN108768920B (en) | Recorded broadcast data processing method and device | |
CN114745101A (en) | Hidden information transmission method and device based on multiple block chains | |
CN115334497A (en) | Satellite terminal key distribution method, device and system | |
CN109951378B (en) | File encryption transmission and sharing method in instant messaging | |
CN115277094A (en) | Block chain-based communication method, terminal, system and storage medium | |
CN114422135A (en) | Verifiable accidental transmission method based on elliptic curve | |
CN117314427A (en) | Efficient hidden communication method and communication system based on blockchain remarks | |
CN112291196B (en) | End-to-end encryption method and system suitable for instant messaging | |
CN117200965A (en) | Block chain hidden communication method for avoiding multiplexing address and negotiating private key in advance |
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 |