一种基于区块链技术的加密方法、解密方法及授权方法与流程

文档序号:26951886发布日期:2021-10-16 01:56阅读:662来源:国知局
一种基于区块链技术的加密方法、解密方法及授权方法与流程

1.本发明涉及区块链技术领域,特别是涉及一种基于区块链技术的加密方法、解密方法及授权方法。


背景技术:

2.在区块链网络中,由于各网络节点对网络中的交易进行共识,并对数据进行存储,所以区块链中发生的数据处理对于网络节点与可访问网络的参与方来说都是透明可见的,在一些业务场景特别的是金融领域,对数据的隐私性是极其看重的。通常采用对数据加密方式进行数据的保护,只有可解密的参与方才能获取数据内容。
3.在现有技术中有两种传输方式,分别为:
4.1、对数据在传输到区块链网络之前进行对称加密、加密后的数据在被授权方接受之后,加密方告知对称加密的密钥,数据被授权方进行解密,即采用对称加密的方式进行数据传输。
5.2、对数据在传输到区块链网络之前采用被授权方所拥有的公私钥对中的公钥进行对称加密、随后上传到区块链网络,加密后的数据在被授权方接受之后,被授权方使用对应私钥进行解密,即采用非对称加密的方式进行数据传输。
6.然而,当采用对称加密时,解密密钥需传递给数据解密方,密钥传递过程不安全,密钥传输中容易被截获从而导致数据被未授权方获取。同时,对密钥的管理与分发提出了较高的要求。
7.当采用非对称加密时,对单条数据或数据集只能采用一对公私钥进行加解密授权,如果希望对不同的被授权方授权单条数据或数据集,只能分别用不同被授权方所拥有的公钥进行加密,多次在区块链网络中传输,被授权方接受到各自公钥加密之后的数据之后采用自有的私钥进行解密,当被授权方数量较多时,会多次加密,多次传输,多次解密,操作复杂,传输成本高,效率低。
8.因此,如何设计一种在保证传输安全性的同时,能够提高传输效率的基于区块链技术的加密方法、解密方法及授权方法,成为本领域当前要解决的问题。


技术实现要素:

