CN113221146A - Method and device for data transmission between block chain nodes - Google Patents

Method and device for data transmission between block chain nodes Download PDF

Info

Publication number
CN113221146A
CN113221146A CN202110577759.6A CN202110577759A CN113221146A CN 113221146 A CN113221146 A CN 113221146A CN 202110577759 A CN202110577759 A CN 202110577759A CN 113221146 A CN113221146 A CN 113221146A
Authority
CN
China
Prior art keywords
random number
data
transmission
receiving node
symmetric encryption
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN202110577759.6A
Other languages
Chinese (zh)
Other versions
CN113221146B (en
Inventor
穆长春
狄刚
钱有才
刘杰群
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Digital Currency Institute of the Peoples Bank of China
Original Assignee
Digital Currency Institute of the Peoples Bank of China
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Digital Currency Institute of the Peoples Bank of China filed Critical Digital Currency Institute of the Peoples Bank of China
Priority to CN202110577759.6A priority Critical patent/CN113221146B/en
Publication of CN113221146A publication Critical patent/CN113221146A/en
Application granted granted Critical
Publication of CN113221146B publication Critical patent/CN113221146B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/602Providing cryptographic facilities or services
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/6218Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/64Protecting data integrity, e.g. using checksums, certificates or signatures

Abstract

The invention discloses a method and a device for data transmission between block link nodes, and relates to the technical field of computers. One embodiment of the method comprises: acquiring a random number from a cache, wherein the random number in the cache is updated at regular time; selecting a symmetric encryption algorithm used for the data transmission according to a preset algorithm, and symmetrically encrypting the transmission data by using the symmetric encryption algorithm and a random number; and sending the symmetrically encrypted data to a receiving node so that the receiving node decrypts the received data by using a symmetric encryption algorithm to obtain the transmission data. The embodiment can reduce the interaction between point and improve the communication efficiency by caching and dynamically updating the random number; meanwhile, the symmetric encryption algorithm can be randomly selected according to the preset algorithm, so that the data transmission of the network communication channel is safer and more efficient.

Description

Method and device for data transmission between block chain nodes
Technical Field
The invention relates to the technical field of block chains, in particular to a method and a device for data transmission between block chain link points.
Background
Since blockchain technology technically solves the mutual trust problem between participating entities, "trust" becomes a measurable in the computer world. The block chain network topology structure is a complete decentralized network, and no matter the complete decentralized network is organized through the Gossip protocol or the Kademlia protocol, the two designed protocols ensure that the nodes establish connection with a plurality of nodes with close logical distance and carry out message transmission of adjacent nodes, and the mechanism can ensure the relative stability of the network. Similarly, the basic requirement of a blockchain network, as with any centralized network, is that channel security should be met.
In the design of the network layer of each block chain architecture in the prior art, before the network layer really sends data, a hand-Shake HandShake protocol is designed to negotiate out a random number for channel encryption, the random number is encrypted at a receiving node (Server end) through a public key of a transmitting node (Client end) through an asymmetric encryption technology and then sent to a network channel, the Client end decrypts the random number through a private key thereof, and then the data is symmetrically encrypted and sent and decoded through the random number generated in the hand-Shake stage so as to complete communication.
In the method, when the point-to-point communication link between the nodes is connected, random numbers are negotiated through HandShake, and then data transmission on the link is symmetrically encrypted and decrypted through the random numbers, so that the randomness of the random numbers and the randomness of communication are well met. However, there are some drawbacks, first: random numbers are generated in real time, that is, before data is sent, hand-shake communication needs to be performed once, the number of communication times is increased, for a blockchain network, since one node conducts messages to other adjacent nodes, if more adjacent nodes increase the number of communication interaction times by N times, the efficiency problem of a blockchain system is brought; secondly, the method comprises the following steps: the channel security is ensured by symmetric encryption, the symmetric encryption key is ensured by a handshake protocol asymmetric encryption technology, in order to prevent identity hijacking in block chain application, a pair of asymmetric encryption keys is generated by applying to an authority, once the pair of asymmetric encryption keys is generated without change, the channel security can be ensured by the asymmetric and symmetric technologies at present, but the selected symmetric encryption algorithm is fixed, so the security of the channel data can not meet the requirement.
Disclosure of Invention
In view of this, embodiments of the present invention provide a method and an apparatus for data transmission between link nodes of a block, which can reduce interaction between point-to-point and improve communication efficiency by caching and dynamically updating a random number; meanwhile, the symmetric encryption algorithm can be randomly selected according to the preset algorithm, so that the data transmission of the network communication channel is safer and more efficient.
To achieve the above object, according to an aspect of an embodiment of the present invention, there is provided a method for data transmission between block link nodes.
A method of inter-block link point data transfer, the method comprising:
acquiring a random number from a cache, wherein the random number in the cache is updated at regular time;
selecting a symmetric encryption algorithm used for the data transmission according to a preset algorithm, and symmetrically encrypting the transmission data by using the symmetric encryption algorithm and the random number;
and sending the symmetrically encrypted data to a receiving node, so that the receiving node decrypts the received data by using the symmetric encryption algorithm to obtain the transmission data.
Optionally, the method further comprises:
and if the random number cannot be acquired from the cache, requesting the receiving node to generate the random number and storing the random number in the cache.
Optionally, the random number is generated or updated by:
a transmission node sends a request for acquiring a random number to a receiving node based on a handshake negotiation protocol, wherein the request comprises a public key of the transmission node;
the receiving node generates a random number after receiving the request, encrypts the random number by using the public key and then sends the encrypted random number to the transmission node;
the transmission node receives the encrypted random number, decrypts the random number through a private key to obtain the random number, encrypts a test message by using the random number, and then sends the encrypted test message to the receiving node;
the receiving node receives the encrypted test message, decrypts the test message by using the random number to obtain the test message, and then sends the test message to the transmission node;
and the transmission node receives the test message and checks the test message, and after the check is passed, the random number is stored in a cache and the receiving node is informed so that the receiving node stores the random number in the cache.
Optionally, selecting the symmetric encryption algorithm used for the data transmission according to a preset algorithm includes:
acquiring available symmetric encryption algorithms and the number of the available symmetric encryption algorithms;
acquiring the current value of a counter, wherein a transmission node and a receiving node both have counters, the value of the counter is increased by 1 each time a point-to-point connection is established between the transmission node and the receiving node, and the value of the counter is cleared when the point-to-point connection is disconnected;
and taking the modulus of the current value to the number of available symmetric encryption algorithms to determine the symmetric encryption algorithm used for the data transmission.
Optionally, sending the symmetrically encrypted data to the receiving node includes:
cutting the symmetrically encrypted data into data packets and numbering the data packets;
and sending the data packets to a receiving node one by one so that the receiving node splices the data packets according to the serial numbers to obtain symmetrically encrypted data.
Optionally, the number of bits of the random number is determined based on a least-significant symmetric encryption algorithm among available symmetric encryption algorithms.
According to another aspect of the embodiments of the present invention, an apparatus for data transmission between block link nodes is provided.
An apparatus for data transmission between block link nodes, the apparatus comprising:
the random number acquisition module is used for acquiring random numbers from a cache, and the random numbers in the cache are updated at regular time;
the encryption algorithm selection module is used for selecting a symmetric encryption algorithm used by the data transmission according to a preset algorithm and symmetrically encrypting the transmission data by using the symmetric encryption algorithm and the random number;
and the data receiving and sending module is used for sending the symmetrically encrypted data to a receiving node so that the receiving node decrypts the received data by using the symmetric encryption algorithm to obtain the transmission data.
Optionally, the apparatus further comprises a random number generation module configured to:
and if the random number cannot be acquired from the cache, requesting the receiving node to generate the random number and storing the random number in the cache.
Optionally, the random number is generated or updated by:
a transmission node sends a request for acquiring a random number to a receiving node based on a handshake negotiation protocol, wherein the request comprises a public key of the transmission node;
the receiving node generates a random number after receiving the request, encrypts the random number by using the public key and then sends the encrypted random number to the transmission node;
the transmission node receives the encrypted random number, decrypts the random number through a private key to obtain the random number, encrypts a test message by using the random number, and then sends the encrypted test message to the receiving node;
the receiving node receives the encrypted test message, decrypts the test message by using the random number to obtain the test message, and then sends the test message to the transmission node;
and the transmission node receives the test message and checks the test message, and after the check is passed, the random number is stored in a cache and the receiving node is informed so that the receiving node stores the random number in the cache.
Optionally, the encryption algorithm selection module is further configured to:
acquiring available symmetric encryption algorithms and the number of the available symmetric encryption algorithms;
acquiring the current value of a counter, wherein a transmission node and a receiving node both have counters, the value of the counter is increased by 1 each time a point-to-point connection is established between the transmission node and the receiving node, and the value of the counter is cleared when the point-to-point connection is disconnected;
and taking the modulus of the current value to the number of available symmetric encryption algorithms to determine the symmetric encryption algorithm used for the data transmission.
Optionally, the data transceiver module is further configured to:
cutting the symmetrically encrypted data into data packets and numbering the data packets;
and sending the data packets to a receiving node one by one so that the receiving node splices the data packets according to the serial numbers to obtain symmetrically encrypted data.
Optionally, the number of bits of the random number is determined based on a least-significant symmetric encryption algorithm among available symmetric encryption algorithms.
According to another aspect of the embodiments of the present invention, an electronic device for data transmission between block link nodes is provided.
An electronic device for data transmission between block link nodes, comprising: one or more processors; the storage device is used for storing one or more programs, and when the one or more programs are executed by the one or more processors, the one or more processors implement the method for data transmission between the block link nodes provided by the embodiment of the invention.
According to yet another aspect of embodiments of the present invention, a computer-readable medium is provided.
A computer readable medium, on which a computer program is stored, the program, when executed by a processor, implements the method for data transmission between block link nodes provided by an embodiment of the present invention.
One embodiment of the above invention has the following advantages or benefits: by acquiring the random number from the cache, the random number in the cache is updated at regular time; selecting a symmetric encryption algorithm used for the data transmission according to a preset algorithm, and symmetrically encrypting the transmission data by using the symmetric encryption algorithm and a random number; the symmetrically encrypted data are sent to the receiving node, so that the receiving node decrypts the received data by using a symmetric encryption algorithm to obtain transmission data, namely, the random number is cached and dynamically updated, point-to-point interaction is reduced, and communication efficiency is improved; meanwhile, a symmetric encryption algorithm can be randomly selected according to a preset algorithm, the security guarantee of network layer communication is enhanced, and the randomness of the selection of the symmetric encryption algorithm is increased but the complexity is not increased by adding a layer of dynamic symmetric encryption algorithm guarantee on the basis of the asymmetric encryption algorithm guarantee, so that the data transmission of the network communication channel is safer and more efficient.
Further effects of the above-mentioned non-conventional alternatives will be described below in connection with the embodiments.
Drawings
The drawings are included to provide a better understanding of the invention and are not to be construed as unduly limiting the invention. Wherein:
fig. 1 is a schematic diagram illustrating the main steps of a method for data transmission between blockchain nodes according to an embodiment of the present invention;
fig. 2 is a schematic diagram illustrating an implementation principle of data transmission between block chain nodes according to an embodiment of the present invention;
fig. 3 is a schematic diagram of main blocks of an apparatus for data transmission between blockchain nodes according to an embodiment of the present invention;
FIG. 4 is an exemplary system architecture diagram in which embodiments of the present invention may be employed;
fig. 5 is a schematic block diagram of a computer system suitable for use in implementing a terminal device or server of an embodiment of the invention.
Detailed Description
Exemplary embodiments of the present invention are described below with reference to the accompanying drawings, in which various details of embodiments of the invention are included to assist understanding, and which are to be considered as merely exemplary. Accordingly, those of ordinary skill in the art will recognize that various changes and modifications of the embodiments described herein can be made without departing from the scope and spirit of the invention. Also, descriptions of well-known functions and constructions are omitted in the following description for clarity and conciseness.
In order to solve the technical problems in the prior art, the invention can ensure that the data transmission of a network communication channel is safer and more efficient by caching and dynamically updating the random number and randomly selecting a comprehensive technical application mechanism of a symmetric encryption algorithm.
The system for data transmission among the block chain nodes mainly comprises a dynamic updating module for generating a symmetric encryption key, a symmetric encryption algorithm selection module and a data transceiving module. In the system for data transmission between the nodes of the block chain, the steps of safely transmitting data through a network layer are mainly as follows:
firstly, generating a random number based on a handshake protocol through a dynamic updating module, transmitting the random number through an asymmetric encryption and decryption algorithm, caching the random number generated by handshake of an adjacent node close to the node, and acquiring the random number from the cache for encryption before data communication is really carried out;
secondly, the symmetric encryption algorithm selection module selects the same symmetric encryption algorithm for data encryption and decryption by the transmission node and the receiving node;
and thirdly, the data transceiving module can transmit and receive data through the previous two steps, and the transceiving function of the TCP/IP end data packet can be completed.
Fig. 1 is a schematic diagram illustrating main steps of a method for data transmission between blockchain nodes according to an embodiment of the present invention. As shown in fig. 1, the method for data transmission between block chain nodes according to the embodiment of the present invention mainly includes the following steps S101 to S103.
Step S101: and acquiring the random number from the buffer, wherein the random number in the buffer is updated regularly. According to one embodiment of the invention, if the random number cannot be acquired from the cache, the request receiving node generates the random number and stores the random number in the cache.
Each node in the network topology structure of the block chain can be used as a transmission node or a receiving node, and when a certain node needs to send data to the adjacent node, the node is a transmission node, namely a client; accordingly, when a node is to receive data from other nodes, the node is a receiving node, i.e., a server. Each node in the network topology structure of the block chain generates a public key and a private key of the node by using an asymmetric encryption algorithm before adding the node into the network topology structure, and the nodes ensure the stability of the network topology structure by maintaining the IP addresses, port numbers, the public keys and the like of adjacent nodes, so that the caching of random numbers is meaningful. Otherwise, if the network topology is unstable, the connection between the nodes is frequently established, and the cache is meaningless at this time. The network connection established between two nodes in the network topology of the blockchain is a long connection, and the stability of the long connection can be determined through heartbeat detection.
When a network layer of a block chain starts a server (namely, a receiving node) to monitor, a timing task is started, the timing task is executed once every interval time T, and mainly, when data transmission between the nodes is completed, negotiation of random numbers used for data encryption is completed. According to the technical scheme of the invention, the random number in the cache is updated at intervals T, namely: for the two nodes A and B, the random number used for encrypting the data transmission in the interval time T is constant.
When data is to be transmitted between two nodes, a client (i.e., a transmitting node) will first obtain a random number from a cache for encrypting the transmitted data. If the connection between the client and the server (i.e., the receiving node) is not established before, there is no random number available in the cache, and at this time, a new random number needs to be generated and cached. If the time for establishing the connection between the client and the server reaches the interval time T, a new random number is generated and the random number in the cache is updated.
According to one embodiment of the invention, the random number is generated or updated by:
the transmission node sends a request for acquiring the random number to the receiving node based on a handshake negotiation protocol, wherein the request comprises a public key of the transmission node;
the receiving node generates a random number after receiving the request, encrypts the random number by using the public key and then sends the encrypted random number to the transmission node;
the transmission node receives the encrypted random number, decrypts the random number through a private key to obtain a random number, encrypts the test message by using the random number, and then sends the encrypted test message to the receiving node;
the receiving node receives the encrypted test message, decrypts the test message by using the random number to obtain the test message, and then sends the test message to the transmission node;
and the transmission node receives the test message and checks the test message, stores the random number into the cache after the check is passed, and informs the receiving node so that the receiving node stores the random number into the cache.
The handshake negotiation protocol is a network protocol mainly used for the client and the server to confirm their identities. In addition, in order to protect the SSL (Secure Sockets Layer) from recording the data transmitted in the packet, the handshake protocol can also assist the two parties in selecting the encryption algorithm, MAC algorithm and related key used in connection. Before transferring data for an application, a handshake negotiation protocol must be used to accomplish this.
In the above embodiments of the present invention, the server (i.e., the receiving node) generates the random number through a random function, and when generating the random number, the server only needs to specify the length of the key and can generate the random number according to the random function. In one embodiment of the invention, the step of generating or updating the random number is, for example:
1. the client sends the public key and the IP address of the client to the server;
2. the server generates a random number through a random function, encrypts the random number by using a public key of the client, and then sends the random number to the client;
3. the client side decrypts through a private key of the client side to obtain a random number, then symmetrically encrypts the test message HelloMessage by using the random number, and sends the encrypted HelloMessage to the server side;
4. the server decrypts the HelloMessage by using a symmetric encryption algorithm and sends the HelloMessage to the client;
5. the client judges whether the received test message HelloMessage is consistent with the test message sent by the client, and if so, the verification is passed;
6. the client and the server cache random numbers simultaneously.
The following describes a symmetric encryption algorithm and an asymmetric encryption algorithm used in the embodiments of the present invention.
A symmetric encryption algorithm refers to an encryption algorithm that uses the same key for encryption and decryption. Symmetric encryption algorithms are used to encrypt information such as sensitive data, and commonly used algorithms include DES, 3DES, AES, DESX, Blowfish, RC4, RC5, RC6, and the like. Wherein:
des (data Encryption standard): the data encryption is standard, the speed is high, and the method is suitable for occasions where a large amount of data is encrypted;
3DES (triple DES): based on DES, three different keys are used for encrypting one piece of data for three times, so that the security strength is higher;
aes (advanced Encryption standard): the advanced encryption standard is the next generation encryption algorithm standard, and has high speed and high security level.
The asymmetric encryption algorithm refers to an encryption algorithm using different keys for encryption and decryption, and is also called as public-private key encryption. Assuming that two users need to encrypt and exchange data, the two users exchange public keys, when in use, one party is encrypted by the public key of the other party, and the other party can be decrypted by the private key of the other party. Common asymmetric encryption algorithms: RSA, DSA (for digital signature), ECC (for mobile device), Diffie-Hellman, El Gamal, and the like. Wherein:
RSA: the invention is invented by RSA company, is a public key algorithm supporting variable-length keys, and the length of a file block needing to be encrypted is also variable;
dsa (digital Signature algorithm): the digital signature algorithm is a standard DSS (digital signature standard);
ecc (ecc) current customers cryptograph): elliptic curve cryptography.
Compared with the RSA, the ECC has absolute advantages in many aspects, which mainly include the following aspects:
(1) the attack resistance is strong. The same key length, its anti-attack is many times stronger;
(2) the calculation amount is small, and the processing speed is high. The overall speed of ECC is much faster than that of RSA and DSA;
(3) the storage space occupies little space. The key size and system parameters of ECC are much smaller compared to RSA, DSA, meaning that it takes up much less storage space. This is of particular importance for the application of cryptographic algorithms on IC cards;
(4) the bandwidth requirement is low. When encrypting and decrypting long messages, the three types of cryptosystems have the same bandwidth requirements, but the ECC bandwidth requirements are much lower when applied to short messages. The low bandwidth requirement enables the ECC to have wide application prospect in the field of wireless networks.
According to an embodiment of the present invention, the number of bits of the random number is determined based on a symmetric encryption algorithm having the least number of bits among available symmetric encryption algorithms. When the number of bits of the random number is determined according to the encryption and decryption algorithm, the number of bits supported by all encryption algorithms can be shortened, for example, the number of bits of the shortened random number is 112 bits, and when the symmetric encryption algorithm is applied to 3DES (the supportable number of bits is 128 bits), the random number of 112 bits can be spliced with another 16 bits of 0, so that a random number of 128 bits is formed, and the like for other symmetric encryption algorithms.
Step S102: and selecting a symmetric encryption algorithm used for the data transmission according to a preset algorithm, and symmetrically encrypting the transmission data by using the symmetric encryption algorithm and the random number. According to an embodiment of the present invention, selecting the symmetric encryption algorithm used for the data transmission according to the preset algorithm may include the following steps:
step S1021: acquiring available symmetric encryption algorithms and the number of the available symmetric encryption algorithms;
step S1022: acquiring the current value of a counter, wherein the transmission node and the receiving node are provided with counters, the value of the counter is increased by 1 each time the transmission node and the receiving node establish point-to-point connection, and the value of the counter is cleared when the point-to-point connection is disconnected;
step S1023: and taking the modulus of the current value to the number of the available symmetric encryption algorithms to determine the symmetric encryption algorithm used for the data transmission.
When data transmission is carried out each time, the transmission node and the receiving node need to determine the symmetric encryption algorithm used for the data transmission through the preset algorithm. In the embodiment of the invention, counters are arranged for the client (namely, the transmission node) and the server (namely, the receiving node) respectively, and are used for recording the connection times of the client and the server. For a specific two nodes, the number of times they make connections, the client and the server are the same, i.e.: the counter values of the client and the server are the same, so a series of symmetric encryption algorithms can be set, and the symmetric encryption algorithm used for data transmission is determined by polling according to the connection times. And when the client and the server are disconnected, the counter is cleared, so that the symmetric encryption algorithms selected by the client and the server are consistent.
According to the embodiment of the invention, when the symmetric encryption algorithm selection is carried out, the symmetric encryption algorithm selection can be carried out in a polling mode. Firstly, when a network layer is started, the number of the symmetrical encryption algorithms supported by the network layer at present can be obtained, then, every time point-to-point connection is established, the counter is added with 1, and the modulus is obtained through the current value of the counter and the supported types of the encryption algorithms, so that the obtained symmetrical encryption algorithm is the symmetrical encryption algorithm required to be used when data transmission is carried out at this time. When the point-to-point connection is disconnected, the counters of the server and the client are cleared, and the client and the server are point-to-point, so that the symmetric encryption algorithms selected by the mechanism are matched certainly, and the message can be encrypted and decrypted between the client and the server.
Step S103: and sending the symmetrically encrypted data to a receiving node so that the receiving node decrypts the received data by using a symmetric encryption algorithm to obtain the transmission data.
According to one embodiment of the present invention, when sending symmetrically encrypted data to a receiving node, the sending may specifically include: cutting the symmetrically encrypted data into data packets and numbering the data packets; and sending the data packets to the receiving node one by one so that the receiving node splices the data packets according to the serial numbers to obtain symmetrically encrypted data. The structure of the data packet and the field meaning of the data packet are detailed in table 1 below.
TABLE 1
Field(s) Type (B) Description of the invention
packetId long Packet ID, unique identification of data packets
msgType int Message classification
sourcePort int Source port
sourceIp String Source IP
destIp int Target IP
destPort String Target port
content byte[] Sending content serialized byte arrays
index int Packet sequence number, default starting from 0
total long How many packets in total
In the embodiment of the application, the transmission data is cut into the form of data packets one by one, and the data packets are numbered, so that the receiving end can normally recover the received data. And the network layer of the block chain transmits the transmission data in a sub-packet mode, so that the transmission speed can be increased, and the transmission efficiency can be improved.
According to the steps S101 to S103, the random number can be cached and dynamically updated, so that point-to-point interaction is reduced, and the communication efficiency is improved; meanwhile, a symmetric encryption algorithm can be randomly selected according to a preset algorithm, the security guarantee of network layer communication is enhanced, and the randomness of the selection of the symmetric encryption algorithm is increased but the complexity is not increased by adding a layer of dynamic symmetric encryption algorithm guarantee on the basis of the asymmetric encryption algorithm guarantee, so that the data transmission of the network communication channel is safer and more efficient.
Fig. 2 is a schematic diagram illustrating an implementation principle of data transmission between block chain nodes according to an embodiment of the present invention. As shown in fig. 2, when data is transmitted between the link nodes of the block, the client (i.e., the transmission node) sends data to be sent to the server (i.e., the receiving node). Firstly, judging whether a random number exists in a cache, if so, acquiring the random number, and selecting a symmetric encryption algorithm; otherwise, interacting with the server side through a HandShake negotiation (hand share) protocol. The specific interaction process comprises the following steps: the server generates a random number, encrypts the random number by using a public key of the client, sends the encrypted random number to the client and stores the random number in a server cache; the client uses the private key to decrypt and obtain the random number, and stores the random number in the client cache. After the client acquires the random number, a symmetric encryption algorithm can be selected. Then, encrypting data to be sent by using the symmetric encryption algorithm and the random number, and then sending the data to a server; and after receiving the encrypted data to be sent, the server selects a symmetric encryption algorithm, and decrypts by using the symmetric encryption algorithm and the random number to obtain the data to be sent.
Fig. 3 is a schematic diagram of main blocks of an apparatus for data transmission between blockchain nodes according to an embodiment of the present invention. According to the technical scheme of the invention, the node for transmitting data is a transmission node, the node for receiving data is a receiving node, and the device for transmitting data among the chain nodes of the block is positioned at the transmission node. As shown in fig. 3, the apparatus 300 for data transmission between blockchain nodes according to the embodiment of the present invention mainly includes a random number obtaining module 301, an encryption algorithm selecting module 302, and a data transceiver module 303.
A random number obtaining module 301, configured to obtain a random number from a cache, where the random number in the cache is updated at regular time;
the encryption algorithm selection module 302 is configured to select a symmetric encryption algorithm used for data transmission according to a preset algorithm, and symmetrically encrypt transmission data by using the symmetric encryption algorithm and the random number;
the data transceiver module 303 is configured to send the symmetrically encrypted data to a receiving node, so that the receiving node decrypts the received data by using the symmetric encryption algorithm to obtain the transmission data.
According to an embodiment of the present invention, the apparatus 300 for data transmission between blockchain nodes further includes a random number generation module (not shown in the figure) configured to:
and if the random number cannot be acquired from the cache, requesting the receiving node to generate the random number and storing the random number in the cache.
According to another embodiment of the invention, the random number is generated or updated by:
a transmission node sends a request for acquiring a random number to a receiving node based on a handshake negotiation protocol, wherein the request comprises a public key of the transmission node;
the receiving node generates a random number after receiving the request, encrypts the random number by using the public key and then sends the encrypted random number to the transmission node;
the transmission node receives the encrypted random number, decrypts the random number through a private key to obtain the random number, encrypts a test message by using the random number, and then sends the encrypted test message to the receiving node;
the receiving node receives the encrypted test message, decrypts the test message by using the random number to obtain the test message, and then sends the test message to the transmission node;
and the transmission node receives the test message and checks the test message, and after the check is passed, the random number is stored in a cache and the receiving node is informed so that the receiving node stores the random number in the cache.
According to yet another embodiment of the present invention, the encryption algorithm selection module 302 may be further configured to:
acquiring available symmetric encryption algorithms and the number of the available symmetric encryption algorithms;
acquiring the current value of a counter, wherein a transmission node and a receiving node both have counters, the value of the counter is increased by 1 each time a point-to-point connection is established between the transmission node and the receiving node, and the value of the counter is cleared when the point-to-point connection is disconnected;
and taking the modulus of the current value to the number of available symmetric encryption algorithms to determine the symmetric encryption algorithm used for the data transmission.
According to another embodiment of the present invention, the data transceiver module 303 may further be configured to:
cutting the symmetrically encrypted data into data packets and numbering the data packets;
and sending the data packets to a receiving node one by one so that the receiving node splices the data packets according to the serial numbers to obtain symmetrically encrypted data.
According to a further embodiment of the invention, the number of bits of the random number is determined based on the least number of symmetric encryption algorithms among the available symmetric encryption algorithms.
According to the technical scheme of the embodiment of the invention, the random number is obtained from the cache, and the random number in the cache is updated at regular time; selecting a symmetric encryption algorithm used for the data transmission according to a preset algorithm, and symmetrically encrypting the transmission data by using the symmetric encryption algorithm and a random number; the symmetrically encrypted data are sent to the receiving node, so that the receiving node decrypts the received data by using a symmetric encryption algorithm to obtain transmission data, namely, the random number is cached and dynamically updated, point-to-point interaction is reduced, and communication efficiency is improved; meanwhile, a symmetric encryption algorithm can be randomly selected according to a preset algorithm, the security guarantee of network layer communication is enhanced, and the randomness of the selection of the symmetric encryption algorithm is increased but the complexity is not increased by adding a layer of dynamic symmetric encryption algorithm guarantee on the basis of the asymmetric encryption algorithm guarantee, so that the data transmission of the network communication channel is safer and more efficient.
Fig. 4 shows an exemplary system architecture 400 of a method for inter-blockchain node data transfer or an apparatus for inter-blockchain node data transfer to which an embodiment of the present invention may be applied.
As shown in fig. 4, the system architecture 400 may include terminal devices 401, 402, 403, a network 404, and a server 405. The network 404 serves as a medium for providing communication links between the terminal devices 401, 402, 403 and the server 405. Network 404 may include various types of connections, such as wire, wireless communication links, or fiber optic cables, to name a few.
A user may use terminal devices 401, 402, 403 to interact with a server 405 over a network 404 to receive or send messages or the like. The terminal devices 401, 402, 403 may have various messaging client applications installed thereon, such as a blockchain application, a data encryption application, a search application, an instant messaging tool, a mailbox client, social platform software, etc. (by way of example only).
The terminal devices 401, 402, 403 may be various electronic devices having a display screen and supporting web browsing, including but not limited to smart phones, tablet computers, laptop portable computers, desktop computers, and the like.
The server 405 may be a server providing various services, such as a background management server (for example only) providing support for data transmission requests sent by users using the terminal devices 401, 402, 403. The background management server can acquire random numbers from a cache for data such as received data transmission requests, and the random numbers in the cache are updated at regular time; selecting a symmetric encryption algorithm used for the data transmission according to a preset algorithm, and symmetrically encrypting the transmission data by using the symmetric encryption algorithm and the random number; the symmetrically encrypted data is sent to a receiving node for processing and the like, and the processing result (e.g., the encrypted data sent to the receiving node-by way of example only) is fed back to the terminal device.
It should be noted that the method for data transmission between the blockchain nodes provided by the embodiment of the present invention is generally executed by the server 405, and accordingly, the apparatus for data transmission between the blockchain nodes is generally disposed in the server 405.
It should be understood that the number of terminal devices, networks, and servers in fig. 4 is merely illustrative. There may be any number of terminal devices, networks, and servers, as desired for implementation.
Referring now to FIG. 5, a block diagram of a computer system 500 suitable for use with a terminal device or server implementing an embodiment of the invention is shown. The terminal device or the server shown in fig. 5 is only an example, and should not bring any limitation to the functions and the scope of use of the embodiments of the present invention.
As shown in fig. 5, the computer system 500 includes a Central Processing Unit (CPU)501 that can perform various appropriate actions and processes according to a program stored in a Read Only Memory (ROM)502 or a program loaded from a storage section 508 into a Random Access Memory (RAM) 503. In the RAM 503, various programs and data necessary for the operation of the system 500 are also stored. The CPU 501, ROM 502, and RAM 503 are connected to each other via a bus 504. An input/output (I/O) interface 505 is also connected to bus 504.
The following components are connected to the I/O interface 505: an input portion 506 including a keyboard, a mouse, and the like; an output portion 507 including a display such as a Cathode Ray Tube (CRT), a Liquid Crystal Display (LCD), and the like, and a speaker; a storage portion 508 including a hard disk and the like; and a communication section 509 including a network interface card such as a LAN card, a modem, or the like. The communication section 509 performs communication processing via a network such as the internet. The driver 510 is also connected to the I/O interface 505 as necessary. A removable medium 511 such as a magnetic disk, an optical disk, a magneto-optical disk, a semiconductor memory, or the like is mounted on the drive 510 as necessary, so that a computer program read out therefrom is mounted into the storage section 508 as necessary.
In particular, according to the embodiments of the present disclosure, the processes described above with reference to the flowcharts may be implemented as computer software programs. For example, embodiments of the present disclosure include a computer program product comprising a computer program embodied on a computer readable medium, the computer program comprising program code for performing the method illustrated in the flow chart. In such an embodiment, the computer program may be downloaded and installed from a network through the communication section 509, and/or installed from the removable medium 511. The computer program performs the above-described functions defined in the system of the present invention when executed by the Central Processing Unit (CPU) 501.
It should be noted that the computer readable medium shown in the present invention can be a computer readable signal medium or a computer readable storage medium or any combination of the two. A computer readable storage medium may be, for example, but not limited to, an electronic, magnetic, optical, electromagnetic, infrared, or semiconductor system, apparatus, or device, or any combination of the foregoing. More specific examples of the computer readable storage medium may include, but are not limited to: an electrical connection having one or more wires, a portable computer diskette, a hard disk, a Random Access Memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or flash memory), an optical fiber, a portable compact disc read-only memory (CD-ROM), an optical storage device, a magnetic storage device, or any suitable combination of the foregoing. In the present invention, a computer readable storage medium may be any tangible medium that can contain, or store a program for use by or in connection with an instruction execution system, apparatus, or device. In the present invention, however, a computer readable signal medium may include a propagated data signal with computer readable program code embodied therein, for example, in baseband or as part of a carrier wave. Such a propagated data signal may take many forms, including, but not limited to, electro-magnetic, optical, or any suitable combination thereof. A computer readable signal medium may also be any computer readable medium that is not a computer readable storage medium and that can communicate, propagate, or transport a program for use by or in connection with an instruction execution system, apparatus, or device. Program code embodied on a computer readable medium may be transmitted using any appropriate medium, including but not limited to: wireless, wire, fiber optic cable, RF, etc., or any suitable combination of the foregoing.
The flowchart and block diagrams in the figures illustrate the architecture, functionality, and operation of possible implementations of systems, methods and computer program products according to various embodiments of the present invention. In this regard, each block in the flowchart or block diagrams may represent a module, segment, or portion of code, which comprises one or more executable instructions for implementing the specified logical function(s). It should also be noted that, in some alternative implementations, the functions noted in the block may occur out of the order noted in the figures. For example, two blocks shown in succession may, in fact, be executed substantially concurrently, or the blocks may sometimes be executed in the reverse order, depending upon the functionality involved. It will also be noted that each block of the block diagrams or flowchart illustration, and combinations of blocks in the block diagrams or flowchart illustration, can be implemented by special purpose hardware-based systems which perform the specified functions or acts, or combinations of special purpose hardware and computer instructions.
The units or modules described in the embodiments of the present invention may be implemented by software, or may be implemented by hardware. The described units or modules may also be provided in a processor, and may be described as: a processor includes a random number acquisition module, an encryption algorithm selection module, and a data transceiver module. The names of these units or modules do not in some cases constitute a limitation to the units or modules themselves, and for example, the random number obtaining module may also be described as a "module for obtaining random numbers from a cache".
As another aspect, the present invention also provides a computer-readable medium that may be contained in the apparatus described in the above embodiments; or may be separate and not incorporated into the device. The computer readable medium carries one or more programs which, when executed by a device, cause the device to comprise: acquiring a random number from a cache, wherein the random number in the cache is updated at regular time; selecting a symmetric encryption algorithm used for the data transmission according to a preset algorithm, and symmetrically encrypting the transmission data by using the symmetric encryption algorithm and the random number; and sending the symmetrically encrypted data to a receiving node, so that the receiving node decrypts the received data by using the symmetric encryption algorithm to obtain the transmission data.
According to the technical scheme of the embodiment of the invention, the random number is obtained from the cache, and the random number in the cache is updated at regular time; selecting a symmetric encryption algorithm used for the data transmission according to a preset algorithm, and symmetrically encrypting the transmission data by using the symmetric encryption algorithm and a random number; the symmetrically encrypted data are sent to the receiving node, so that the receiving node decrypts the received data by using a symmetric encryption algorithm to obtain transmission data, namely, the random number is cached and dynamically updated, point-to-point interaction is reduced, and communication efficiency is improved; meanwhile, a symmetric encryption algorithm can be randomly selected according to a preset algorithm, the security guarantee of network layer communication is enhanced, and the randomness of the selection of the symmetric encryption algorithm is increased but the complexity is not increased by adding a layer of dynamic symmetric encryption algorithm guarantee on the basis of the asymmetric encryption algorithm guarantee, so that the data transmission of the network communication channel is safer and more efficient.
The above-described embodiments should not be construed as limiting the scope of the invention. Those skilled in the art will appreciate that various modifications, combinations, sub-combinations, and substitutions can occur, depending on design requirements and other factors. Any modification, equivalent replacement, and improvement made within the spirit and principle of the present invention should be included in the protection scope of the present invention.

Claims (12)

1. A method for data transmission between block link nodes, the method comprising:
acquiring a random number from a cache, wherein the random number in the cache is updated at regular time;
selecting a symmetric encryption algorithm used for the data transmission according to a preset algorithm, and symmetrically encrypting the transmission data by using the symmetric encryption algorithm and the random number;
and sending the symmetrically encrypted data to a receiving node, so that the receiving node decrypts the received data by using the symmetric encryption algorithm to obtain the transmission data.
2. The method of claim 1, further comprising:
and if the random number cannot be acquired from the cache, requesting the receiving node to generate the random number and storing the random number in the cache.
3. A method according to claim 1 or 2, wherein the random number is generated or updated by:
a transmission node sends a request for acquiring a random number to a receiving node based on a handshake negotiation protocol, wherein the request comprises a public key of the transmission node;
the receiving node generates a random number after receiving the request, encrypts the random number by using the public key and then sends the encrypted random number to the transmission node;
the transmission node receives the encrypted random number, decrypts the random number through a private key to obtain the random number, encrypts a test message by using the random number, and then sends the encrypted test message to the receiving node;
the receiving node receives the encrypted test message, decrypts the test message by using the random number to obtain the test message, and then sends the test message to the transmission node;
and the transmission node receives the test message and checks the test message, and after the check is passed, the random number is stored in a cache and the receiving node is informed so that the receiving node stores the random number in the cache.
4. The method of claim 1, wherein selecting the symmetric encryption algorithm to be used for the data transmission according to a predetermined algorithm comprises:
acquiring available symmetric encryption algorithms and the number of the available symmetric encryption algorithms;
acquiring the current value of a counter, wherein a transmission node and a receiving node both have counters, the value of the counter is increased by 1 each time a point-to-point connection is established between the transmission node and the receiving node, and the value of the counter is cleared when the point-to-point connection is disconnected;
and taking the modulus of the current value to the number of available symmetric encryption algorithms to determine the symmetric encryption algorithm used for the data transmission.
5. The method of claim 1, wherein sending symmetrically encrypted data to a receiving node comprises:
cutting the symmetrically encrypted data into data packets and numbering the data packets;
and sending the data packets to a receiving node one by one so that the receiving node splices the data packets according to the serial numbers to obtain symmetrically encrypted data.
6. The method of claim 1, wherein the number of bits of the random number is determined based on a least significant symmetric encryption algorithm of available symmetric encryption algorithms.
7. An apparatus for data transmission between block link nodes, the apparatus comprising:
the random number acquisition module is used for acquiring random numbers from a cache, and the random numbers in the cache are updated at regular time;
the encryption algorithm selection module is used for selecting a symmetric encryption algorithm used by the data transmission according to a preset algorithm and symmetrically encrypting the transmission data by using the symmetric encryption algorithm and the random number;
and the data receiving and sending module is used for sending the symmetrically encrypted data to a receiving node so that the receiving node decrypts the received data by using the symmetric encryption algorithm to obtain the transmission data.
8. The apparatus of claim 7, wherein the random number is generated or updated by:
a transmission node sends a request for acquiring a random number to a receiving node based on a handshake negotiation protocol, wherein the request comprises a public key of the transmission node;
the receiving node generates a random number after receiving the request, encrypts the random number by using the public key and then sends the encrypted random number to the transmission node;
the transmission node receives the encrypted random number, decrypts the random number through a private key to obtain the random number, encrypts a test message by using the random number, and then sends the encrypted test message to the receiving node;
the receiving node receives the encrypted test message, decrypts the test message by using the random number to obtain the test message, and then sends the test message to the transmission node;
and the transmission node receives the test message and checks the test message, and after the check is passed, the random number is stored in a cache and the receiving node is informed so that the receiving node stores the random number in the cache.
9. The apparatus of claim 7, wherein the encryption algorithm selection module is further configured to:
acquiring available symmetric encryption algorithms and the number of the available symmetric encryption algorithms;
acquiring the current value of a counter, wherein a transmission node and a receiving node both have counters, the value of the counter is increased by 1 each time a point-to-point connection is established between the transmission node and the receiving node, and the value of the counter is cleared when the point-to-point connection is disconnected;
and taking the modulus of the current value to the number of available symmetric encryption algorithms to determine the symmetric encryption algorithm used for the data transmission.
10. The apparatus of claim 7, wherein the data transceiver module is further configured to:
cutting the symmetrically encrypted data into data packets and numbering the data packets;
and sending the data packets to a receiving node one by one so that the receiving node splices the data packets according to the serial numbers to obtain symmetrically encrypted data.
11. An electronic device for data transmission between link nodes of a block, comprising:
one or more processors;
a storage device for storing one or more programs,
when executed by the one or more processors, cause the one or more processors to implement the method of any one of claims 1-6.
12. A computer-readable medium, on which a computer program is stored, which, when being executed by a processor, carries out the method according to any one of claims 1-6.
CN202110577759.6A 2021-05-26 2021-05-26 Method and device for data transmission among block chain nodes Active CN113221146B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110577759.6A CN113221146B (en) 2021-05-26 2021-05-26 Method and device for data transmission among block chain nodes

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110577759.6A CN113221146B (en) 2021-05-26 2021-05-26 Method and device for data transmission among block chain nodes

