Hidden transmission method and system for secret information

By using the initial public key and derived public key to embed secret information in blockchain hidden communication, the problems of difficulty in matching secret information and poor communication performance in the prior art are solved, and efficient and hidden secret information transmission is achieved.

CN120110771APending Publication Date: 2025-06-06BEIJING UNIV OF POSTS & TELECOMM
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202510299165.1
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2025-03-13
Publication Date
2025-06-06

AI Technical Summary

Technical Problem

In the hidden communication based on blockchain, it is difficult to quickly match secret information, and a large number of addresses and negotiation message start identifiers are required to generate, resulting in poor communication performance.

Method used

Through the initial public key agreed upon in advance, the sender transmits the secret information in batches and embeds the sub-secret information into the hash value string of the Ethereum transaction address, and uses the difference between the derived public key and the received address to derive the sub-secret information.

Benefits of technology

It realizes a hidden transmission that can quickly embed secret information without generating a large number of addresses. It has a high embedding capacity and does not require a message start identifier for each communication negotiation, which improves communication efficiency and concealment.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN120110771A_ABST
    Figure CN120110771A_ABST
Patent Text Reader

Abstract

The invention provides a secret information hidden transmission method and system, and the method comprises the steps that a sender splits secret information into sub-secret information; deriving each first derived public key from the initial public key, and a first Ethereum sending address and a second hash value string corresponding to each first derived public key, and embedding each piece of sub-secret information into the corresponding second hash value string to obtain each piece of first hidden sub-secret information; packaging the first Ethereum sending address and the first Ethereum receiving address into a common transaction on the Ethereum, and sending the common transaction to the Ethereum block chain; and the receiver derives each second Ethereum receiving address based on the initial public key, and derives each piece of sub-secret information based on the difference between the second Ethereum receiving address and the first Ethereum receiving address to obtain the secret information. Through the method, the secret information can be quickly embedded without generating a large number of addresses to match the secret information.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present application relates to the field of blockchain technology, and in particular to a method and system for covert transmission of secret information. Background Art

[0002] Covert communication channels are designed to protect the relationship between the sender and the receiver by hiding the fact of secret communication (i.e., during the communication process, not only the content of the communication is protected from being understood by the illegal receiver, but more importantly, the existence of the secret communication is concealed, that is, the non-receiving party cannot detect that the secret communication has occurred). This channel can be used in military communications and other situations.

[0003] Secure covert communication can be achieved through a combination of cryptography and steganography. Cryptography refers to the use of encryption technology to encrypt the content of communication to ensure the privacy of communication messages; while steganography refers to the use of information hiding technology to hide the encrypted communication content in a publicly available information carrier to achieve more covert and secure communication. This communication method not only protects the communication content from being understood by illegal recipients, but also further conceals the existence of secret communication, improving the confidentiality and security of communication.

[0004] However, steganography requires a medium. It requires the existence of a channel for harmless communication and that both the sender and the receiver have access to the channel. In addition, the channel needs to be reliable so that the receiver can receive the transmitted message with a high probability and that the message has not been tampered with.

[0005] Blockchain technology was initially introduced as the underlying mechanism for virtual currencies, cryptocurrencies, as an open, decentralized method of providing trust. Blockchain is a public distributed ledger, implemented as a growing chain of blocks, designed to provide data authenticity without a central authority. Its integrity is jointly ensured by the majority of nodes participating in the blockchain network. Therefore, data recorded in the blockchain is inherently tamper-resistant, as tampering requires an adversary to control a majority of the nodes. Typically, blockchain networks, such as those that support cryptocurrencies, are free and open to anyone. This openness, along with strong integrity guarantees for stored data, makes blockchain a platform for implementing covert communication channels.

[0006] Blockchain is a distributed ledger where peer nodes submit their transaction requests to the entire network through broadcasting. In this communication model, the transaction transmission embedded with secret messages has no specific destination, which perfectly hides the identity of the recipient. In addition, participants only need to generate addresses as accounts locally and embed secret information into relevant data to package it into a transaction form to complete this operation. This anonymous property helps to hide the true identity of the sender. In addition, the immutability of blockchain ensures the tamper-proof nature of communication, making it difficult for attackers to disrupt the transmission of secret messages. Based on these characteristics of the above blockchain, a more reliable covert communication can be built.

[0007] The biggest challenge of blockchain-based covert communication is to find out the transactions submitted by the sender. Since there is no specific destination for publishing transactions, the receiver needs to constantly search the entire newly published block and check whether certain transactions contain secret information. To solve this problem, most existing methods adopt two steps. First, the receiver finds special transactions by identifying certain special blockchain account addresses, and then privately connects the sender and the receiver through these generated special blockchain account addresses. Then, the receiver uses the matching transactions as a carrier to extract secret information from them. However, the current state of the art still faces some defects, resulting in poor performance of covert communication. On the one hand, in order to connect the sender and the receiver through the blockchain account address, the sender needs to generate accounts multiple times until a satisfactory account is obtained. On the other hand, each communication process requires a message start identifier to be negotiated in advance, and the communication will not be able to continue when the communicating parties do not have such conditions. Summary of the invention

[0008] In view of this, the purpose of the present application is to provide a covert transmission method and system for secret information, which can quickly embed secret information without generating a large number of addresses to match the secret information, has a high embedding capacity, and does not require a message start identifier for each communication negotiation.

[0009] In a first aspect, an embodiment of the present application provides a method for covert transmission of secret information, wherein a sender and a receiver of the secret information have previously agreed on an initial public key in a confidentiality agreement; the method comprises:

[0010] The sender determines the number of batch transmissions of the secret information, and splits the secret information into sub-secret information arranged in sequence for the number of batch transmissions;

[0011] Convert the initial public key into a corresponding first Ethereum sending address and a second hash value string, and embed the first sub-secret information into the second hash value string to obtain the first hidden sub-secret information corresponding to the initial public key;

[0012] According to the initial public key and the first hidden sub-secret information corresponding to the initial public key, derive the first derived public keys with the batch transmission times in sequence, and for each of the first derived public keys, convert the first derived public key into the corresponding first Ethereum sending address and a second hash value string, and embed the sub-secret information corresponding to the first derived public key into the second hash value string to obtain the first hidden sub-secret information corresponding to the derived public key, and determine the first Ethereum sending address corresponding to the first derived public key as the first Ethereum receiving address of the previous public key of the first derived public key;

[0013] For each first target public key, the first Ethereum sending address and the first Ethereum receiving address corresponding to the first target public key are packaged into an ordinary transaction on Ethereum, and the ordinary transaction is sent to the Ethereum blockchain; wherein each of the first Ethereum receiving addresses hides one of the sub-secret information; the first target public key includes the initial public key and other first derived public keys except the last first derived public key;

[0014] The receiver derives the second Ethereum receiving address for the batch transmission number based on the initial public key, and derives each of the sub-secret information based on the difference between the second Ethereum receiving address and the first Ethereum receiving address to obtain the secret information.

[0015] In combination with the first aspect, an embodiment of the present application provides a first possible implementation manner of the first aspect, wherein the sender and the receiver further pre-secretly agree on a symmetric key and a hidden information embedding algorithm; the sender determines the number of batch transmissions of the secret information, and splits the secret information into sub-secret information arranged in sequence according to the number of batch transmissions, including:

[0016] The sender's user end encrypts the secret information using the symmetric key to obtain an encrypted ciphertext;

[0017] Performing binary conversion on the encrypted ciphertext to obtain a binary sequence for representing the secret information;

[0018] Determining the number of batch transmissions of the secret information according to the length of the binary sequence used to represent the secret information and the secret information transmission length specified by the secret information embedding algorithm;

[0019] According to the number of batch transmissions, the binary sequence is evenly divided into the number of sequentially arranged sub-binary sequences, and the sequentially arranged sub-binary sequences are used as sequentially arranged sub-secret information.

[0020] In combination with the first possible implementation of the first aspect, an embodiment of the present application provides a second possible implementation of the first aspect, wherein the sender and the receiver also pre-secretly agree on a hidden key of the hidden information embedding algorithm; the initial public key is converted into a corresponding first Ethereum sending address and a second hash value string, and the first sub-secret information is embedded into the second hash value string to obtain the first hidden sub-secret information corresponding to the initial public key, including:

[0021] Converting the initial public key into a first hash value corresponding to the initial public key through an encrypted hash function;

[0022] intercepting the last first number of bytes of the first hash value to obtain the first hash value string corresponding to the initial public key, and processing the first hash value string to obtain the first Ethereum sending address corresponding to the initial public key, and intercepting the first second number of bytes of the first hash value to obtain the second hash value string corresponding to the initial public key;

[0023] The second hash value string corresponding to the initial public key, the first sub-secret information, and the hidden key are concatenated through the hidden information embedding algorithm to obtain the first hidden sub-secret information corresponding to the initial public key.

[0024] In combination with the first possible implementation of the first aspect, the embodiment of the present application provides a third possible implementation of the first aspect, wherein, if the number of batch transmissions is greater than 1, the first derived public keys having a sequence of the number of batch transmissions are derived according to the initial public key and the first hidden sub-secret information corresponding to the initial public key, and for each of the first derived public keys, the first derived public key is converted into a corresponding first Ethereum sending address and a second hash value string, and the sub-secret information corresponding to the first derived public key is embedded into the second hash value string to obtain the first hidden sub-secret information corresponding to the derived public key, and the first Ethereum sending address corresponding to the first derived public key is determined as the first Ethereum receiving address of the previous public key of the first derived public key, including:

[0025] When deriving the first derived public key, derive the first first derived public key according to the initial public key and the first hidden sub-secret information corresponding to the initial public key, convert the first first derived public key into the first Ethereum sending address corresponding to the first first derived public key and the second hash value string, embed the sub-secret information corresponding to the first first derived public key into the second hash value string to obtain the first hidden sub-secret information corresponding to the first first derived public key, and determine the first Ethereum sending address corresponding to the first first derived public key as the first Ethereum receiving address of the initial public key;