9.本发明的目的是提供一种基于区块链技术的加密方法、解密方法及授权方法。解决了传统的数据传输安全性低,以及只能实现对数据整体加密,整体授权解密从而导致传输效率不高的问题。
10.为实现上述目的,本发明提供了如下方案:
11.一种基于区块链技术的加密方法,该加密方法包括:
12.使用对称密钥sa对明文数据da进行加密,得到数据密文sda;
13.使用授权方的公钥puba对所述对称密钥sa进行非对称加密,得到第一密钥密文ssa;
14.将所述数据密文sda和所述第一密钥密文ssa上传到区块链。
15.一种基于区块链技术的加密方法,该加密方法包括:
16.使用对称密钥sa对明文数据da进行加密,得到数据密文sda;
17.使用若干个被授权方的公钥pubb对所述对称密钥sa进行非对称加密,得到若干个第二密钥密文ssa’;
18.将所述数据密文sda和若干个所述第二密钥密文ssa’上传到区块链。
19.一种基于区块链技术的解密方法,该解密方法包括:
20.从区块链上获取数据密文sda和第一密钥密文ssa;
21.使用授权方的私钥pria对所述第一密钥密文ssa进行解密,得到对称密钥sa;
22.使用所述对称密钥sa对所述数据密文sda进行解密,得到明文数据da。
23.一种基于区块链技术的解密方法,该解密方法包括:
24.从区块链上获取数据密文sda和若干个第二密钥密文ssa’;
25.使用每一被授权方的私钥prib对对应的所述第二密钥密文ssa’进行解密,得到对称密钥sa;
26.使用所述对称密钥sa对所述数据密文sda进行解密,得到明文数据da。
27.一种基于区块链技术的授权方法,该授权方法包括:
28.授权方生成对称密钥sa,并使用所述对称密钥sa对明文数据da进行加密,形成数据密文sda;
29.所述授权方使用若干个所述被授权方的公钥pubb对所述对称密钥sa进行非对称加密,得到若干个第二密钥密文ssa’;
30.所述授权方将所述数据密文sda和若干个所述第二密钥密文ssa’上传到区块链;
31.每一所述被授权方从所述区块链上获取所述数据密文sda和对应的所述第二密钥密文ssa’;
32.使用每一所述被授权方的私钥prib对对应的所述第二密钥密文ssa’进行解密,得到对称密钥sa;
33.每一所述被授权方使用所述对称密钥sa对所述数据密文sda进行解密,得到所述明文数据da。
34.一种基于区块链技术的授权方法,该授权方法包括:
35.授权方生成对称密钥sa,并使用所述对称密钥sa对明文数据da进行加密,形成数据密文sda;
36.使用授权方的公钥puba对所述对称密钥sa进行非对称加密,得到第一密钥密文ssa;
37.所述授权方将所述数据密文sda和所述第一密钥密文ssa上传到区块链;
38.判断所述授权方是否要将所述明文数据da授权给若干个被授权方;
39.若否,则无执行操作;
40.若是,则所述授权方从所述区块链上获取所述第一密钥密文ssa,使用所述授权方的私钥pria对所述第一密钥密文ssa进行解密,得到所述对称密钥sa;
41.所述授权方使用若干个所述被授权方的公钥pubb对所述对称密钥sa进行加密,得到若干个第二密钥密文ssa’;
42.所述授权方将若干个所述第二密钥密文ssa’上传到所述区块链;
43.每一所述被授权方从所述区块链上获取所述数据密文sda和对应的所述第二密钥密文ssa’;
44.使用每一所述被授权方的私钥prib对对应的所述第二密钥密文ssa’进行解密,得到所述对称密钥sa;
45.每一所述被授权方使用所述对称密钥sa对所述数据密文sda进行解密,得到所述明文数据da。
46.根据本发明提供的具体实施例,本发明公开了以下技术效果:本发明提供了一种基于区块链技术的加密方法、解密方法及授权方法,通过结合对称加密与非对称加密,使数据加密后在区块链上实现对多方的数据共享,当被授权方数量较多时,避免了对单条数据或单次事务进行多次加密、多次传输和多次解密的问题,既保证了数据传输的安全性,又提高了传输效率。
附图说明
47.为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
48.图1为本发明实施例1提供的一种基于区块链技术的加密方法的流程图;
49.图2为本发明实施例2提供的一种基于区块链技术的加密方法的流程图;
50.图3为本发明实施例3提供的一种基于区块链技术的解密方法的流程图;
51.图4为本发明实施例4提供的一种基于区块链技术的解密方法的流程图;
52.图5为本发明实施例5提供的一种基于区块链技术的授权方法的流程图;
53.图6为本发明实施例6提供的一种基于区块链技术的授权方法的流程图;
具体实施方式
54.下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
55.本发明的目的是将对称加密与非对称加密进行结合,从而提供一种安全性高、传输效率高的加密方法、解密方法及授权方法。对不同的数据粒度,针对不同的被授权方在区块链上实现对单次事务、单条数据,授权单个区块链用户进行可控制共享,解决了普通加密方法只能实现对数据整体加密,整体授权解密从而导致传输效率不高的问题。同时在对多方授权的时候,只需一次数据传输就可以完成对不同被授权方的授权解密与数据共享。
56.与本发明有关的专业术语的定义如下:
57.非对称加密:非对称加密算法是一种密钥的保密方法。非对称加密算法需要两个密钥:公开密钥(publickey:简称公钥)和私有密钥(privatekey:简称私钥)。公钥与私钥是一对,如果用公钥对数据进行加密,只有用对应的私钥才能解密。
58.对称加密:指的就是加、解密使用的同是一串密钥,所以被称做对称加密。对称加密只有一个密钥作为私钥。
59.为使本发明的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本发明作进一步详细的说明。
60.实施例1:
61.请参阅图1,本发明提供了一种基于区块链技术的加密方法,该加密方法包括:
62.a1:使用对称密钥sa对明文数据da进行加密,得到数据密文sda;
63.a2:使用授权方的公钥puba对所述对称密钥sa进行非对称加密,得到第一密钥密文ssa;
64.a3:将所述数据密文sda和所述第一密钥密文ssa上传到区块链。
65.该实施例对应的是授权方在数据上链时不知道要授权给谁,那么授权方将使用对称密钥sa对明文数据da进行加密得到的数据密文sda和使用授权方自有公钥puba对所述对称密钥sa进行非对称加密得到第一密钥密文ssa上传到区块链。
66.实施例2:
67.请参阅图2,本发明提供了一种基于区块链技术的加密方法,该加密方法包括:
68.b1:使用对称密钥sa对明文数据da进行加密,得到数据密文sda;
69.b2:使用若干个被授权方的公钥pubb对所述对称密钥sa进行非对称加密,得到若干个第二密钥密文ssa’;
70.b3:将所述数据密文sda和若干个所述第二密钥密文ssa’上传到区块链。
71.该实施例与实施例1不同的是,授权方在数据上链时,是知道要将明文数据da授权给几个被授权方的,因此,有几个被授权方就使用几个被授权方的公钥pubb对所述对称密钥sa进行非对称加密,得到对应个第二密钥密文ssa’,然后授权方将数据密文sda和对应个数的第二密钥密文ssa’上传到区块链。
72.实施例3:
73.请参阅图3,本发明提供了一种基于区块链技术的解密方法,该解密方法包括:
74.c1:从区块链上获取数据密文sda和第一密钥密文ssa;其中,所述数据密文sda和所述第一密钥密文ssa是通过实施例1的加密方法上传到区块链上的,在此不再赘述;
75.c2:使用授权方的私钥pria对所述第一密钥密文ssa进行解密,得到对称密钥sa;
76.c3:使用所述对称密钥sa对所述数据密文sda进行解密,得到明文数据da。
77.该实施例对应的是授权方想要获取明文数据da,则授权方在区块链上获取数据密文sda和第一密钥密文ssa,授权方使用自有私钥pria对第一密钥密文ssa进行解密,得到对称密钥sa,然后使用密钥sa对数据密文sda进行解密,得到明文数据da。
78.实施例4:
79.请参阅图4,本发明提供了一种基于区块链技术的解密方法,该解密方法包括:
80.d1:从区块链上获取数据密文sda和若干个第二密钥密文ssa’;其中,所述数据密文sda和若干个所述第二密钥密文ssa’是通过实施例2的加密方法上传到区块链上的,在此不再赘述;
81.d2:使用每一被授权方的私钥prib对对应的所述第二密钥密文ssa’进行解密,得到对称密钥sa;
82.d3:使用所述对称密钥sa对所述数据密文sda进行解密,得到明文数据da。
83.该实施例对应的是多个被授权方想要获取授权方的明文数据da,则多个被授权方在区块链上获取数据密文sda和对应的第二密钥密文ssa’,每一被授权方使用自有私钥prib对对应的第二密钥密文ssa’进行解密,得到对称密钥sa,然后使用密钥sa对数据密文sda进行解密,得到明文数据da。
84.实施例5:
85.请参阅图5,本发明提供了一种基于区块链技术的授权方法,该授权方法包括:
86.e1:授权方生成对称密钥sa,并使用所述对称密钥sa对明文数据da进行加密,形成数据密文sda;
87.e2:所述授权方使用若干个所述被授权方的公钥pubb对所述对称密钥sa进行非对称加密,得到若干个第二密钥密文ssa’;
88.e3:所述授权方将所述数据密文sda和若干个所述第二密钥密文ssa’上传到区块链;
89.e4:每一所述被授权方从所述区块链上获取所述数据密文sda和对应的所述第二密钥密文ssa’;
90.e5:使用每一所述被授权方的私钥prib对对应的所述第二密钥密文ssa’进行解密,得到对称密钥sa;
91.e6:每一所述被授权方使用所述对称密钥sa对所述数据密文sda进行解密,得到所述明文数据da。
92.该实施例对应的是授权方在数据上链时,是知道要将明文数据da授权给几个被授权方的,因此,有几个被授权方就使用几个被授权方的公钥pubb对所述对称密钥sa进行非对称加密,得到对应个第二密钥密文ssa’,然后授权方将数据密文sda和对应个数的第二密钥密文ssa’上传到区块链;接着多个被授权方在区块链上获取数据密文sda和对应的第二密钥密文ssa’,每一被授权方使用自有私钥prib对对应的第二密钥密文ssa’进行解密,得到对称密钥sa,最后使用密钥sa对数据密文sda进行解密,得到明文数据da。
93.实施例6:
94.请参阅图6,本发明提供了一种基于区块链技术的授权方法,该授权方法包括:
95.f1:授权方生成对称密钥sa,并使用所述对称密钥sa对明文数据da进行加密,形成数据密文sda;
96.f2:使用授权方的公钥puba对所述对称密钥sa进行非对称加密,得到第一密钥密文ssa;
97.f3:所述授权方将所述数据密文sda和所述第一密钥密文ssa上传到区块链;
98.f4:判断所述授权方是否要将所述明文数据da授权给若干个被授权方;
99.f5:若否,则无执行操作;
100.f6:若是,则所述授权方从所述区块链上获取所述第一密钥密文ssa,使用所述授权方的私钥pria对所述第一密钥密文ssa进行解密,得到所述对称密钥sa;
101.f7:所述授权方使用若干个所述被授权方的公钥pubb对所述对称密钥sa进行加密,得到若干个第二密钥密文ssa’;
102.f8:所述授权方将若干个所述第二密钥密文ssa’上传到所述区块链;
103.f9:每一所述被授权方从所述区块链上获取所述数据密文sda和对应的所述第二密钥密文ssa’;
104.f10:使用每一所述被授权方的私钥prib对对应的所述第二密钥密文ssa’进行解密,得到所述对称密钥sa;
105.f11:每一所述被授权方使用所述对称密钥sa对所述数据密文sda进行解密,得到所述明文数据da。
106.该实施例对应的是授权方在数据上链时不知道要授权给谁,那么授权方先将使用对称密钥sa对明文数据da进行加密得到的数据密文sda和使用授权方自有公钥puba对所述对称密钥sa进行非对称加密得到第一密钥密文ssa上传到区块链。当授权方得知要将明文数据da授权给多个被授权方时,授权方先从区块链上获取第一密钥密文ssa,使用授权方自有私钥pria对第一密钥密文进行解密,得到对称密钥sa;然后有几个被授权方就使用几个被授权方的公钥pubb对所述对称密钥sa进行非对称加密,得到对应个第二密钥密文ssa’,随后授权方将数据密文sda和对应个数的第二密钥密文ssa’上传到区块链;接着多个被授权方在区块链上获取数据密文sda和对应的第二密钥密文ssa’,每一被授权方使用自有私钥prib对对应的第二密钥密文ssa’进行解密,得到对称密钥sa,最后使用密钥sa对数据密文sda进行解密,得到明文数据da。
107.综上所述,本发明综合利用了对称加密技术和非对称加密技术,使数据加密后在区块链上实现对多方的数据共享,既发挥了对称加密算法速度块、安全性好的优点,又发挥了对称加密算法密钥管理方便的优点,同时又保障了区块链上的数据私密性与便捷的授权性。另外,通过几何对称加密与非对称加密,实现了单条数据单次传输对区块链上被授权方的可控数据共享,同时发挥了密钥管理去中心化的优点,符合区块链去中性化的理念。
108.本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处。综上所述,本说明书内容不应理解为对本发明的限制。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1