Publications (2)

Publication Number Publication Date
CN113221146A true CN113221146A (en) 2021-08-06
CN113221146B CN113221146B (en) 2023-11-03

Family

ID=77098597

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110577759.6A Active CN113221146B (en) 2021-05-26 2021-05-26 Method and device for data transmission among block chain nodes

Country Status (1)

Country Link
CN (1) CN113221146B (en)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113726746A (en) * 2021-08-10 2021-11-30 北京网藤科技有限公司 Industrial control safety management platform and control method thereof
CN113852687A (en) * 2021-09-24 2021-12-28 成都质数斯达克科技有限公司 File transmission method between block chain link points
CN114785620A (en) * 2022-06-16 2022-07-22 国网浙江省电力有限公司金华供电公司 Full-flow encryption method for audit data

Citations (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20150350894A1 (en) * 2014-05-29 2015-12-03 Entersekt, LLC Method and System for Establishing a Secure Communication Channel
CN105847238A (en) * 2016-03-16 2016-08-10 杭州狮说教育科技有限公司 Safe data transmission method based on Real-Time Messaging Protocol (RTMP) connections
CN106209356A (en) * 2016-07-07 2016-12-07 上海交通大学 The privacy control method remotely controlled for Internet of Things and system
CN106936592A (en) * 2017-05-11 2017-07-07 成都信息工程大学 A kind of tripartite's subjective entropy based on extension chaos algorithm
CN108810017A (en) * 2018-07-12 2018-11-13 中国工商银行股份有限公司 Business processing safe verification method and device
CN109088889A (en) * 2018-10-16 2018-12-25 深信服科技股份有限公司 A kind of SSL encipher-decipher method, system and computer readable storage medium
CN109413076A (en) * 2018-11-06 2019-03-01 北京奇虎科技有限公司 Domain name analytic method and device
CN109543443A (en) * 2018-10-17 2019-03-29 平安科技(深圳)有限公司 User data management, device, equipment and storage medium based on block chain
CN110061996A (en) * 2019-04-25 2019-07-26 深圳市元征科技股份有限公司 A kind of data transmission method, device, equipment and readable storage medium storing program for executing
WO2019174187A1 (en) * 2018-03-12 2019-09-19 深圳壹账通智能科技有限公司 Blockchain-based method for message communication between multiple terminals, terminal and storage medium
CN110581854A (en) * 2019-09-12 2019-12-17 北京笔新互联网科技有限公司 intelligent terminal safety communication method based on block chain
CN110620792A (en) * 2019-10-24 2019-12-27 福建星网视易信息系统有限公司 Communication encryption method, communication device, system, and computer-readable storage medium
CN110708170A (en) * 2019-12-13 2020-01-17 腾讯科技(深圳)有限公司 Data processing method and device and computer readable storage medium
CN110933053A (en) * 2019-11-19 2020-03-27 康力电梯股份有限公司 Authorization method based on CAN communication encryption
CN111294203A (en) * 2020-01-22 2020-06-16 腾讯科技(深圳)有限公司 Information transmission method
CN111526023A (en) * 2020-04-27 2020-08-11 南京讯石数据科技有限公司 Block chain uplink data security authentication method and system based on IPK
CN111835511A (en) * 2020-06-30 2020-10-27 平安国际智慧城市科技股份有限公司 Data security transmission method and device, computer equipment and storage medium
CN112087419A (en) * 2020-07-25 2020-12-15 北京蜂云科创信息技术有限公司 Vehicle-mounted terminal data transmission safety protection method and device
CN112564906A (en) * 2020-12-28 2021-03-26 广东长盈科技股份有限公司 Block chain-based data security interaction method and system

Patent Citations (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20150350894A1 (en) * 2014-05-29 2015-12-03 Entersekt, LLC Method and System for Establishing a Secure Communication Channel
CN105847238A (en) * 2016-03-16 2016-08-10 杭州狮说教育科技有限公司 Safe data transmission method based on Real-Time Messaging Protocol (RTMP) connections
CN106209356A (en) * 2016-07-07 2016-12-07 上海交通大学 The privacy control method remotely controlled for Internet of Things and system
CN106936592A (en) * 2017-05-11 2017-07-07 成都信息工程大学 A kind of tripartite's subjective entropy based on extension chaos algorithm
WO2019174187A1 (en) * 2018-03-12 2019-09-19 深圳壹账通智能科技有限公司 Blockchain-based method for message communication between multiple terminals, terminal and storage medium
CN108810017A (en) * 2018-07-12 2018-11-13 中国工商银行股份有限公司 Business processing safe verification method and device
CN109088889A (en) * 2018-10-16 2018-12-25 深信服科技股份有限公司 A kind of SSL encipher-decipher method, system and computer readable storage medium
CN109543443A (en) * 2018-10-17 2019-03-29 平安科技(深圳)有限公司 User data management, device, equipment and storage medium based on block chain
CN109413076A (en) * 2018-11-06 2019-03-01 北京奇虎科技有限公司 Domain name analytic method and device
CN110061996A (en) * 2019-04-25 2019-07-26 深圳市元征科技股份有限公司 A kind of data transmission method, device, equipment and readable storage medium storing program for executing
CN110581854A (en) * 2019-09-12 2019-12-17 北京笔新互联网科技有限公司 intelligent terminal safety communication method based on block chain
CN110620792A (en) * 2019-10-24 2019-12-27 福建星网视易信息系统有限公司 Communication encryption method, communication device, system, and computer-readable storage medium
CN110933053A (en) * 2019-11-19 2020-03-27 康力电梯股份有限公司 Authorization method based on CAN communication encryption
CN110708170A (en) * 2019-12-13 2020-01-17 腾讯科技(深圳)有限公司 Data processing method and device and computer readable storage medium
CN111294203A (en) * 2020-01-22 2020-06-16 腾讯科技(深圳)有限公司 Information transmission method
CN111526023A (en) * 2020-04-27 2020-08-11 南京讯石数据科技有限公司 Block chain uplink data security authentication method and system based on IPK
CN111835511A (en) * 2020-06-30 2020-10-27 平安国际智慧城市科技股份有限公司 Data security transmission method and device, computer equipment and storage medium
CN112087419A (en) * 2020-07-25 2020-12-15 北京蜂云科创信息技术有限公司 Vehicle-mounted terminal data transmission safety protection method and device
CN112564906A (en) * 2020-12-28 2021-03-26 广东长盈科技股份有限公司 Block chain-based data security interaction method and system

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113726746A (en) * 2021-08-10 2021-11-30 北京网藤科技有限公司 Industrial control safety management platform and control method thereof
CN113852687A (en) * 2021-09-24 2021-12-28 成都质数斯达克科技有限公司 File transmission method between block chain link points
CN113852687B (en) * 2021-09-24 2023-12-01 成都质数斯达克科技有限公司 File transmission method between block chain nodes
CN114785620A (en) * 2022-06-16 2022-07-22 国网浙江省电力有限公司金华供电公司 Full-flow encryption method for audit data
CN114785620B (en) * 2022-06-16 2022-09-02 国网浙江省电力有限公司金华供电公司 Full-flow encryption method for audit data

Also Published As

Publication number Publication date
CN113221146B (en) 2023-11-03

Similar Documents

Publication Publication Date Title
US10804976B2 (en) Secure end-to-end transport through intermediary nodes
US20220006627A1 (en) Quantum key distribution node apparatus and method for quantum key distribution thereof
CN113221146B (en) Method and device for data transmission among block chain nodes
EP3459202A1 (en) Method and system for secure data transmission
WO2018145606A1 (en) Method, system, device, medium and device for cdn inter-node encryption
EP3633949A1 (en) Method and system for performing ssl handshake
US20230188325A1 (en) Computer-implemented system and method for highly secure, high speed encryption and transmission of data
US20150229621A1 (en) One-time-pad data encryption in communication channels
CN109104273B (en) Message processing method and receiving end server
WO2017075134A1 (en) Key management for privacy-ensured conferencing
US11528127B2 (en) Computer-implemented system and method for highly secure, high speed encryption and transmission of data
CN115174267A (en) TLS protocol negotiation method, equipment and medium
CN115622772A (en) Financial data transmission method and application gateway for financial business service
KR20210061801A (en) Method and system for mqtt-sn security management for security of mqtt-sn protocol
CN114173328A (en) Key exchange method and device and electronic equipment
CN113422832B (en) File transmission method, device, equipment and storage medium
CN115021919A (en) SSL negotiation method, device, equipment and computer readable storage medium
CN110995730B (en) Data transmission method and device, proxy server and proxy server cluster
CN111526128B (en) Encryption management method and device
CN111131158A (en) Single byte symmetric encryption and decryption method, device and readable medium
CN111314287A (en) Public key encryption communication mode and device
CN111147344B (en) Virtual private network implementation method, device, equipment and medium
US20240137213A1 (en) Method for Arranging a Shared Cryptographic Key and Method for Encrypted Communication, Computer Program Product and Device
CN114050897B (en) SM 9-based asynchronous key negotiation method and device
US11343089B2 (en) Cryptography system and method

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
CB03 Change of inventor or designer information

Inventor after: Mu Changchun

Inventor after: Di Gang

Inventor after: Qian Youcai

Inventor after: Liu Jiequn

Inventor before: Mu Changchun

Inventor before: Di Gang

Inventor before: Qian Youcai

Inventor before: Liu Jiequn

CB03 Change of inventor or designer information
GR01 Patent grant
GR01 Patent grant