[0026] When deriving a non-first first derived public key, the non-first first derived public key is derived according to the previous first derived public key of the non-first first derived public key and the first hidden sub-secret information corresponding to the previous first derived public key, and the non-first first derived public key is converted into a first Ethereum sending address corresponding to the non-first first derived public key and a second hash value string, and the sub-secret information corresponding to the non-first first derived public key is embedded into the second hash value string to obtain the first hidden sub-secret information corresponding to the non-first first derived public key, and the first Ethereum sending address corresponding to the non-first first derived public key is determined as the first Ethereum receiving address corresponding to the previous first derived public key.

[0027] In combination with the third possible implementation of the first aspect, the embodiment of the present application provides a fourth possible implementation of the first aspect, wherein, for each first target public key, the first Ethereum sending address and the first Ethereum receiving address corresponding to the first target public key are packaged into an ordinary transaction on Ethereum, and the ordinary transaction is sent to the Ethereum blockchain, including:

[0028] For each first target public key, the first Ethereum sending address and the first Ethereum receiving address corresponding to the first target public key, and a preset amount of virtual currency are packaged into an ordinary transaction on Ethereum; wherein the Ethereum sending address and the Ethereum receiving address corresponding to each first target public key are different Ethereum accounts of the sender respectively;

[0029] According to the order of each of the first target public keys, the sending order of each ordinary transaction is determined, and based on the sending order of each of the ordinary transactions, each of the ordinary transactions is sent to the Ethereum blockchain in sequence.

[0030] In combination with the third possible implementation of the first aspect, the embodiment of the present application provides a fifth possible implementation of the first aspect, wherein the recipient derives the second Ethereum receiving address for the batch transmission number based on the initial public key, and derives each of the sub-secret information based on the difference between the second Ethereum receiving address and the first Ethereum receiving address to obtain the secret information, including:

[0031] The receiving party's user terminal converts the initial public key into a corresponding second Ethereum sending address and a fourth hash value string, and embeds the first inferred sub-secret information into the fourth hash value string to obtain the inferred second inferred hidden sub-secret information corresponding to the initial public key; wherein the second Ethereum sending address and the fourth hash value string corresponding to the initial public key are the same as the first Ethereum sending address and the second hash value string corresponding to the initial public key;

[0032] Determine a first second inferred derived public key according to the initial public key and the second inferred hidden sub-secret information corresponding to the initial public key, and convert the first second inferred derived public key into a second inferred Ethereum sending address corresponding to the first second inferred derived public key;

[0033] According to the second Ethereum sending address corresponding to the initial public key, the first Ethereum receiving address corresponding to the initial public key is queried, and the queried first Ethereum receiving address is determined as the second Ethereum sending address of the first second distributed public key;

[0034] According to the difference between the second Ethereum sending address of the first second distributed public key and the second inferred Ethereum sending address corresponding to the first second inferred derived public key, the first inferred sub-secret information is adjusted to obtain the correct first sub-secret information, the second hidden sub-secret information corresponding to the initial public key, and the first second distributed public key when the second inferred Ethereum sending address corresponding to the first second inferred derived public key is consistent with the second Ethereum sending address of the first second distributed public key;

[0035] For each second distributed public key, after determining the correct second distributed public key, convert the correct second distributed public key into the corresponding second Ethereum sending address and a fourth hash value string, and embed the inferred sub-secret information corresponding to the inferred second distributed public key into the fourth hash value string to obtain the second inferred hidden sub-secret information corresponding to the second distributed public key;

[0036] Determine the next second inferred distribution public key of the correct second distribution public key according to the second distribution public key and the second inferred hidden sub-secret information corresponding to the second distribution public key, and convert the second inferred derived public key into a second inferred Ethereum sending address corresponding to the second inferred derived public key;

[0037] According to the second Ethereum sending address corresponding to the correct second distribution public key, the first Ethereum receiving address corresponding to the first distribution public key identical to the correct second distribution public key is queried, and the queried first Ethereum receiving address is determined as the second Ethereum sending address of the next second distribution public key of the correct second distribution public key;

[0038] According to the difference between the second Ethereum sending address of the next second distributed public key of the correct second distributed public key and the second inferred Ethereum sending address corresponding to the next second inferred derived public key of the correct second distributed public key, the sub-inferred secret information corresponding to the correct second distributed public key is adjusted, so that when the second inferred Ethereum sending address corresponding to the next second inferred derived public key of the correct second distributed public key is consistent with the second Ethereum sending address of the next second distributed public key of the correct second distributed public key, the sub-secret information corresponding to the correct second distributed public key, the second hidden sub-secret information, and the next second distributed public key are obtained; wherein the correct second distributed public key is the same as the first distributed public key in the same arrangement order as the first distributed public key;

[0039] After all the second distribution public keys are obtained, the secret information is determined according to the sub-secret information corresponding to each second target public key; wherein the second target public key includes the initial public key and other second distribution public keys except the last second distribution public key.

[0040] In combination with the fifth possible implementation of the first aspect, the embodiment of the present application provides a sixth possible implementation of the first aspect, wherein the determining the secret information according to the sub-secret information corresponding to each second target public key includes:

[0041] The receiving user terminal concatenates the sub-secret information according to the arrangement order of the sub-secret information to obtain the binary sequence;

[0042] The binary sequence is converted into the encrypted ciphertext, and the encrypted ciphertext is decrypted using the symmetric key to obtain the secret information.

[0043] In a second aspect, an embodiment of the present application further provides a covert transmission system for secret information, wherein a sender and a receiver of the secret information have previously agreed on an initial public key; the system includes a user terminal of the sender and a user terminal of the receiver;

[0044] The sender's end is used to:

[0045] Determine the number of batch transmissions of the secret information, and split the secret information into sub-secret information arranged in sequence for the number of batch transmissions;

[0046] Convert the initial public key into a corresponding first Ethereum sending address and a second hash value string, and embed the first sub-secret information into the second hash value string to obtain the first hidden sub-secret information corresponding to the initial public key;

[0047] According to the initial public key and the first hidden sub-secret information corresponding to the initial public key, derive the first derived public keys with the batch transmission times in sequence, and for each of the first derived public keys, convert the first derived public key into the corresponding first Ethereum sending address and a second hash value string, and embed the sub-secret information corresponding to the first derived public key into the second hash value string to obtain the first hidden sub-secret information corresponding to the derived public key, and determine the first Ethereum sending address corresponding to the first derived public key as the first Ethereum receiving address of the previous public key of the first derived public key;

[0048] For each first target public key, the first Ethereum sending address and the first Ethereum receiving address corresponding to the first target public key are packaged into an ordinary transaction on Ethereum, and the ordinary transaction is sent to the Ethereum blockchain; wherein each of the first Ethereum receiving addresses hides one of the sub-secret information; the first target public key includes the initial public key and other first derived public keys except the last first derived public key;

[0049] The receiving party's user terminal is used for:

[0050] The second Ethereum receiving address for the batch transmission number is derived based on the initial public key, and each of the sub-secret information is derived based on the difference between the second Ethereum receiving address and the first Ethereum receiving address to obtain the secret information.

[0051] In combination with the second aspect, an embodiment of the present application provides a first possible implementation of the second aspect, wherein the sender and the receiver also pre-secretly agree on a symmetric key and a hidden information embedding algorithm; when the user end of the sender is used to determine the number of batch transmissions of the secret information and split the secret information into sub-secret information arranged in sequence according to the number of batch transmissions, it is specifically used to:

[0052] Encrypt the secret information using the symmetric key to obtain an encrypted ciphertext;

[0053] Performing binary conversion on the encrypted ciphertext to obtain a binary sequence for representing the secret information;

[0054] Determining the number of batch transmissions of the secret information according to the length of the binary sequence used to represent the secret information and the secret information transmission length specified by the secret information embedding algorithm;

[0055] According to the number of batch transmissions, the binary sequence is evenly divided into the number of sequentially arranged sub-binary sequences, and the sequentially arranged sub-binary sequences are used as sequentially arranged sub-secret information.

[0056] In combination with the first possible implementation of the second aspect, an embodiment of the present application provides a second possible implementation of the second aspect, wherein the sender and the receiver also pre-secretly agree on a hidden key of the hidden information embedding algorithm; the sender's user end is used to convert the initial public key into the corresponding first Ethereum sending address and the second hash value string, and embed the first sub-secret information into the second hash value string to obtain the first hidden sub-secret information corresponding to the initial public key, specifically used for:

[0057] Converting the initial public key into a first hash value corresponding to the initial public key through an encrypted hash function;

[0058] intercepting the last first number of bytes of the first hash value to obtain the first hash value string corresponding to the initial public key, and processing the first hash value string to obtain the first Ethereum sending address corresponding to the initial public key, and intercepting the first second number of bytes of the first hash value to obtain the second hash value string corresponding to the initial public key;

[0059] The second hash value string corresponding to the initial public key, the first sub-secret information, and the hidden key are concatenated through the hidden information embedding algorithm to obtain the first hidden sub-secret information corresponding to the initial public key.

[0060] The embodiments of the present application provide a method and system for covert transmission of secret information. The sender only needs to generate the required second hash value string based on the initial public key once to match the secret information. There is no need to generate a large number of addresses multiple times to match the secret information. Therefore, the secret information can be embedded quickly and has a higher embedding capacity, and there is no need to negotiate the message start identifier for each communication.

[0061] In order to make the above-mentioned objects, features and advantages of the present application more obvious and easy to understand, preferred embodiments are specifically cited below and described in detail with reference to the attached drawings. BRIEF DESCRIPTION OF THE DRAWINGS

[0062] In order to more clearly illustrate the technical solutions of the embodiments of the present application, the drawings required for use in the embodiments will be briefly introduced below. It should be understood that the following drawings only show certain embodiments of the present application and therefore should not be regarded as limiting the scope. For ordinary technicians in this field, other related drawings can be obtained based on these drawings without paying creative work.

[0063] Figure 1 A schematic diagram showing a process of embedding secret information in a BLOCCE system provided by an embodiment of the present application is shown;

