CN109543434B - 区块链信息加密方法、解密方法、存储方法及装置 - Google Patents
区块链信息加密方法、解密方法、存储方法及装置 Download PDFInfo
- Publication number
- CN109543434B CN109543434B CN201811437176.8A CN201811437176A CN109543434B CN 109543434 B CN109543434 B CN 109543434B CN 201811437176 A CN201811437176 A CN 201811437176A CN 109543434 B CN109543434 B CN 109543434B
- Authority
- CN
- China
- Prior art keywords
- key
- random
- user
- block chain
- keys
- 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.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/602—Providing cryptographic facilities or services
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/62—Protecting access to data via a platform, e.g. using keys or access control rules
- G06F21/6218—Protecting 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/64—Protecting data integrity, e.g. using checksums, certificates or signatures
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Software Systems (AREA)
- General Health & Medical Sciences (AREA)
- Computer Hardware Design (AREA)
- Bioethics (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Health & Medical Sciences (AREA)
- Databases & Information Systems (AREA)
- Storage Device Security (AREA)
Abstract
本发明涉及一种区块链信息加密方法、解密方法、存储方法及装置。区块链信息加密方法,其用于多用户互动信息加密,其包括以下步骤:原始加密步骤,通过一随机密钥对原文进行加密得到密文;密钥生成步骤,生成一对随机公钥和随机私钥,随后随机私钥分别与多于1个的用户公钥采用加密算法进行运算,分别得到单独的共有密钥;二次加密步骤,通过每个共有密钥分别对随机密钥进行加密得到单独的识别密钥;其中,用户公钥、共有密钥和识别密钥为一一相互对应关系。本发明可以实现群聊、论坛、微博等多用户互动形式的保密解密,令到区块链上可以实现更广泛的社交功能,并具有很高的加密安全性、同时保持良好的用户体验。
Description
技术领域
本发明涉及区块链加密技术,尤其涉及一种区块链信息加密方法、解密方法、存储方法及装置。
背景技术
区块链是分布式数据存储、点对点传输、共识机制、加密算法等计算机技术的新型应用模式。狭义来讲,区块链是一种按照时间顺序将数据区块以顺序相连的方式组合成的一种链式数据结构,并以密码学方式保证的不可篡改和不可伪造的分布式账本。广义来讲,区块链技术是利用块链式数据结构来验证与存储数据、利用分布式节点共识算法来生成和更新数据、利用密码学的方式保证数据传输和访问的安全、利用由自动化脚本代码组成的智能合约来编程和操作数据的一种全新的分布式基础架构与计算方式。
目前,在区块链上做社交工具都会遇到隐私问题,因为数据一旦上链,就是公开数据,会被所有人看到。如果希望在区块链存储的社交工具(例如即时聊天工具、论坛等等)上面的数据不被未授权第三方看到,就必须将数据加密存储,而现在最大问题是区块链无法对多人互动信息进行有效的加密。因此有必要在区块链上开发一种能够给互动信息有效加密、解密的技术。
发明内容
本发明的目的在于为克服现有技术的缺陷,而提供一种区块链信息加密方法、解密方法、存储方法及装置。
为实现上述目的,本发明采用以下技术方案:
区块链信息加密方法,其用于多用户互动信息加密,其包括以下步骤:
原始加密步骤,通过一随机密钥对原文进行加密得到密文;
密钥生成步骤,生成一对随机公钥和随机私钥,随后随机私钥分别与参与互动的每个用户的用户公钥采用加密算法进行运算,分别得到单独的共有密钥;
二次加密步骤,通过每个共有密钥分别对随机密钥进行加密得到单独的识别密钥;
其中,用户公钥、共有密钥和识别密钥为一一相互对应关系。
进一步地,密钥生成步骤中,生成一对ECDH的随机公钥和随机私钥,随后随机私钥分别与多于1个用户公钥采用ECDH算法进行运算,分别得到单独的共有密钥。
进一步地,用户公钥为以太坊公钥,与用户公钥成对的是用户私钥。
本发明还公开了区块链信息解密方法,其用于解密以上区块链信息加密方法所得到的密文;信息解密方法包括以下步骤:获取用户公钥所对应的用户私钥,采用加密算法分别对随机公钥与用户私钥进行解密运算,得到单独的共有密钥;用所得到的共有密钥对识别密钥解密,得到随机密钥;将得到的随机密钥对密文进行解密。
本发明还公开了另一种区块链信息解密方法,其用于解密以上的区块链信息加密方法所得到的密文;信息解密方法包括以下步骤:获取用户公钥所对应的用户私钥,采用ECDH算法分别对随机公钥与用户私钥进行解密运算,得到共有密钥;用所得到的共有密钥对识别密钥解密,得到随机密钥;将得到的随机密钥对密文进行解密。
本发明还公开了区块链信息存储方法,其在区块链中存储以上区块链信息加密方法得到的密文、识别密钥和随机公钥。每一个随机公钥的存储位后面/前面设置了校验码,用于校验随机密钥。密文的存储位后面/前面设置了校验码,用于校验原文。
本发明还公开了一种电子设备,包括:处理器;以及存储器,存储器上存储有计算机可读指令,计算机可读指令被处理器执行时实现以上的加密方法、解密方法和存储方法。
本发明还公开了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现以上的加密方法、解密方法和存储方法。
本发明与现有技术相比的有益效果是:通过共有密钥对加密原文的随机密钥进行加密,而共有密钥是通过随机私钥与参与互动的每一个用户公钥运算得来,在区块链上保存时只需要保存密文、随机公钥和所有识别密钥,在其他人无法得知用户私钥的情况下,只截取区块链上保存的数据,非授权第三方无法看到密文内容。通过这样的方式,实现了在区块链上针对多用户同时一次性保存密文、解密密文,可以实现群聊、论坛、微博等多用户互动形式的保密解密,令到区块链上可以实现更广泛的社交功能,并具有很高的加密安全性、同时保持良好的用户体验。
附图说明
图1为本发明区块链信息加密方法流程示意图。
图2为本发明区块链信息存储方法示意图。
具体实施方式
为了更充分理解本发明的技术内容,下面结合具体实施例对本发明的技术方案作进一步介绍和说明。
本实施例的区块链信息加密方法可以对多用户互动信息进行加密,以使得其能应用在区块链技术上。本实施例的区块链信息加密方法包括原始加密步骤、密钥生成步骤和二次加密步骤。原始加密步骤和密钥生成步骤不分先后,可以同时进行,而二次加密步骤需要等到其他两个步骤都完成后才能进行。
原始加密步骤的目的是先对原文进行加密。本实施例信息加密方法可应用在多人互动社交方面,原文可以是聊天信息或者发送的文件。原始加密步骤中先生成一个随机密钥,然后通过这个随机密钥对原文进行加密得到密文。一个原文对应只有一个随机密钥,随机密钥对原文的加密可以采用对称加密、非对称加密或者Hash算法。本实施例中随机密钥对原文的加密采用对称加密算法中的AES算法。在解密的时候,只要有密文和对应的随机密钥,便可以将原文解密出来。
密钥生成步骤的目的是生成一个共有密钥,用于对随机密钥进行加密。密钥生成步骤中,需要先生成一对随机公钥和随机私钥,随后随机私钥分别与多人互动的社交中每个用户的用户公钥采用加密算法进行运算,分别得到单独的共有密钥,此时每个共有密钥与每个用户一一对应。以太坊的每个账户都由一对钥匙定义,一个私钥(Private Key)和一个公钥(Public Key)。而本实施例中,用户公钥即为以太坊公钥,与用户公钥成对的即为用户私钥。本实施例的密钥生成步骤采用了ECDH算法,也即是:先临时生成一对ECDH的随机公钥和随机私钥,随后采用ECDH算法对随机私钥与每个互动用户的用户公钥进行运算,得到与用户公钥对应的共有密钥。ECDH是一个已有算法,在已有一对私钥、公钥情况下,临时生成一对随机私钥和随机公钥,那么随机私钥与已有的公钥进行ECDH运算所得结果相同于随机公钥与已有私钥进行ECDH运算所得结果。这个共有密钥也可以通过随机公钥与用户私钥进行ECDH运算得到,这便是解密时候所采用的方式。
二次加密步骤中,通过每个共有密钥分别对同一个随机密钥进行加密得到多个单独的识别密钥,用户公钥、共有密钥和识别密钥为一一相互对应关系。共有密钥对随机密钥的加密方式可以采用对称加密、非对称加密或者Hash算法。本实施例中共有密钥对随机密钥的加密采用对称加密算法中的AES_CBC算法。在解密的时候,只要有识别密钥和对应的共有密钥,便可以将随机密钥解密出来。解密得到的随机密钥应进行一次校验,没有通过校验的直接退出并提示打开失败。另外,参与互动的每个用户在解密过程中都需要解密随机密钥,其中即使有某些用户解密失败也不会影响其他用户对随机密钥的解密。
对应的,本实施例的区块链信息解密方法用于解密本实施例的区块链信息加密方法所得到的密文。信息解密方法包括以下步骤:先获取每个互动用户的用户公钥所对应的用户私钥,采用加密算法对随机公钥与每个用户私钥分别进行解密运算,得到单独的共有密钥;随后用所得到的共有密钥分别对识别密钥解密,得到随机密钥;最后将得到的随机密钥对密文进行解密。
在本实施例中,用户公钥是以太坊公钥,因此对应的用户私钥便为以太坊私钥。而本实施例加密方法采用了ECDH算法,因此获取了每个互动用户的用户私钥之后,采用ECDH算法对随机公钥与用户私钥进行运算,得到每个用户对应的共有密钥。本实施例加密方法采用的AES_CBC对随机密钥进行加密,因此在解密方法中也对应采用AES_CBC模式、通过共有密钥对识别密钥解密还原出原来的随机密钥。本实施例加密方法采用AES对原文进行加密,因此在解密方法时也采用AES模式、通过还原的随机密钥对密文进行解密还原。解密还原后的得到的原文需要进行校验,没有通过校验的直接退出并提示打开失败。
本实施例的区块链信息存储方法用于在区块链中存储本实施例的区块链信息加密方法得到的密文、识别密钥和随机公钥,本实施例的信息加密方法的其他信息不保存,如共有密钥、随机私钥、原文、用户私钥、用户公钥等。如图2所示,每一个随机公钥的存储位后面/前面设置了校验码,用于校验随机密钥,而密文的存储位后面/前面设置了校验码,用于校验原文,任一处没有通过校验需要直接退出并提示打开失败。校验方法可以采用MD5算法。
本实施例还包括一种电子设备,其包括:处理器;以及存储器,存储器上存储有计算机可读指令,计算机可读指令被处理器执行时实现本实施例的信息加密方法、信息解密方法和信息存储方法。
本实施例还包括一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现本实施例的信息加密方法、信息解密方法和信息存储方法。计算机介质指的是能存储信息的任意物质,包括不限于各种ROM、RAM、机械存储器、固体存储器、便携式存储器等等。
以上陈述仅以实施例来进一步说明本发明的技术内容,以便于读者更容易理解,但不代表本发明的实施方式仅限于此,任何依本发明所做的技术延伸或再创造,均受本发明的保护。
Claims (7)
1.区块链信息加密方法,其特征在于,其用于多用户互动信息加密,其包括以下步骤:
原始加密步骤,通过一随机密钥对原文进行加密得到密文;
密钥生成步骤,生成一对ECDH的随机公钥和随机私钥,随后所述随机私钥分别与参与互动的每个用户的用户公钥采用ECDH算法进行运算,分别得到单独的共有密钥;
二次加密步骤,通过每个共有密钥分别对所述随机密钥进行加密得到单独的识别密钥;
其中,用户公钥、共有密钥和识别密钥为一一相互对应关系;
所述用户公钥为以太坊公钥,与用户公钥成对的是用户私钥,用户私钥为以太坊私钥。
2.区块链信息解密方法,其特征在于,其用于解密权利要求1的区块链信息加密方法所得到的密文;所述信息解密方法包括以下步骤:
获取用户公钥所对应的用户私钥,采用ECDH算法分别对所述随机公钥与所述用户私钥进行解密运算,得到所述共有密钥;
用所得到的共有密钥对所述识别密钥解密,得到所述随机密钥;
将得到的所述随机密钥对密文进行解密。
3.区块链信息存储方法,其特征在于,其在区块链中存储权利要求1任一项区块链信息加密方法得到的所述密文、所述识别密钥和所述随机公钥。
4.如权利要求3所述的区块链信息存储方法,其特征在于,每一个所述随机公钥的存储位后面/前面设置了校验码,用于校验所述随机密钥。
5.如权利要求3所述的区块链信息存储方法,其特征在于,所述密文的存储位后面/前面设置了校验码,用于校验所述原文。
6.一种电子设备,其特征在于,包括:
处理器;以及
存储器,所述存储器上存储有计算机可读指令,所述计算机可读指令被所述处理器执行时实现根据权利要求1至5中任一项所述的方法。
7.一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现根据权利要求1至5中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811437176.8A CN109543434B (zh) | 2018-11-28 | 2018-11-28 | 区块链信息加密方法、解密方法、存储方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811437176.8A CN109543434B (zh) | 2018-11-28 | 2018-11-28 | 区块链信息加密方法、解密方法、存储方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109543434A CN109543434A (zh) | 2019-03-29 |
CN109543434B true CN109543434B (zh) | 2020-10-09 |
Family
ID=65850972
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811437176.8A Active CN109543434B (zh) | 2018-11-28 | 2018-11-28 | 区块链信息加密方法、解密方法、存储方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109543434B (zh) |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110336774B (zh) * | 2019-04-17 | 2021-07-27 | 中国联合网络通信集团有限公司 | 混合加密解密方法、设备及*** |
CN110059503B (zh) * | 2019-04-24 | 2023-03-24 | 成都派沃特科技股份有限公司 | 可追溯的社交信息防泄露方法 |
CN110084599B (zh) * | 2019-04-28 | 2021-04-20 | 百度在线网络技术(北京)有限公司 | 密钥处理方法、装置、设备和存储介质 |
CN110750803B (zh) * | 2019-10-18 | 2021-04-09 | 支付宝(杭州)信息技术有限公司 | 数据提供和融合的方法及装置 |
CN110889128A (zh) * | 2019-11-27 | 2020-03-17 | 上海禾一网络科技有限公司 | 基于区块链存储与交换加密密钥的输入方法和装置 |
CN111294203B (zh) * | 2020-01-22 | 2022-02-11 | 腾讯科技(深圳)有限公司 | 信息传输方法 |
CN116055048B (zh) * | 2023-03-31 | 2023-05-30 | 成都四方伟业软件股份有限公司 | 一种分散密钥存储、还原方法及装置 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104202158A (zh) * | 2014-09-22 | 2014-12-10 | 浪潮电子信息产业股份有限公司 | 一种基于云计算的数据对称和非对称混合加解密方法 |
CN104868996A (zh) * | 2014-02-25 | 2015-08-26 | 中兴通讯股份有限公司 | 一种数据加密解密方法、装置以及终端 |
Family Cites Families (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7426745B2 (en) * | 2003-04-24 | 2008-09-16 | International Business Machines Corporation | Methods and systems for transparent data encryption and decryption |
CN103618607B (zh) * | 2013-11-29 | 2016-07-06 | 北京信长城技术研究院 | 一种数据安全传输和密钥交换方法 |
IN2014CH00681A (zh) * | 2014-02-13 | 2015-08-14 | Infosys Ltd | |
CN104394155B (zh) * | 2014-11-27 | 2017-12-12 | 暨南大学 | 可验证完整性和完备性的多用户云加密关键字搜索方法 |
CN104967516B (zh) * | 2015-07-24 | 2018-04-24 | 四川理工学院 | 多用户加密数据可比较加密方法及加密数据比较方法 |
US20170178127A1 (en) * | 2015-12-18 | 2017-06-22 | International Business Machines Corporation | Proxy system mediated legacy transactions using multi-tenant transaction database |
CN107979584B (zh) * | 2016-11-22 | 2019-08-13 | 南京银链信息科技有限公司 | 区块链信息分级共享方法及*** |
CN107038578B (zh) * | 2017-04-19 | 2020-10-16 | 浙江数秦科技有限公司 | 基于区块链的数据交易平台中多重签名交易信息处理方法 |
CN107426170B (zh) * | 2017-05-24 | 2019-08-09 | 阿里巴巴集团控股有限公司 | 一种基于区块链的数据处理方法及设备 |
CN108768988B (zh) * | 2018-05-17 | 2021-01-05 | 深圳前海微众银行股份有限公司 | 区块链访问控制方法、设备及计算机可读存储介质 |
-
2018
- 2018-11-28 CN CN201811437176.8A patent/CN109543434B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104868996A (zh) * | 2014-02-25 | 2015-08-26 | 中兴通讯股份有限公司 | 一种数据加密解密方法、装置以及终端 |
CN104202158A (zh) * | 2014-09-22 | 2014-12-10 | 浪潮电子信息产业股份有限公司 | 一种基于云计算的数据对称和非对称混合加解密方法 |
Also Published As
Publication number | Publication date |
---|---|
CN109543434A (zh) | 2019-03-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109543434B (zh) | 区块链信息加密方法、解密方法、存储方法及装置 | |
CN109495274B (zh) | 一种去中心化智能锁电子钥匙分发方法及*** | |
US6125185A (en) | System and method for encryption key generation | |
US9485096B2 (en) | Encryption / decryption of data with non-persistent, non-shared passkey | |
US20110145576A1 (en) | Secure method of data transmission and encryption and decryption system allowing such transmission | |
CN106104562A (zh) | 机密数据安全储存和恢复***及方法 | |
US10057060B2 (en) | Password-based generation and management of secret cryptographic keys | |
US20080165965A1 (en) | Method of two strings private key (symmetric) encryption and decryption algorithm | |
CN104243149B (zh) | 加、解密方法,装置和服务器 | |
CN103795533A (zh) | 基于标识符的加密、解密的方法及其执行装置 | |
JP2010220212A (ja) | 第1のユーザによって第2のユーザに送信される通信の安全化 | |
CN106130716A (zh) | 基于认证信息的密钥交换***及方法 | |
CN108768647B (zh) | 一种区块链的随机数产生方法 | |
CN102833246A (zh) | 一种社交视频信息安全方法与*** | |
CN103095452A (zh) | 需要采用穷举法解密的随机加密方法 | |
Oktaviana et al. | Three-pass protocol implementation in caesar cipher classic cryptography | |
Saikumar | DES-Data Encryption Standard | |
CN115883052A (zh) | 数据加密方法、数据解密方法、设备及存储介质 | |
JP2024511236A (ja) | コンピュータファイルのセキュリティ暗号化方法、復号化方法および読み取り可能な記憶媒体 | |
CN109347923A (zh) | 基于非对称密钥池的抗量子计算云存储方法和*** | |
Olumide et al. | A hybrid encryption model for secure cloud computing | |
CN109743162A (zh) | 一种利用理想格操作进行身份属性匹配的加密方法 | |
CN106257859A (zh) | 一种密码使用方法 | |
JPH0969831A (ja) | 暗号通信システム | |
CN100561913C (zh) | 一种访问密码设备的方法 |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |