CN112350920A - Instant communication system based on block chain - Google Patents
Instant communication system based on block chain Download PDFInfo
- Publication number
- CN112350920A CN112350920A CN201910735194.2A CN201910735194A CN112350920A CN 112350920 A CN112350920 A CN 112350920A CN 201910735194 A CN201910735194 A CN 201910735194A CN 112350920 A CN112350920 A CN 112350920A
- Authority
- CN
- China
- Prior art keywords
- information
- node
- symmetric key
- key
- time symmetric
- 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.)
- Withdrawn
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L51/00—User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail
- H04L51/04—Real-time or near real-time messaging, e.g. instant messaging [IM]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/02—Details
- H04L12/16—Arrangements for providing special services to substations
- H04L12/18—Arrangements for providing special services to substations for broadcast or conference, e.g. multicast
- H04L12/185—Arrangements for providing special services to substations for broadcast or conference, e.g. multicast with management of multicast group membership
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L51/00—User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail
- H04L51/52—User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail for supporting social networking services
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/08—Network architectures or network communication protocols for network security for authentication of entities
- H04L63/0876—Network architectures or network communication protocols for network security for authentication of entities based on the identity of the terminal or configuration, e.g. MAC address, hardware or software configuration or device fingerprint
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/104—Peer-to-peer [P2P] networks
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0816—Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
- H04L9/0819—Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s)
- H04L9/0825—Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s) using asymmetric-key encryption or public key infrastructure [PKI], e.g. key signature or public key certificates
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
- H04L9/3247—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving digital signatures
- H04L9/3249—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving digital signatures using RSA or related signature schemes, e.g. Rabin scheme
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Security & Cryptography (AREA)
- Computing Systems (AREA)
- Power Engineering (AREA)
- Computer Hardware Design (AREA)
- General Engineering & Computer Science (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
The invention provides an instant messaging system based on a block chain, which comprises a plurality of nodes connected in a block chain communication mode. Each node generates an asymmetric encryption pair. When the sending end wants to send a message to at least one receiving end, a packing program is executed. The packaging program comprises: generating a one-time symmetric key; encrypting the information using a one-time symmetric key; encrypting the one-time symmetric key by using the corresponding public key of each receiving end; and adding the encrypted information and the encrypted one-time symmetric key to a broadcast message to broadcast the broadcast message to all nodes. Each node executes a decapsulation procedure when receiving the broadcast message, wherein the decapsulation procedure comprises: attempting to unlock the encrypted one-time symmetric key using its own private key; and if the unlocking is successful, decrypting the encrypted information by the obtained one-time symmetric key.
Description
Technical Field
The invention relates to the technical field of instant messaging, in particular to an instant messaging system based on a block chain.
Background
Most of the existing group chat mechanisms based on the block chain generate a group address and a corresponding private key every time a group is established, when a member of the group talks, the member sends a transaction and additional information to the address, and the member uses the private key to decrypt the information. However, when a new member is to be added to the group, the group address and corresponding private key need to be transmitted to the new member, or a new group and corresponding private key need to be re-established. However, passing the private key over the network is quite dangerous and the process of joining a new member by a group is cumbersome. Further, the asymmetric encryption scheme has a limit to the information length.
Disclosure of Invention
In view of the above problems, the present invention provides an instant messaging system based on a block chain to solve the problems in the prior art.
In one embodiment, a blockchain-based instant messaging system includes a plurality of nodes communicatively coupled in a blockchain manner. Each node generates an asymmetric cryptographic pair comprising a public key and a private key. When one sending end in a plurality of nodes intends to send a message to at least one receiving end in other nodes, a packing program is executed. The packaging program comprises: generating a one-time symmetric key; encrypting the information using a one-time symmetric key; encrypting the one-time symmetric key by using the corresponding public key of each receiving end; and adding the encrypted information and the encrypted one-time symmetric key to a broadcast message to broadcast the broadcast message to all nodes. Each node executes a decapsulation procedure when receiving the broadcast message, wherein the decapsulation procedure comprises: attempting to unlock the encrypted one-time symmetric key using its own private key; and if the unlocking is successful, decrypting the encrypted information by the obtained one-time symmetric key.
In accordance with some embodiments, the packaging program further comprises: generating a signature by using a private key of the user; and adding the signature to the broadcast information. The unsealing program further comprises: and verifying the signature, and attempting to unlock the encrypted one-time symmetric key only when the verification is passed.
According to some embodiments, the decapsulating procedure further comprises: if the node successfully unlocks, the information is uplink stored.
According to some embodiments, the decapsulating procedure further comprises: the node determines whether the information has been uplink stored prior to uplink storage.
According to some embodiments, the decapsulating procedure further comprises: and if the node is successfully unlocked, locally storing the information.
According to some embodiments, the sending end and at least one receiving end form a plurality of members of a group, when one of other nodes joins the group as a new member, each member records an information of itself as the information to be sent, and uses the new member as the receiving end, and sends out after executing a packaging program.
According to some embodiments, when a new member joins the group, an address is generated according to its own public key, and the new member signs its own address using its own private key and then issues the signed address to the blockchain.
According to some embodiments, each node generates an address of the corresponding node according to the public key, and each node signs its address with its private key and then issues the signed address to the blockchain.
According to some embodiments, the sender and at least one receiver form a plurality of members of a group, and when one of the other nodes joins the group as a new member, the signed addresses of the members are verified.
In summary, the present invention provides an instant messaging system based on a blockchain, which provides an encryption method without limiting the length of information and can hide the receiving object of information. Information can be stored on the block chain to avoid deletion or tampering of the information. The elasticity of adding new members is provided in group chat, and the object capable of being unpacked is appointed by the sending end in the information transmission, so that the group setting number is not limited.
Drawings
Fig. 1 is a block diagram of an instant messaging system 100 based on a blockchain according to an embodiment of the present invention.
FIG. 2 is a flowchart of a packing procedure according to an embodiment of the present invention.
Fig. 3 is a flowchart of a decapsulation procedure according to an embodiment of the invention.
FIG. 4 is a flow chart of a packing procedure according to another embodiment of the present invention.
Fig. 5 is a flowchart of a decapsulation procedure according to another embodiment of the invention.
Detailed Description
In order to make the objects, features and effects of the present invention easier to understand, embodiments for describing the present invention in detail and the accompanying drawings are provided below.
Referring to fig. 1, fig. 1 is a block diagram illustrating an instant messaging system 100 based on a block chain according to an embodiment of the present invention. The instant messaging system based on blockchain 100 includes a plurality of nodes 110. The nodes 110 are connected via a blockchain communication, including, for example, a network layer, a data layer, and an application layer. The network layer supports point-to-point networks, TCP/IP protocols, and the like. The data layer supports public accounts, consensus algorithms, cryptography, databases, etc. The application layer supports programmable languages (such as intelligent contracts) and the like. The nodes 110 may be any electronic device with computing and networking capabilities, such as desktop computers, mobile phones, tablet computers, servers, embedded devices, and the like.
Each node 110 generates an asymmetric cryptographic pair comprising a public key and a private key. Asymmetric encryption pairs may be generated using algorithms such as RSA, Elgamal, Rabin, and the like. Here, each node 110 generates an address of the node 110 according to its own public key, for example: the public key is directly used as an address, or a part of the public key is used as the address, or a specific operation (such as a logic operation and a hash operation) is executed according to the whole or part of the public key and then used as the address. The nodes 110 send their own addresses to the entire blockchain network so that each node 110 can know the address of the object to which information is to be transferred.
In some embodiments, node 110 may sign an address with its own private key before sending the address. The other nodes 110 may verify the signed address through the corresponding public key to confirm that the address was indeed issued by the node 110.
Referring to fig. 2, a flow chart of a packing procedure according to an embodiment of the invention is shown. When a node 110 (referred to as a sender 111) wants to send a message to at least one node 110 (referred to as a receiver 112), a packetization process is performed. Including but not limited to text, images, sound, video, archives, etc. The packaging procedure is explained below, and first, one-time symmetric key is generated (step S210). The symmetric key may be generated using DES, 3DES, IDEA, FEAL, BLOWFSH, etc. algorithms. The symmetric key is randomly generated, so that the symmetric key generated each time is not the same. Next, the information to be transmitted is encrypted by using the one-time symmetric key, and since the information is encrypted by using the symmetric key, the length of the information does not need to be limited (step S220). In step S230, the one-time symmetric key is encrypted using the corresponding public key of each receiving end 112. Finally, in step S240, the encrypted information and the encrypted one-time symmetric key are added to a broadcast message for subsequent broadcast to all nodes 110.
Referring to fig. 3, a flow chart of a decapsulation procedure according to an embodiment of the invention is shown. When the node 110 receives the broadcast message, a decapsulation procedure is performed. Describing the unsealing procedure, first, the node 110 tries to unlock the encrypted one-time symmetric key using its own private key (step S310). The node 110 represents the receiving object for this broadcast information if it can successfully unlock the encrypted one-time symmetric key. The obtained one-time symmetric key is then decrypted (step S320). If the unlocking cannot be carried out, the unlocking procedure is ended. Thus, the information transmitted by the transmitting end 111 can be acquired by the designated receiving end 112, and the non-designated receiving end 112 cannot know the content of the broadcast information even if the broadcast information is acquired, and cannot know which designated receiving end 112 is. Even in the case of group chat, only a single member or a part of members in the group can be designated to decrypt the information, and the members cannot know whether other members can parse the information, so that the information transmission object can be hidden.
Referring to fig. 4 and fig. 5, there are respectively flowchart of a packing procedure and a unpacking procedure according to another embodiment of the present invention. The packaging program further includes step S200: a signature is generated using its own private key. In the aforementioned step S240, a signature is also added to the broadcast information (step S240'). The decapsulation procedure further includes step S300: and verifying the signature. If the signature is legal, which means that the received broadcast message is not tampered, step S310 is entered (i.e. the encrypted one-time symmetric key is attempted to be unlocked only after the verification is passed); if not, the unsealing procedure is ended.
In some embodiments, step S320 in the decapsulation procedure further includes: if node 110 successfully unlocks, the information is ul stored. That is, the information is regarded as a transaction, issued by the node 110 that successfully unlocks as an issuer, and after being verified by the consensus algorithm of the block chain, the information is packed into the block chain for storage. Thus, the information can be stored in the blockchain, and can be verified for authenticity and cannot be tampered or deleted.
In some embodiments, prior to performing uplink storage, node 110 may first determine whether the information has been uplink stored. If yes, not performing the uplink storage to avoid repeatedly storing the information.
In some embodiments, step S320 in the decapsulation procedure further includes: if the node 110 is successfully unlocked, the information is locally stored (i.e. stored in the node 110, hereinafter referred to as "information record"), in some embodiments, if a new member is to be added to the two-party or multi-party conversation group, the new member (one of the nodes 110) will also generate its address according to its own public key, and sign its own address using its own private key and then issue it to the block chain, and verify the signed addresses of the other nodes 110 (if the node 110 has issued, these actions may be omitted). In addition, each old member records its own information as the information to be sent, and uses the new member as the receiving end, and sends out after executing the packaging program. Therefore, the new member can receive the past history information and complete the information synchronization.
In summary, the present invention provides an instant messaging system 100 based on blockchain, which provides an encryption method without limiting the length of information and can hide the receiving object of information. Information can be stored on the block chain to avoid deletion or tampering of the information. The elasticity of adding new members is provided in group chat, and the object capable of being unpacked is appointed by the sending end in the information transmission, so that the group setting number is not limited.
Although the present invention has been described with reference to the preferred embodiments, it should be understood that various changes and modifications can be made without departing from the spirit and scope of the invention as defined by the appended claims.
Claims (9)
1. An instant messaging system based on blockchains, comprising:
a plurality of nodes connected in a block chain communication manner, each node generating an asymmetric encryption pair including a public key and a private key, wherein when one sending end of the plurality of nodes intends to send a message to at least one receiving end of other nodes, a packing procedure is executed, the packing procedure includes:
generating a one-time symmetric key;
encrypting the information using the one-time symmetric key;
encrypting the one-time symmetric key by using the corresponding public key of each receiving end; and
adding the encrypted information and the encrypted one-time symmetric key to a broadcast message to broadcast the broadcast message to all the nodes;
wherein, each node executes a decapsulation procedure when receiving the broadcast information, and the decapsulation procedure includes:
attempting to unlock the encrypted one-time symmetric key using the private key of itself; and
and if the unlocking is successful, decrypting the encrypted information by using the obtained one-time symmetric key.
2. The blockchain-based instant messaging system of claim 1, wherein the packaging program further comprises:
generating a signature using the private key of itself; and
adding the signature to the broadcast information;
wherein the decapsulation program further comprises: and verifying the signature, and attempting to unlock the encrypted one-time symmetric key only after verification passes.
3. The blockchain-based instant messaging system according to claim 1 or 2, wherein the decapsulation procedure further comprises: and if the node is successfully unlocked, the information is uplink stored.
4. The blockchain-based instant messaging system of claim 3, wherein the decapsulation procedure further comprises: the node determines whether the information has been uplink stored prior to uplink storage.
5. The blockchain-based instant messaging system according to claim 1 or 2, wherein the decapsulation procedure further comprises: and if the node is successfully unlocked, locally storing the information.
6. The instant messaging system according to claim 1 or 2, wherein the sending end and the at least one receiving end form a plurality of members of a group, and when one of the other nodes joins the group as a new member, each member records an information of itself as the information to be sent and uses the new member as the receiving end, and executes the packing procedure and sends out the information.
7. The system of claim 6, wherein the new member generates an address according to the public key of the new member when joining the group, and signs the address of the new member with the private key of the new member and then issues the signed address to the blockchain.
8. The system according to claim 1 or 2, wherein each node generates an address corresponding to the node according to the public key, and each node signs its address with its private key and then issues the signed address to the blockchain.
9. The blockchain-based instant messaging system of claim 8 wherein the sender and the at least one receiver form members of a group, and wherein when one of the other nodes joins the group as a new member, the signed address of the member is verified.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910735194.2A CN112350920A (en) | 2019-08-09 | 2019-08-09 | Instant communication system based on block chain |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910735194.2A CN112350920A (en) | 2019-08-09 | 2019-08-09 | Instant communication system based on block chain |
Publications (1)
Publication Number | Publication Date |
---|---|
CN112350920A true CN112350920A (en) | 2021-02-09 |
Family
ID=74366962
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910735194.2A Withdrawn CN112350920A (en) | 2019-08-09 | 2019-08-09 | Instant communication system based on block chain |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112350920A (en) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115334026A (en) * | 2022-10-12 | 2022-11-11 | 北京百度网讯科技有限公司 | Instant messaging processing method, device and equipment based on block chain and storage medium |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102065016A (en) * | 2010-12-30 | 2011-05-18 | 中兴通讯股份有限公司 | Message sending and receiving method and device, message processing method and system |
CN106992871A (en) * | 2017-04-01 | 2017-07-28 | 中国人民武装警察部队工程大学 | A kind of broadcast encryption method towards many groups |
CN107579952A (en) * | 2017-07-17 | 2018-01-12 | 招商银行股份有限公司 | File transmitting method, message processing method and system and storage medium |
-
2019
- 2019-08-09 CN CN201910735194.2A patent/CN112350920A/en not_active Withdrawn
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102065016A (en) * | 2010-12-30 | 2011-05-18 | 中兴通讯股份有限公司 | Message sending and receiving method and device, message processing method and system |
CN106992871A (en) * | 2017-04-01 | 2017-07-28 | 中国人民武装警察部队工程大学 | A kind of broadcast encryption method towards many groups |
CN107579952A (en) * | 2017-07-17 | 2018-01-12 | 招商银行股份有限公司 | File transmitting method, message processing method and system and storage medium |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115334026A (en) * | 2022-10-12 | 2022-11-11 | 北京百度网讯科技有限公司 | Instant messaging processing method, device and equipment based on block chain and storage medium |
CN115334026B (en) * | 2022-10-12 | 2023-03-24 | 北京百度网讯科技有限公司 | Instant messaging processing method, device and equipment based on block chain and storage medium |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20190261174A1 (en) | Session protocol for backward security between paired devices | |
US9485096B2 (en) | Encryption / decryption of data with non-persistent, non-shared passkey | |
WO2019218919A1 (en) | Private key management method and apparatus in blockchain scenario, and system | |
CN101404576B (en) | Network resource query method and system | |
CN110852745B (en) | Block chain distributed dynamic network key automatic updating method | |
CN109729041B (en) | Method and device for issuing and acquiring encrypted content | |
CN110881063A (en) | Storage method, device, equipment and medium of private data | |
CN111786812B (en) | Node management method, device, computer equipment and storage medium | |
WO2022022009A1 (en) | Message processing method and apparatus, device, and storage medium | |
CN113268715A (en) | Software encryption method, device, equipment and storage medium | |
TWI725148B (en) | Methods, systems, and media for using dynamic public key infrastructure to send and receive encrypted messages | |
CA3178180A1 (en) | Constructing a distributed ledger transaction on a cold hardware wallet | |
JP2019514314A (en) | Method, system and medium for using dynamic public key infrastructure to send and receive encrypted messages | |
CN112400299A (en) | Data interaction method and related equipment | |
TW201626776A (en) | Improved system for establishing a secure communication channel | |
CN114900304A (en) | Digital signature method and apparatus, electronic device, and computer-readable storage medium | |
CN114499875A (en) | Service data processing method and device, computer equipment and storage medium | |
CN111970114A (en) | File encryption method, system, server and storage medium | |
CN114513345A (en) | Information transmission system, user device and information security hardware module | |
CN113365264A (en) | Block chain wireless network data transmission method, device and system | |
CN115567200B (en) | Http interface anti-brushing method, system and related equipment | |
CN112350920A (en) | Instant communication system based on block chain | |
CN110611674B (en) | Protocol interaction method, system and storage medium between different computer systems | |
CN113918971A (en) | Block chain based message transmission method, device, equipment and readable storage medium | |
CN111431846B (en) | Data transmission method, device and system |
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 | ||
WW01 | Invention patent application withdrawn after publication |
Application publication date: 20210209 |
|
WW01 | Invention patent application withdrawn after publication |