[0064] Figure 2A flow chart showing a method for covert transmission of secret information provided by an embodiment of the present application is shown;

[0065] Figure 3 A schematic diagram showing a process of a sender obtaining a first Ethereum receiving address provided by an embodiment of the present application;

[0066] Figure 4 A schematic diagram showing a process for a receiver to infer various sub-secret information provided by an embodiment of the present application is shown. DETAILED DESCRIPTION

[0067] To make the purpose, technical scheme and advantages of the embodiments of the present application clearer, the technical scheme in the embodiments of the present application will be clearly and completely described below in conjunction with the drawings in the embodiments of the present application. Obviously, the described embodiments are only part of the embodiments of the present application, rather than all of the embodiments. The components of the embodiments of the present application generally described and shown in the drawings here can be arranged and designed in various different configurations. Therefore, the following detailed description of the embodiments of the present application provided in the drawings is not intended to limit the scope of the application claimed for protection, but merely represents the selected embodiments of the present application. Based on the embodiments of the present application, all other embodiments obtained by those skilled in the art without making creative work belong to the scope of protection of the present application.

[0068] For example, in the BLOOCE scheme, when Alice wants to transmit a message directly to Bob, she needs to send this content to the entire network, which is far from the need for covert communication itself. To address this problem, the BLOCCE system has designed a method to embed messages in the transaction addresses of transactions sent by Alice to hide the secret messages that need to be transmitted. According to the data embedding method of the BLOCCE system, when Alice submits a transaction to send money to herself, as the recipient of the transaction, Alice needs to generate a new public / private key pair (pki, ski) and calculate the payment address addri = IHash (pki) through an ideal hash function. Alice found that although she could not control the address generated by the ideal hash function, the least significant bit (LSB) of addri has a 1 / 2 probability of being 0 or 1, that is, the secret message m can be represented in a bit sequence, and the last bit of the blockchain address can be continuously generated to match the secret message m, and the transaction addresses with the same least significant bit are used to form m in order, and submitted to the blockchain in sequence. Bob only needs to continuously scan all transactions submitted by Alice in the blockchain network and extract the least significant bits of the transaction receiving addresses one by one to reconstruct the message m that Alice wants to send.

[0069] like Figure 1 As shown, Figure 1In the example of Alice sending message 101 to Bob, the embedding process is explained. Alice first segments the message into three bits: 1.0, 1. In order to send the first bit, Alice needs to generate a public key whose least significant bit of the address after hash operation is 1. Then, the time required for the transaction, the transaction amount, the digital signature and this address are generated to form a complete transaction sent to herself, and it is submitted to the blockchain network. After waiting for this transaction to be stored in a new block, the transaction with the least significant bits of the address being 0 and 1 is submitted to the next two blocks in the same way to complete the message sending.

[0070] To achieve the above secure communication process, there are two additional conditions. First, how does the sender identify the message to be hidden from the ordinary transaction, that is, how does the receiver determine the beginning of the message. The BLOCCE system adds a λ agreed upon by both parties in advance as the message start identifier before the secret message. When the receiver scans the transaction submitted by the sender, it can be considered that the subsequent N-nλ bits are the message that the sender actually wants to transmit. Among them, nλ represents the length of the message start identifier, and N is the total length of the embedded message agreed upon by both parties in advance. Second, if the attacker knows such an embedding method, how can the message sent in plain text ensure security? The BLOCCE system uses a symmetric encryption algorithm with ciphertext indistinguishability to encrypt the plaintext message. Both parties also need to agree on the encryption key k in advance. In this way, the message will be embedded in the least significant bit of the transaction address in ciphertext.

[0071] There are two obvious problems with the BLOCCE system. First, the sender needs to generate account addresses multiple times until a satisfactory account is obtained. In addition, each block has at most 1 bit embedded, which brings serious communication inefficiency. In addition, each communication process needs to negotiate a message start identifier in advance. When the communicating parties do not have such conditions, the communication will not be able to continue. Similar to the problems of the above system, in most covert communication models, in order to connect the sender and the receiver through the blockchain account address, the sender needs to generate accounts multiple times until a satisfactory account is obtained. Therefore, a covert communication method is needed that does not require the generation of a large number of addresses to match secret information, can quickly embed secret information, has a high embedding capacity, and does not require the negotiation of identifiers for each communication.

[0072] Taking the above problems into consideration, based on this, an embodiment of the present application provides a method and system for covert transmission of secret information, which can quickly embed secret information without generating a large number of addresses to match the secret information, and has a high embedding capacity and does not require a message start identifier for each communication negotiation. It is described below through an embodiment.

[0073] To facilitate understanding of this embodiment, a method for covert transmission of secret information disclosed in an embodiment of the present application is first described in detail. The sender and the receiver of the secret information have an initial public key in advance; Figure 2 As shown, the covert transmission method of secret information includes the following steps S101-S105:

[0074] S101: The sender determines the number of batch transmissions of the secret information, and splits the secret information into sub-secret information arranged in sequence according to the number of batch transmissions.

[0075] In this embodiment, the covert transmission method of secret information is divided into three processes, namely: pre-negotiation before communication, secret information processing and embedding, and secret information extraction and recovery.

[0076] In the pre-negotiation phase before communication, the sender and the receiver have a confidential agreement on the initial public key PK 0 , Symmetric Key 0 And hidden information embedding algorithm. Among them, the initial public key PK 0 It is based on the sender's initial private key SK 0 Determined, therefore, the initial public key PK 0 Is the public key belonging to the sender.

[0077] In a possible implementation manner, when the sending user terminal executes step S101, the following steps S1011-S1014 may be specifically performed:

[0078] S1011: The sender's user end uses the symmetric key Key 0 The secret information is encrypted to obtain the encrypted ciphertext.

[0079] S1012: Perform binary conversion on the encrypted ciphertext to obtain a binary sequence for representing secret information.

[0080] S1013: Determine the number of times the secret information is transmitted in batches according to the length of the binary sequence used to represent the secret information and the secret information transmission length specified by the secret information embedding algorithm.

[0081] S1014: According to the number of batch transmissions, the binary sequence is evenly divided into sub-binary sequences arranged in sequence for the number of batch transmissions, and the sub-binary sequences arranged in sequence are used as sub-secret information arranged in sequence.

[0082] For example, assuming that the binary sequence of the secret information is 0100000101111001, which has 16 bits in total, if the secret information transmission length specified by the secret information embedding algorithm (i.e., the single transmission length of the secret information) is 4 bits, then the number of batch transmissions of the secret information is 4. At this time, the 16-bit binary sequence is split into 4 sub-secret information arranged in sequence, which are: 0100, 0001, 0111, 1001.

[0083] S102: Convert the initial public key into the corresponding first Ethereum sending address and a second hash value string, and embed the first sub-secret information into the second hash value string to obtain the first hidden sub-secret information corresponding to the initial public key.

[0084] In a possible implementation, during the secret information processing and embedding phase, the sender and the receiver also pre-secretly agree on a hidden key Key for the hidden information embedding algorithm. 1 When executing step S102, Figure 3 As shown, the following steps S1021-S1023 may be performed:

[0085] S1021: Initial public key PK 0 The first hash value PK corresponding to the initial public key is converted into the encrypted hash function (Keccak-256 algorithm) 0 _Hash.

[0086] In this embodiment, if Figure 3 As shown, according to the sender's own initial private key SK 0 , calculate the sender's initial public key PK 0 , the initial public key PK 0 The initial public key that the sender and receiver of the secret information have agreed upon in advance. The first hash value PK 0 _Hash is a 256-bit hash value.

[0087] S1022: intercepting the last first number of bytes in the first hash value to obtain a first hash value string corresponding to the initial public key, and processing the first hash value string to obtain a first Ethereum sending address corresponding to the initial public key, and intercepting the first second number of bytes in the first hash value to obtain a second hash value string corresponding to the initial public key.

[0088] In this embodiment, if Figure 3 As shown, assuming that the first number is equal to 20, at this time, the first hash value PK is intercepted 0 _The last 20 bytes in Hash, get the first hash value string PK 0 _Hash 1 , by the first hash value string PK 0 _Hash1 Add checksum and formatting to get the initial public key PK 0 The corresponding first Ethereum sending address Address 0 Each byte contains 8 digits, so the first hash value string PK 0 _Hash 1 and the first Ethereum sending address Address 0 Contains 20×8=160 digits.

[0089] Assuming the second number is equal to 12 bytes, intercept the first hash value PK 0 _The first 12 bytes in Hash, get the initial public key PK 0 The corresponding second hash value string PK 0 _Hash 0 In this example, the second hash value string PK 0 _Hash 0 Contains 12×8=96 digits.

[0090] S1023: Concatenate the second hash value string corresponding to the initial public key, the first sub-secret information, and the hidden key through a hidden information embedding algorithm to obtain the first hidden sub-secret information corresponding to the initial public key.

[0091] In this embodiment, the second hash value string PK 0 _Hash 0 It is a binary sequence consisting of 0 and 1. Calculate the second hash value string PK 0 _Hash 0 Count the number of 1s in the number and determine whether it is odd or even.

[0092] If the first sub-secret information b 0 The first value is 0, and the second hash value string PK 0 _Hash 0 The number of 1s in is even (or, if the first sub-secret information b 0 The first value is 1, and the second hash value string PK 0 _Hash 0 is an odd number), then the second hash value string PK 0 _Hash 0 , the first sub-secret information b 0 Other values ​​except the first value, and the hidden key Key 1 Splice and get the initial public key PK 0 The corresponding first hidden sub-secret information K 0 .

[0093] For example, if the first sub-secret information b 0 is 0100, and the second hash value string PK 0 _Hash 0 If the number of 1s is even, then PK 0 _Hash 0 +100+Key 1 As the initial public key PK 0 The corresponding first hidden sub-secret information K 0 Among them, the second hash value string PK 0 _Hash 0 is a 96-digit number, the first sub-secret information b 0 Except for the first value, the other values ​​have a total of 3 digits, the hidden key Key 1 is a 157-digit number, then the first hidden sub-secret information K 0 It is 96+3+157=256 bit number.

[0094] If the first sub-secret information b 0 The first value is 0, and the second hash value string PK 0 _Hash 0 The number of 1s in is odd (or, if the first sub-secret information b 0 The first value is 1, and the second hash value string PK 0 _Hash 0 The number of 1s in the string is even), then the second hash value string PK 0 _Hash 0 Input into the lowbit function to get lowbit(PK 0 _Hash 0 ), and then calculate PK 0 _Hash 0 -lowbit(PK 0 _Hash 0 ), PK 0 _Hash 0 -lowbit(PK 0 _Hash 0 ) is assigned to the second hash value string PK 0 _Hash 0 At this time, the second hash value string PK after assignment 0 _Hash 0 The number of 1s contained in is an even number. In this case, the second hash value string PK after assignment is 0 _Hash 0 , the first sub-secret information b 0 Other values ​​except the first value, and the hidden key Key1 Splice and obtain the first hidden sub-secret information K corresponding to the initial public key 0 .

[0095] S103: According to the initial public key and the first hidden sub-secret information corresponding to the initial public key, derive the first derived public keys with a batch transmission number and a sequence, and for each first derived public key, convert the first derived public key into the corresponding first Ethereum sending address and a second hash value string, and embed the sub-secret information corresponding to the first derived public key into the second hash value string to obtain the first hidden sub-secret information corresponding to the derived public key, and determine the first Ethereum sending address corresponding to the first derived public key as the first Ethereum receiving address of the previous public key of the first derived public key.

[0096] In this embodiment, when the first derived public key is the first derived public key, the previous public key of the first derived public key is the initial public key; when the first derived public key is not the first derived public key, the previous public key of the first derived public key is the derived public key.

[0097] In a possible implementation manner, when executing step S103, the following steps S1031-S1032 may be specifically performed:

[0098] S1031: When deriving the first derived public key, derive the first first derived public key according to the initial public key and the first hidden sub-secret information corresponding to the initial public key, and convert the first first derived public key into the first Ethereum sending address and the second hash value string corresponding to the first first derived public key, and embed the sub-secret information corresponding to the first first derived public key into the second hash value string to obtain the first hidden sub-secret information corresponding to the first first derived public key, and determine the first Ethereum sending address corresponding to the first first derived public key as the first Ethereum receiving address of the initial public key.

[0099] In this embodiment, if Figure 3 As shown, when deriving the first derived public key PK 1 When the initial public key PK 0 The first hidden sub-secret information K corresponding to the initial public key 0 Perform multiplication on the elliptic curve to derive the first derived public key PK 1 . The first derived public key PK 1 Converted into the first derived public key PK 1 The corresponding first hash value PK 1 _Hash.

[0100] Intercept the first hash value PK 1 _Hash's last number (e.g., last 20) bytes to get the first derived public key PK1 The corresponding first hash value string PK 1 _Hash 1 and process the first hash value string PK by adding a checksum and formatting 1 _Hash 1 Process and obtain the first derived public key PK 1 The corresponding first Ethereum sending address Address 1 , and also sends the first Ethereum address to Address 1 As the initial public key PK 0 The corresponding first Ethereum receiving address.

[0101] And intercept the first hash value PK 1 _Hash first second number (for example, the first 12) bytes, get the first first derived public key PK 1 The corresponding second hash value string PK 1 _Hash 0 . The first derived public key PK 1 The corresponding sub-secret information b 1 Embedded into the second hash value string PK 1 _Hash 0 The first derived public key PK is obtained 1 The corresponding first hidden sub-secret information K 1 .

[0102] Specifically, the first derived public key PK 1 The corresponding sub-secret information b 1 Embedded into the second hash value string PK 1 _Hash 0 The specific process is:

[0103] If the first derived public key PK 1 The corresponding sub-secret information b 1 The first value is 0, and the second hash value string PK 1 _Hash 0 The number of 1s in is even (or, if the sub-secret information b 1 The first value is 1, and the second hash value string PK 1 _Hash 0 is an odd number), then the second hash value string PK 1 _Hash 0 , Sub-secret information b 1 Other values ​​except the first value, and the hidden key Key 1 Splice and get the first derived public key PK1 The corresponding first hidden sub-secret information K 1 .

[0104] If the first derived public key PK 1 The corresponding sub-secret information b 1 The first value is 0, and the second hash value string PK 1 _Hash 0 The number of 1s in is an odd number (or, if the sub-secret information b 1 The first value is 1, and the second hash value string PK 1 _Hash 0 The number of 1s in the string is even), then the second hash value string PK 1 _Hash 0 Input into the lowbit function to get lowbit(PK 1 _Hash 0 ), and then calculate PK 1 _Hash 0 -lowbit(PK 1 _Hash 0 ), PK 1 _Hash 0 -lowbit(PK 1 _Hash 0 ) is assigned to the second hash value string PK 1 _Hash 0 At this time, the second hash value string PK after assignment 1 _Hash 0 The number of 1s contained in is an even number. In this case, the second hash value string PK after assignment is 1 _Hash 0 , Sub-secret information b 1 Other values ​​except the first value, and the hidden key Key 1 Splice and get the first derived public key PK 1 The corresponding first hidden sub-secret information K 1 .

[0105] S1032: When deriving a non-first first derived public key, derive the non-first first derived public key according to the previous first derived public key of the non-first first derived public key and the first hidden sub-secret information corresponding to the previous first derived public key, and convert the non-first first derived public key into a first Ethereum sending address and a second hash value string corresponding to the non-first first derived public key, embed the sub-secret information corresponding to the non-first first derived public key into the second hash value string, obtain the first hidden sub-secret information corresponding to the non-first first derived public key, and determine the first Ethereum sending address corresponding to the non-first first derived public key as the first Ethereum receiving address corresponding to the previous first derived public key.

[0106] In this embodiment, the non-first first derived public key PK 2 For example, when deriving the non-first derived public key PK 2 When the first derived public key PK 1 (This non-first derived public key PK 2 The first derived public key PK 1 The corresponding first hidden sub-secret information K 1 (The first hidden sub-secret information corresponding to the previous first derived public key) is multiplied on the elliptic curve to obtain the non-first first derived public key PK 2 .

[0107] And, the non-first first derived public key PK 2 Convert to the non-first derived public key PK 2 The corresponding first hash value PK 2 _Hash. Intercept the first hash value PK 2 _Hash the last number (for example, the last 20) bytes to get the first hash value string PK 2 _Hash 1 . And by adding the checksum and formatting the first hash value string PK 2 _Hash 1 Processing is performed to obtain the first derived public key PK 2 The corresponding first Ethereum sending address Adress 2 , and also send the first Ethereum address Adress 2 As the first derived public key PK 1 (The first derived public key PK 2 The first Ethereum receiving address corresponding to the previous first derived public key).

[0108] And intercept the first distributed public key PK 2 The corresponding first hash value PK 2_Hash first second number (for example, the first 12) bytes, get the first distribution public key PK 2 The corresponding second hash value string PK 2 _Hash 0 . The first derived public key PK 2 The corresponding sub-secret information b 2 Embedded into the second hash value string PK 2 _Hash 0 The first derived public key PK is obtained 2 The corresponding first hidden sub-secret information K 2 .

[0109] S104: For each first target public key, the first Ethereum sending address and the first Ethereum receiving address corresponding to the first target public key are packaged into an ordinary transaction on Ethereum, and the ordinary transaction is sent to the Ethereum blockchain; wherein each first Ethereum receiving address hides a sub-secret information; the first target public key includes an initial public key and other first derived public keys except the last first derived public key.

[0110] In this embodiment, if the number of batch transmissions of the secret information is 3, then three first distribution public keys need to be distributed, namely PK 1 ,PK 2 ,PK 3 , and distribute the first distribution public key PK 1 ,PK 2 The first Ethereum sending address and the first Ethereum receiving address corresponding to each other. Plus the initial public key PK 0 Corresponding to the first Ethereum sending address and the first Ethereum receiving address, there are three sets of first Ethereum sending addresses and first Ethereum receiving addresses.

[0111] In this example, the first distribution public key PK 3 It is the last first derived public key. The first target public key includes: initial public key PK 0 , first distribute the public key PK 1 , first distribute the public key PK 2 .

[0112] In this embodiment, the sender and receiver of the secret information are both users of the Ethereum blockchain.

[0113] In a possible implementation manner, when the sending user terminal executes step S104, the following steps S1041-S1042 may be specifically performed:

[0114] S1041: For each first target public key, the first Ethereum sending address and the first Ethereum receiving address corresponding to the first target public key, and a preset amount of virtual currency are packaged into an ordinary transaction on Ethereum; wherein the Ethereum sending address and the Ethereum receiving address corresponding to each first target public key are different Ethereum accounts of the sender.

[0115] In this embodiment, if Figure 3 As shown, with the first target public key (initial public key PK 0 ) as an example, the first target public key PK 0 The corresponding first Ethereum sending address and the first Ethereum receiving address, as well as the preset virtual currency amount, are packaged into an ordinary transaction on Ethereum (transaction 0).

[0116] S1042: Determine the sending order of each ordinary transaction according to the order of each first target public key, and send each ordinary transaction to the Ethereum blockchain in sequence based on the sending order of each ordinary transaction.

[0117] It is worth noting that the initial public key PK 0 It is based on the sender's private key SK 0 Determined, therefore, based on the initial public key PK 0 The first Ethereum sending address and the first Ethereum receiving address corresponding to each determined first target public key are different Ethereum accounts of the sender on the Ethereum blockchain.

[0118] In this embodiment, since the first Ethereum sending address and the first Ethereum receiving address are different Ethereum accounts of the sender on the Ethereum blockchain, after the sender's user terminal sends each ordinary transaction to the Ethereum blockchain, the amount of virtual currency in each ordinary transaction is actually transferred from one Ethereum account of the sender (the Ethereum account corresponding to the first Ethereum sending address) to another Ethereum account of the sender (the Ethereum account corresponding to the first Ethereum receiving address). In other words, the sender and the receiver in this embodiment have no transaction behavior on the Ethereum blockchain, and the sender itself has no behavior of exchanging virtual currency for real currency or material.

[0119] S105: The receiver derives a second Ethereum receiving address for the batch transmission times based on the initial public key, and derives each sub-secret information based on the difference between the second Ethereum receiving address and the first Ethereum receiving address to obtain the secret information.

[0120] In this embodiment, after the sender hides the secret information in each first Ethereum receiving address, in the secret information extraction and recovery stage, the receiver derives the second Ethereum receiving address for batch transmission based on the initial public key, and derives each sub-secret information based on the difference between the second Ethereum receiving address and the first Ethereum receiving address, and splices each sub-secret information to obtain the secret information.

[0121] In a possible implementation manner, when the receiving user terminal executes step S105, the following steps S1051-S1059 may be specifically performed:

[0122] S1051: The receiving user terminal converts the initial public key into the corresponding second Ethereum sending address and fourth hash value string, and embeds the first inferred sub-secret information into the fourth hash value string to obtain the second inferred hidden sub-secret information corresponding to the inferred initial public key; wherein the second Ethereum sending address and the fourth hash value string corresponding to the initial public key are the same as the first Ethereum sending address and the fourth hash value string corresponding to the initial public key.

[0123] In this embodiment, if Figure 4 As shown, the receiving user sends the initial public key PK 0 Converted into the initial public key PK through the encrypted hash function 0 The corresponding second hash value PK 0 _Hash', intercept the second hash value PK 0 _Hash', the last number (e.g., the last 20) bytes, to get the initial public key PK 0 The corresponding third hash value string PK 0 _Hash 1 ' and by adding a checksum and formatting the third hash value string PK 0 _Hash 1 'Process and obtain the initial public key PK 0 Second Ethereum sending address Adress 0 '. Among them, the initial public key PK 0 Second Ethereum sending address Adress 0 'With the initial public key PK 0 The first Ethereum sending address Adress 0 same.

[0124] At the same time, the second hash value PK is intercepted 0 The first second number (e.g., first 12) bytes in _Hash' are used to obtain the initial public key PK 0 The corresponding fourth hash value string PK 0 _Hash 0'. Among them, the initial public key PK 0 The fourth hash value string PK 0 _Hash 0 'With the initial public key PK 0 The second hash value string PK 0 _Hash 0 same.

[0125] In guessing the first sub-secret information b 0 In the process of 0 Embedded into the fourth hash value string PK 0 _Hash 0 ', get the inferred initial public key PK 0 The corresponding second inferred hidden sub-secret information K 0 '.

[0126] In this embodiment, the first inferred sub-secret information c 0 is the first sub-secret information currently inferred. 0 Embedded into the fourth hash value string PK 0 _Hash 0 ', specifically:

[0127] If the first inferred sub-secret information c 0 The first value is 0, and the fourth hash value string PK 0 _Hash 0 ' is an even number (or, if the first inferred sub-secret information c 0 The first value is 1, and the fourth hash value string PK 0 _Hash 0 ' is an odd number), then the fourth hash value string PK 0 _Hash 0 ', the first inferred sub-secret information c 0 Other values ​​except the first value, and the hidden key Key 1 Splice and get the initial public key PK 0 The corresponding second inferred hidden sub-secret information K 0 '.

[0128] If the first inferred sub-secret information c 0 The first value is 0, and the fourth hash value string PK 0 _Hash 0 ' is an odd number of 1s (or if the first sub-secret information c 0 The first value is 1, and the fourth hash value string PK 0 _Hash0 'The number of 1s in is an even number), then the fourth hash value string PK 0 _Hash 0 'Input into the lowbit function to get lowbit(PK 0 _Hash 0 '), then calculate PK 0 _Hash 0 '-lowbit(PK 0 _Hash 0 '), PK 0 _Hash 0 '-lowbit(PK 0 _Hash 0 ') is assigned to the fourth hash value string PK 0 _Hash 0 '. At this time, the fourth hash value string PK after assignment 0 _Hash 0 ' contains an even number of 1s. In this case, the fourth hash value string PK after the assignment is 0 _Hash 0 ', the first sub-secret information c 0 Other values ​​except the first value, and the hidden key Key 1 Splice and obtain the second inferred hidden sub-secret information K corresponding to the initial public key 0 '.

[0129] S1052: Determine a first second inferred derived public key based on the initial public key and the second inferred hidden sub-secret information corresponding to the initial public key, and convert the first second inferred derived public key into a second inferred Ethereum sending address corresponding to the first second inferred derived public key.

[0130] In this embodiment, the initial public key PK 0 The second estimated hidden sub-secret information K corresponding to the initial public key 0 'Perform multiplication on the elliptic curve to obtain the first second inferred derived public key PK 1 '.

[0131] The first second guess derived public key PK 1 'Converted into the first second guessed derived public key PK through the cryptographic hash function (Keccak-256 algorithm) 1 'The corresponding second hash value PK 1 _Hash', intercept the second hash value PK 1 _Hash', the first number (e.g., the last 20) bytes, to obtain the third hash value string PK 1 _Hash1 ', and add a checksum and formatting to the third hash value string PK 1 _Hash 1 'Process and obtain the first second inferred derived public key PK 1 'The corresponding second speculated Ethereum sending address Adress 1 '.

[0132] S1053: According to the second Ethereum sending address corresponding to the initial public key, the first Ethereum receiving address corresponding to the initial public key is queried, and the queried first Ethereum receiving address is determined as the second Ethereum sending address of the first second distributed public key.

[0133] In this embodiment, since the initial public key PK 0 The corresponding second Ethereum sending address Adress 0 'With the initial public key PK 0 The corresponding first Ethereum sending address Adress 0 The same, therefore, according to the initial public key PK 0 The corresponding second Ethereum sending address Adress 0 '(That is, according to the initial public key PK 0 The corresponding first Ethereum sending address Adress 0 ) can query the initial public key PK 0 The corresponding first Ethereum receiving address Adress 1 , the first Ethereum receiving address found is Adress 1 Determined as the first second distributed public key PK 1 'The second Ethereum sending address.

[0134] S1054: Adjust the first inferred sub-secret information according to the difference between the second Ethereum sending address of the first second distribution public key and the second inferred Ethereum sending address corresponding to the first second inferred derived public key, so as to obtain the correct first sub-secret information, the second hidden sub-secret information corresponding to the initial public key, and the first second distribution public key when the second inferred Ethereum sending address corresponding to the first second inferred derived public key is consistent with the second Ethereum sending address of the first second distribution public key.

[0135] In this embodiment, if the first inferred sub-secret information c 0 With the correct first sub-secret information b 0 The same, then, the first second distribution public key PK inferred above 1 'Should be the correct first distribution public key PK 1 The same, at the same time the first second inferred derived public key PK obtained above 1'The corresponding second speculated Ethereum sending address Adress 1 'With the first second distributed public key PK found 1 'Second Ethereum sending address Adress 1 Should be the same.

[0136] If the first second distributed public key PK 1 'Second Ethereum sending address Adress 1 The second inferred Ethereum sending address corresponding to the first second inferred derived public key Adress 1 ' is different, it means that the first inferred sub-secret information c 0 The guess is wrong. At this time, you can send the address Adress according to the second Ethereum that distributed the public key. 1 The second inferred Ethereum sending address corresponding to the first second inferred derived public key Adress 1 ', adjust the first inferred sub-secret information c 0 , re-determine the first second distribution public key PK 1 'And the second speculated Ethereum sending address Adress 1 ', until the first second guess derives the public key PK 1 'The corresponding second speculated Ethereum sending address Adress 1 'With the first second distribution public key PK 1 'Second Ethereum sending address Adress 1 When they are consistent, it means the current first inferred sub-secret information c 0 is the correct first sub-secret information (b 0 ). According to the correct first sub-secret information (b 0 ) can infer the initial public key PK 0 The corresponding correct second hidden sub-secret information K 0 ', and the correct first second distribution public key PK 1 '.

[0137] S1055: For each second distribution public key, after determining the correct second distribution public key, convert the correct second distribution public key into the corresponding second Ethereum sending address and a fourth hash value string, and embed the inferred sub-secret information corresponding to the second distribution public key into the fourth hash value string to obtain the second inferred hidden sub-secret information corresponding to the second distribution public key.

[0138] In this embodiment, the second distribution public key PK 1 ' Take this as an example to explain, and then deduce the correct second distribution public key PK 1 'After that, the correct second distribution public key PK 1'Converted into the corresponding second hash value PK through the encrypted hash function (Keccak-256 algorithm) 1 _Hash', intercept the second hash value PK 1 _Hash', the last number (e.g., the last 20) bytes, to obtain the third hash value string PK 1 _Hash 1 ' and format the first hash value PK by adding a checksum and 1 _Hash 1 'The string is processed to obtain the second distribution public key PK 1 'The corresponding second Ethereum sending address Address 1 '.

[0139] And intercept the second hash value PK 1 _Hash' first second number (for example, the first 12) bytes, to obtain the second distribution public key PK 1 'The corresponding fourth hash value string PK 1 _Hash 0 '.

[0140] At this time, the second public key PK is estimated by the hidden information embedding algorithm. 1 'The corresponding inferred sub-secret information c 1 Embedded into the fourth hash value string PK 1 _Hash 0 ', get the second distribution public key PK 1 'The corresponding second inferred hidden sub-secret information K 1 '.

[0141] In this embodiment, the sub-secret information c is inferred 1 Embedded into the fourth hash value string PK 1 _Hash 0 The process in ' can refer to step S1051 in which the first inferred sub-secret information c 0 Embedded into the fourth hash value string PK 0 _Hash 0 The process in ' is not repeated here in this application.

[0142] S1056: Determine the next second speculated distribution public key of the correct second distribution public key based on the second distributed public key and the second speculated hidden sub-secret information corresponding to the second distributed public key, and convert the second speculated derived public key into a second speculated Ethereum sending address corresponding to the second speculated derived public key.

[0143] Following the above content, Figure 4 As shown, the second public key PK 1'The second estimated hidden information K corresponding to the second distributed public key 1 'Perform multiplication on the elliptic curve to obtain the inferred second inferred distribution public key PK 2 '. The second inferred derived public key PK 2 'Converted into the corresponding second hash value PK through the encrypted hash function (Keccak-256 algorithm) 2 _Hash'. Intercept the second hash value PK 2 _Hash' after the first number of bytes, get the second inferred derived public key PK 2 'The corresponding third hash value string PK 2 _Hash 1 ' and by adding a checksum and formatting the third hash value string PK 2 _Hash 1 'Process and obtain the second inferred derived public key PK 2 'The corresponding second speculated Ethereum sending address Address 2 '.

[0144] S1057: According to the second Ethereum sending address corresponding to the correct second distribution public key, the first Ethereum receiving address corresponding to the first distribution public key that is the same as the correct second distribution public key is queried, and the queried first Ethereum receiving address is determined as the second Ethereum sending address of the next second distribution public key of the correct second distribution public key.

[0145] In this embodiment, if Figure 4 As shown, according to the correct second distribution public key PK 1 'The corresponding second Ethereum sending address Address 1 ', query the correct second distribution public key PK 1 'The same first distributed public key PK 1 The corresponding first Ethereum receiving address Address 2 , and the first Ethereum receiving address found is Address 2 Determine the second distributed public key PK 2 'The second Ethereum sending address.

[0146] S1058: According to the difference between the second Ethereum sending address of the next second distribution public key of the correct second distribution public key and the second inferred Ethereum sending address corresponding to the next second inferred derived public key of the correct second distribution public key, adjust the sub-inferred secret information corresponding to the correct second distribution public key, so as to obtain the sub-secret information, the second hidden sub-secret information, and the next second distribution public key corresponding to the correct second distribution public key when the second inferred Ethereum sending address corresponding to the next second inferred derived public key of the correct second distribution public key is consistent with the second Ethereum sending address of the next second distribution public key of the correct second distribution public key; wherein the correct second distribution public key is the same as the first distribution public key with the same arrangement order.

[0147] In this embodiment, if the sub-secret information c is inferred 1 With the correct sub-secret information b 1 The same, then, the second distribution public key PK inferred above 2 'Should be the first distributed public key PK 2 The same, at the same time the second inferred derived public key PK obtained above 2 'The corresponding second speculated Ethereum sending address Address 2 'With the second distributed public key PK 2 Second Ethereum sending address Address 2 Should be the same.

[0148] If the second distributed public key PK 2 Second Ethereum sending address Address 2 and the second conjectured derived public key PK 2 'The corresponding second speculated Ethereum sending address Address 2 ' is different, it means that the sub-secret information c 1 The guess is wrong. At this time, the second public key PK can be used 2 Second Ethereum sending address Address 2 'With the second inferred derived public key PK 2 'The corresponding second speculated Ethereum sending address Address 2 ', adjust the inferred sub-secret information c 1 , redetermine the second distribution public key PK 2 'And the second guess Ethereum sending address Address 2 ', until the second inferred derived public key PK 2 'The corresponding second speculated Ethereum sending address Address 2 'With the second distributed public key PK 2 'The second Ethereum sending address Address2 When they are consistent, it means the current inferred sub-secret information c 1 is the correct sub-secret information (b 1 ). According to the correct sub-secret information (b 1 ) can infer the first second distribution public key PK 1 'The corresponding correct second hidden sub-secret information K 1 ', and the correct second distribution public key PK 2 '.

[0149] In this embodiment, the correct second distributed public key is the same as the first distributed public key in the same arrangement order, for example, the correct second distributed public key PK 1 'With the first distributed public key PK 1 Same; correct second distribution public key PK 2 'With the first distributed public key PK 2 Same; correct second distribution public key PK 3 'With the first distributed public key PK 3 same.

[0150] S1059: After obtaining all the second distributed public keys, determine the secret information according to the sub-secret information corresponding to each second target public key; wherein the second target public key includes the initial public key and other second distributed public keys except the last second distributed public key.

[0151] In this embodiment, assuming that the number of batch transmissions is 3, there are 3 second distribution public keys in total, and the second target distribution public keys include: the initial public key PK 9 'And the second distribution public key PK 1 ' and PK 2 '.

[0152] In this embodiment, the correct second distributed public key PK 1 ', PK 2 ', PK 3 'For the first distribution of public key PK 1 ,PK 2 ,PK 3 The correct sub-secret information c 0 、c 1 、c 2 for b 0 、b 1 、b 2 .

[0153] In a possible implementation manner, when the receiving user terminal executes step S1059, the following steps S10591-S10592 may be specifically performed:

[0154] S10591: The receiving user terminal concatenates the sub-secret information according to the arrangement order of the sub-secret information to obtain a binary sequence;

[0155] S10592: Convert the binary sequence into encrypted ciphertext, and use the symmetric key to decrypt the encrypted ciphertext to obtain the secret information.

[0156] In this embodiment, the receiving user terminal derives all correct second distributed public keys (including PK 1 ', PK 2 ', PK 3 ') and the correct sub-secret information (c 0 、c 1 、c 2 ) After that, according to the order of each second target public key (that is, the order of arrangement of each sub-secret information), the correct sub-secret information corresponding to each second target public key is concatenated to obtain a binary sequence used to represent the secret information. The binary sequence is converted into encrypted ciphertext and encrypted using the symmetric key Key 0 Decrypt the encrypted ciphertext to obtain the secret information.

[0157] Based on the same technical concept, the embodiment of the present application also provides a covert transmission system for secret information, wherein the sender and the receiver of the secret information have an initial public key in advance; the system includes a user terminal of the sender and a user terminal of the receiver;

[0158] The sender's end is used to:

[0159] Determine the number of batch transmissions of the secret information, and split the secret information into sub-secret information arranged in sequence for the number of batch transmissions;

[0160] Convert the initial public key into a corresponding first Ethereum sending address and a second hash value string, and embed the first sub-secret information into the second hash value string to obtain the first hidden sub-secret information corresponding to the initial public key;

[0161] According to the initial public key and the first hidden sub-secret information corresponding to the initial public key, derive the first derived public keys with the batch transmission times in sequence, and for each of the first derived public keys, convert the first derived public key into the corresponding first Ethereum sending address and a second hash value string, and embed the sub-secret information corresponding to the first derived public key into the second hash value string to obtain the first hidden sub-secret information corresponding to the derived public key, and determine the first Ethereum sending address corresponding to the first derived public key as the first Ethereum receiving address of the previous public key of the first derived public key;

[0162] For each first target public key, the first Ethereum sending address and the first Ethereum receiving address corresponding to the first target public key are packaged into an ordinary transaction on Ethereum, and the ordinary transaction is sent to the Ethereum blockchain; wherein each of the first Ethereum receiving addresses hides one of the sub-secret information; the first target public key includes the initial public key and other first derived public keys except the last first derived public key;

[0163] The receiving party's user terminal is used for:

[0164] The second Ethereum receiving address for the batch transmission number is derived based on the initial public key, and each of the sub-secret information is derived based on the difference between the second Ethereum receiving address and the first Ethereum receiving address to obtain the secret information.

[0165] Optionally, the sender and the receiver further pre-secretly agree on a symmetric key and a hidden information embedding algorithm; when the sender's user terminal is used to determine the number of batch transmissions of the secret information and split the secret information into sub-secret information arranged in sequence according to the number of batch transmissions, it is specifically used to:

[0166] Encrypt the secret information using the symmetric key to obtain an encrypted ciphertext;

[0167] Performing binary conversion on the encrypted ciphertext to obtain a binary sequence for representing the secret information;

[0168] Determining the number of batch transmissions of the secret information according to the length of the binary sequence used to represent the secret information and the secret information transmission length specified by the secret information embedding algorithm;

[0169] According to the number of batch transmissions, the binary sequence is evenly divided into the number of sequentially arranged sub-binary sequences, and the sequentially arranged sub-binary sequences are used as sequentially arranged sub-secret information.

[0170] Optionally, the sender and the receiver also pre-secretly agree on a hidden key of the hidden information embedding algorithm; when the user end of the sender is used to convert the initial public key into the corresponding first Ethereum sending address and the second hash value string, and embed the first sub-secret information into the second hash value string to obtain the first hidden sub-secret information corresponding to the initial public key, it is specifically used to:

[0171] Converting the initial public key into a first hash value corresponding to the initial public key through an encrypted hash function;

[0172] intercepting the last first number of bytes of the first hash value to obtain the first hash value string corresponding to the initial public key, and processing the first hash value string to obtain the first Ethereum sending address corresponding to the initial public key, and intercepting the first second number of bytes of the first hash value to obtain the second hash value string corresponding to the initial public key;

[0173] The second hash value string corresponding to the initial public key, the first sub-secret information, and the hidden key are concatenated through the hidden information embedding algorithm to obtain the first hidden sub-secret information corresponding to the initial public key.

[0174] Optionally, if the number of batch transmissions is greater than 1, the user end of the sender is used to derive the first derived public keys with the number of batch transmissions in sequence according to the initial public key and the first hidden sub-secret information corresponding to the initial public key, and for each of the first derived public keys, convert the first derived public key into the corresponding first Ethereum sending address and a second hash value string, and embed the sub-secret information corresponding to the first derived public key into the second hash value string to obtain the first hidden sub-secret information corresponding to the derived public key, and determine the first Ethereum sending address corresponding to the first derived public key as the first Ethereum receiving address of the previous public key of the first derived public key, specifically for:

[0175] When deriving the first derived public key, derive the first first derived public key according to the initial public key and the first hidden sub-secret information corresponding to the initial public key, convert the first first derived public key into the first Ethereum sending address corresponding to the first first derived public key and the second hash value string, embed the sub-secret information corresponding to the first first derived public key into the second hash value string to obtain the first hidden sub-secret information corresponding to the first first derived public key, and determine the first Ethereum sending address corresponding to the first first derived public key as the first Ethereum receiving address of the initial public key;

[0176] When deriving a non-first first derived public key, the non-first first derived public key is derived according to the previous first derived public key of the non-first first derived public key and the first hidden sub-secret information corresponding to the previous first derived public key, and the non-first first derived public key is converted into a first Ethereum sending address corresponding to the non-first first derived public key and a second hash value string, and the sub-secret information corresponding to the non-first first derived public key is embedded into the second hash value string to obtain the first hidden sub-secret information corresponding to the non-first first derived public key, and the first Ethereum sending address corresponding to the non-first first derived public key is determined as the first Ethereum receiving address corresponding to the previous first derived public key.

[0177] Optionally, when the user end of the sender is used to package the first Ethereum sending address and the first Ethereum receiving address corresponding to each first target public key into an ordinary transaction on Ethereum, and send the ordinary transaction to the Ethereum blockchain, it is specifically used to:

[0178] For each first target public key, the first Ethereum sending address and the first Ethereum receiving address corresponding to the first target public key, and a preset amount of virtual currency are packaged into an ordinary transaction on Ethereum; wherein the Ethereum sending address and the Ethereum receiving address corresponding to each first target public key are different Ethereum accounts of the sender respectively;

[0179] According to the order of each of the first target public keys, the sending order of each ordinary transaction is determined, and based on the sending order of each of the ordinary transactions, each of the ordinary transactions is sent to the Ethereum blockchain in sequence.

[0180] Optionally, when the user terminal of the receiving party is used to derive the second Ethereum receiving address of the batch transmission number based on the initial public key, and derive each of the sub-secret information based on the difference between the second Ethereum receiving address and the first Ethereum receiving address to obtain the secret information, it is specifically used to:

[0181] The initial public key is converted into a corresponding second Ethereum sending address and a fourth hash value string, and the first inferred sub-secret information is embedded into the fourth hash value string to obtain the second inferred hidden sub-secret information corresponding to the inferred initial public key; wherein the second Ethereum sending address and the fourth hash value string corresponding to the initial public key are the same as the first Ethereum sending address and the second hash value string corresponding to the initial public key;

[0182] Determine a first second inferred derived public key according to the initial public key and the second inferred hidden sub-secret information corresponding to the initial public key, and convert the first second inferred derived public key into a second inferred Ethereum sending address corresponding to the first second inferred derived public key;

[0183] According to the second Ethereum sending address corresponding to the initial public key, the first Ethereum receiving address corresponding to the initial public key is queried, and the queried first Ethereum receiving address is determined as the second Ethereum sending address of the first second distributed public key;

[0184] According to the difference between the second Ethereum sending address of the first second distributed public key and the second inferred Ethereum sending address corresponding to the first second inferred derived public key, the first inferred sub-secret information is adjusted to obtain the correct first sub-secret information, the second hidden sub-secret information corresponding to the initial public key, and the first second distributed public key when the second inferred Ethereum sending address corresponding to the first second inferred derived public key is consistent with the second Ethereum sending address of the first second distributed public key;

[0185] For each second distributed public key, after determining the correct second distributed public key, convert the correct second distributed public key into the corresponding second Ethereum sending address and a fourth hash value string, and embed the inferred sub-secret information corresponding to the inferred second distributed public key into the fourth hash value string to obtain the second inferred hidden sub-secret information corresponding to the second distributed public key;

[0186] Determine the next second inferred distribution public key of the correct second distribution public key according to the second distribution public key and the second inferred hidden sub-secret information corresponding to the second distribution public key, and convert the second inferred derived public key into a second inferred Ethereum sending address corresponding to the second inferred derived public key;

[0187] According to the second Ethereum sending address corresponding to the correct second distribution public key, the first Ethereum receiving address corresponding to the first distribution public key identical to the correct second distribution public key is queried, and the queried first Ethereum receiving address is determined as the second Ethereum sending address of the next second distribution public key of the correct second distribution public key;

[0188] According to the difference between the second Ethereum sending address of the next second distributed public key of the correct second distributed public key and the second inferred Ethereum sending address corresponding to the next second inferred derived public key of the correct second distributed public key, the sub-inferred secret information corresponding to the correct second distributed public key is adjusted, so that when the second inferred Ethereum sending address corresponding to the next second inferred derived public key of the correct second distributed public key is consistent with the second Ethereum sending address of the next second distributed public key of the correct second distributed public key, the sub-secret information corresponding to the correct second distributed public key, the second hidden sub-secret information, and the next second distributed public key are obtained; wherein the correct second distributed public key is the same as the first distributed public key in the same arrangement order as the first distributed public key;

[0189] After all the second distribution public keys are obtained, the secret information is determined according to the sub-secret information corresponding to each second target public key; wherein the second target public key includes the initial public key and other second distribution public keys except the last second distribution public key.

[0190] Optionally, when the receiving user terminal is used to determine the secret information according to the sub-secret information corresponding to each second target public key, it is specifically used to:

[0191] The receiving user terminal concatenates the sub-secret information according to the arrangement order of the sub-secret information to obtain the binary sequence;

[0192] The binary sequence is converted into the encrypted ciphertext, and the encrypted ciphertext is decrypted using the symmetric key to obtain the secret information.

[0193] Those skilled in the art can clearly understand that, for the convenience and brevity of description, the specific working process of the system described above can refer to the corresponding process in the aforementioned method embodiment, and will not be repeated here.

[0194] In the several embodiments provided in the present application, it should be understood that the disclosed systems and methods can be implemented in other ways. The device embodiments described above are merely schematic. For example, the division of the units is only a logical function division. There may be other division methods in actual implementation. For example, multiple units or components can be combined or integrated into another system, or some features can be ignored or not executed. Another point is that the mutual coupling or direct coupling or communication connection shown or discussed can be through some communication interfaces, and the indirect coupling or communication connection of devices or units can be electrical, mechanical or other forms.

[0195] The units described as separate components may or may not be physically separated, and the components shown as units may or may not be physical units, that is, they may be located in one place or distributed on multiple network units. Some or all of the units may be selected according to actual needs to achieve the purpose of the solution of this embodiment.

[0196] In addition, each functional unit in each embodiment of the present application may be integrated into one processing unit, or each unit may exist physically separately, or two or more units may be integrated into one unit.

[0197] If the functions are implemented in the form of software functional units and sold or used as independent products, they can be stored in a non-volatile computer-readable storage medium that is executable by a processor. Based on this understanding, the technical solution of the present application can essentially be embodied in the form of a software product, or in other words, the part that contributes to the prior art or the part of the technical solution. The computer software product is stored in a storage medium, including several instructions for a computer device (which can be a personal computer, a server, or a network device, etc.) to perform all or part of the steps of the method described in each embodiment of the present application. The aforementioned storage medium includes: various media that can store program codes, such as a USB flash drive, a mobile hard disk, a read-only memory (ROM), a random access memory (RAM), a magnetic disk or an optical disk.

[0198] Finally, it should be noted that the above-described embodiments are only specific implementation methods of the present application, which are used to illustrate the technical solutions of the present application, rather than to limit them. The protection scope of the present application is not limited thereto. Although the present application is described in detail with reference to the above-described embodiments, ordinary technicians in the field should understand that any technician familiar with the technical field can still modify the technical solutions recorded in the above-described embodiments within the technical scope disclosed in the present application, or can easily think of changes, or make equivalent replacements for some of the technical features therein; and these modifications, changes or replacements do not make the essence of the corresponding technical solutions deviate from the spirit and scope of the technical solutions of the embodiments of the present application, and should be included in the protection scope of the present application. Therefore, the protection scope of the present application shall be based on the protection scope of the claims.

Claims

1. A method for covert transmission of secret information, characterized in that: The sender and receiver of the secret information have previously agreed on an initial public key; the method comprises: The sender determines the number of batch transmissions of the secret information, and splits the secret information into sub-secret information arranged in sequence for the number of batch transmissions; Convert the initial public key into a corresponding first Ethereum sending address and a second hash value string, and embed the first sub-secret information into the second hash value string to obtain the first hidden sub-secret information corresponding to the initial public key; According to the initial public key and the first hidden sub-secret information corresponding to the initial public key, derive the first derived public keys with the batch transmission times in sequence, and for each of the first derived public keys, convert the first derived public key into the corresponding first Ethereum sending address and a second hash value string, and embed the sub-secret information corresponding to the first derived public key into the second hash value string to obtain the first hidden sub-secret information corresponding to the derived public key, and determine the first Ethereum sending address corresponding to the first derived public key as the first Ethereum receiving address of the previous public key of the first derived public key; For each first target public key, the first Ethereum sending address and the first Ethereum receiving address corresponding to the first target public key are packaged into an ordinary transaction on Ethereum, and the ordinary transaction is sent to the Ethereum blockchain; wherein each of the first Ethereum receiving addresses hides one of the sub-secret information; the first target public key includes the initial public key and other first derived public keys except the last first derived public key; The receiver derives the second Ethereum receiving address for the batch transmission number based on the initial public key, and derives each of the sub-secret information based on the difference between the second Ethereum receiving address and the first Ethereum receiving address to obtain the secret information.

2. The method according to claim 1, characterized in that: The sender and the receiver also pre-secretly agree on a symmetric key and a hidden information embedding algorithm; the sender determines the number of batch transmissions of the secret information, and splits the secret information into sub-secret information arranged in sequence for the number of batch transmissions, including: The sender's user end encrypts the secret information using the symmetric key to obtain an encrypted ciphertext; Performing binary conversion on the encrypted ciphertext to obtain a binary sequence for representing the secret information; Determining the number of batch transmissions of the secret information according to the length of the binary sequence used to represent the secret information and the secret information transmission length specified by the secret information embedding algorithm; According to the number of batch transmissions, the binary sequence is evenly divided into the number of sequentially arranged sub-binary sequences, and the sequentially arranged sub-binary sequences are used as sequentially arranged sub-secret information.

3. The method according to claim 2, characterized in that: The sender and the receiver also preliminarily agree on a hidden key of the hidden information embedding algorithm; the converting the initial public key into the corresponding first Ethereum sending address and the second hash value string, and embedding the first sub-secret information into the second hash value string to obtain the first hidden sub-secret information corresponding to the initial public key, includes: Converting the initial public key into a first hash value corresponding to the initial public key through an encrypted hash function; intercepting the last first number of bytes of the first hash value to obtain the first hash value string corresponding to the initial public key, and processing the first hash value string to obtain the first Ethereum sending address corresponding to the initial public key, and intercepting the first second number of bytes of the first hash value to obtain the second hash value string corresponding to the initial public key; The second hash value string corresponding to the initial public key, the first sub-secret information, and the hidden key are concatenated through the hidden information embedding algorithm to obtain the first hidden sub-secret information corresponding to the initial public key.

4. The method according to claim 2, characterized in that: If the number of batch transmissions is greater than 1, then according to the initial public key and the first hidden sub-secret information corresponding to the initial public key, derive the first derived public keys with the number of batch transmissions in sequence, and for each of the first derived public keys, convert the first derived public key into a corresponding first Ethereum sending address and a second hash value string, and embed the sub-secret information corresponding to the first derived public key into the second hash value string to obtain the first hidden sub-secret information corresponding to the derived public key, and determine the first Ethereum sending address corresponding to the first derived public key as the first Ethereum receiving address of the previous public key of the first derived public key, including: When deriving the first derived public key, derive the first first derived public key according to the initial public key and the first hidden sub-secret information corresponding to the initial public key, convert the first first derived public key into the first Ethereum sending address corresponding to the first first derived public key and the second hash value string, embed the sub-secret information corresponding to the first first derived public key into the second hash value string to obtain the first hidden sub-secret information corresponding to the first first derived public key, and determine the first Ethereum sending address corresponding to the first first derived public key as the first Ethereum receiving address of the initial public key; When deriving a non-first first derived public key, the non-first first derived public key is derived according to the previous first derived public key of the non-first first derived public key and the first hidden sub-secret information corresponding to the previous first derived public key, and the non-first first derived public key is converted into a first Ethereum sending address corresponding to the non-first first derived public key and a second hash value string, and the sub-secret information corresponding to the non-first first derived public key is embedded into the second hash value string to obtain the first hidden sub-secret information corresponding to the non-first first derived public key, and the first Ethereum sending address corresponding to the non-first first derived public key is determined as the first Ethereum receiving address corresponding to the previous first derived public key.

5. The method according to claim 4, characterized in that: For each first target public key, packaging the first Ethereum sending address and the first Ethereum receiving address corresponding to the first target public key into an ordinary transaction on Ethereum, and sending the ordinary transaction to the Ethereum blockchain, includes: For each first target public key, the first Ethereum sending address and the first Ethereum receiving address corresponding to the first target public key, and a preset amount of virtual currency are packaged into an ordinary transaction on Ethereum; wherein the Ethereum sending address and the Ethereum receiving address corresponding to each first target public key are different Ethereum accounts of the sender respectively; According to the order of each of the first target public keys, the sending order of each ordinary transaction is determined, and based on the sending order of each of the ordinary transactions, each of the ordinary transactions is sent to the Ethereum blockchain in sequence.

6. The method according to claim 4, characterized in that: The receiving party derives the second Ethereum receiving address of the batch transmission number based on the initial public key, and derives each of the sub-secret information based on the difference between the second Ethereum receiving address and the first Ethereum receiving address to obtain the secret information, including: The receiving party's user terminal converts the initial public key into a corresponding second Ethereum sending address and a fourth hash value string, and embeds the first inferred sub-secret information into the fourth hash value string to obtain the inferred second inferred hidden sub-secret information corresponding to the initial public key; wherein the second Ethereum sending address and the fourth hash value string corresponding to the initial public key are the same as the first Ethereum sending address and the second hash value string corresponding to the initial public key; Determine a first second inferred derived public key according to the initial public key and the second inferred hidden sub-secret information corresponding to the initial public key, and convert the first second inferred derived public key into a second inferred Ethereum sending address corresponding to the first second inferred derived public key; According to the second Ethereum sending address corresponding to the initial public key, the first Ethereum receiving address corresponding to the initial public key is queried, and the queried first Ethereum receiving address is determined as the second Ethereum sending address of the first second distributed public key; According to the difference between the second Ethereum sending address of the first second distributed public key and the second inferred Ethereum sending address corresponding to the first second inferred derived public key, the first inferred sub-secret information is adjusted to obtain the correct first sub-secret information, the second hidden sub-secret information corresponding to the initial public key, and the first second distributed public key when the second inferred Ethereum sending address corresponding to the first second inferred derived public key is consistent with the second Ethereum sending address of the first second distributed public key; For each second distributed public key, after determining the correct second distributed public key, convert the correct second distributed public key into the corresponding second Ethereum sending address and a fourth hash value string, and embed the inferred sub-secret information corresponding to the inferred second distributed public key into the fourth hash value string to obtain the second inferred hidden sub-secret information corresponding to the second distributed public key; Determine the next second inferred distribution public key of the correct second distribution public key according to the second distribution public key and the second inferred hidden sub-secret information corresponding to the second distribution public key, and convert the second inferred derived public key into a second inferred Ethereum sending address corresponding to the second inferred derived public key; According to the second Ethereum sending address corresponding to the correct second distribution public key, the first Ethereum receiving address corresponding to the first distribution public key identical to the correct second distribution public key is queried, and the queried first Ethereum receiving address is determined as the second Ethereum sending address of the next second distribution public key of the correct second distribution public key; According to the difference between the second Ethereum sending address of the next second distributed public key of the correct second distributed public key and the second inferred Ethereum sending address corresponding to the next second inferred derived public key of the correct second distributed public key, the sub-inferred secret information corresponding to the correct second distributed public key is adjusted, so that when the second inferred Ethereum sending address corresponding to the next second inferred derived public key of the correct second distributed public key is consistent with the second Ethereum sending address of the next second distributed public key of the correct second distributed public key, the sub-secret information corresponding to the correct second distributed public key, the second hidden sub-secret information, and the next second distributed public key are obtained; wherein the correct second distributed public key is the same as the first distributed public key in the same arrangement order as the first distributed public key; After all the second distribution public keys are obtained, the secret information is determined according to the sub-secret information corresponding to each second target public key; wherein the second target public key includes the initial public key and other second distribution public keys except the last second distribution public key.

7. The method according to claim 6, characterized in that: The determining of the secret information according to the sub-secret information corresponding to each second target public key includes: The receiving user terminal concatenates the sub-secret information according to the arrangement order of the sub-secret information to obtain the binary sequence; The binary sequence is converted into the encrypted ciphertext, and the encrypted ciphertext is decrypted using the symmetric key to obtain the secret information.

8. A covert transmission system for secret information, characterized in that: The sender and the receiver of the secret information have previously agreed on an initial public key; the system includes a user terminal of the sender and a user terminal of the receiver; The sender's end is used to: Determine the number of batch transmissions of the secret information, and split the secret information into sub-secret information arranged in sequence for the number of batch transmissions; Convert the initial public key into a corresponding first Ethereum sending address and a second hash value string, and embed the first sub-secret information into the second hash value string to obtain the first hidden sub-secret information corresponding to the initial public key; According to the initial public key and the first hidden sub-secret information corresponding to the initial public key, derive the first derived public keys with the batch transmission times in sequence, and for each of the first derived public keys, convert the first derived public key into the corresponding first Ethereum sending address and a second hash value string, and embed the sub-secret information corresponding to the first derived public key into the second hash value string to obtain the first hidden sub-secret information corresponding to the derived public key, and determine the first Ethereum sending address corresponding to the first derived public key as the first Ethereum receiving address of the previous public key of the first derived public key; For each first target public key, the first Ethereum sending address and the first Ethereum receiving address corresponding to the first target public key are packaged into an ordinary transaction on Ethereum, and the ordinary transaction is sent to the Ethereum blockchain; wherein each of the first Ethereum receiving addresses hides one of the sub-secret information; the first target public key includes the initial public key and other first derived public keys except the last first derived public key; The receiving party's user terminal is used for: The second Ethereum receiving address for the batch transmission number is derived based on the initial public key, and each of the sub-secret information is derived based on the difference between the second Ethereum receiving address and the first Ethereum receiving address to obtain the secret information.

9. The system according to claim 8, characterized in that: The sender and the receiver also pre-secretly agree on a symmetric key and a hidden information embedding algorithm; when the sender's user terminal is used to determine the number of batch transmissions of the secret information and split the secret information into sub-secret information arranged in sequence for the number of batch transmissions, it is specifically used to: Encrypt the secret information using the symmetric key to obtain an encrypted ciphertext; Performing binary conversion on the encrypted ciphertext to obtain a binary sequence for representing the secret information; Determining the number of batch transmissions of the secret information according to the length of the binary sequence used to represent the secret information and the secret information transmission length specified by the secret information embedding algorithm; According to the number of batch transmissions, the binary sequence is evenly divided into the number of sequentially arranged sub-binary sequences, and the sequentially arranged sub-binary sequences are used as sequentially arranged sub-secret information.

10. The system according to claim 9, characterized in that: The sender and the receiver also pre-secretly agree on a hidden key of the hidden information embedding algorithm; the sender's user end, when used to convert the initial public key into the corresponding first Ethereum sending address and second hash value string, and embed the first sub-secret information into the second hash value string, to obtain the first hidden sub-secret information corresponding to the initial public key, is specifically used to: Converting the initial public key into a first hash value corresponding to the initial public key through an encrypted hash function; intercepting the last first number of bytes of the first hash value to obtain the first hash value string corresponding to the initial public key, and processing the first hash value string to obtain the first Ethereum sending address corresponding to the initial public key, and intercepting the first second number of bytes of the first hash value to obtain the second hash value string corresponding to the initial public key; The second hash value string corresponding to the initial public key, the first sub-secret information, and the hidden key are concatenated through the hidden information embedding algorithm to obtain the first hidden sub-secret information corresponding to the initial public key.