一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

基于区块链和变色龙哈希算法的数据加密共享的实现方法与流程

2022-05-11 11:35:17 来源:中国专利 TAG:


1.本发明公开基于区块链和变色龙哈希算法的数据加密共享的实现方法,涉及数据加密技术领域。


背景技术:

2.数据加密技术是为了提高信息系统和数据的安全性和保密性,防止秘密数据被外部破译而采用的主要技术手段之一。常用的数据加密算法分为两大类:对称加密算法和非对称加密算法。对称加密算法的加密和解密依赖相同的对称秘钥,即:使用对称秘钥对明文加密得到密文,使用相同的对称秘钥对密文解密得到明文。非对称加密算法则依赖一对秘钥:公钥和私钥,公钥对外公布,私钥则需保密,使用公钥加密的数据需要使用私钥进行解密,使用私钥加密的数据需要使用公钥解密。
3.对称加密算法适用于加密数据量较大的数据,非对称数据适用于加密数据量较小的数据,目前主流的数据加密和共享方案通常使用对称加密算法加密隐私数据,使用非对称加密算法加密对称秘钥,数据共享双方传递加密数据和加密的对称秘钥。该方案包含了对称秘钥的传递过程,增加了秘钥泄露的风险。
4.椭圆曲线加密算法,即:elliptic curve cryptography,简称ecc,是基于椭圆曲线数学理论实现的一种非对称加密算法。ecc的公私钥是基于椭圆曲线及椭圆曲线上的运算法则生成的。变色龙哈希(chameleon hash)是一种特殊的哈希函数,传统的哈希函数很难找到碰撞,但是变色龙哈希函数可以人为的设下一个“后门”,我们称为陷门信息,在掌握了陷门信息后就可以轻松的找到碰撞。


技术实现要素:

5.本发明针对现有技术的问题,提供基于区块链和变色龙哈希算法的数据加密共享的实现方法,所采用的技术方案为:基于区块链和变色龙哈希算法的数据加密共享的实现方法,所述的方法具体步骤如下:
6.s1搭建fabric区块链网络作为数据加密存储和交换共享的基础,为用户注册区块链身份;
7.s2根据用户之间交换的加密数据生成对称秘钥;
8.s3通过加密方加密数据并写链;
9.s4解密方从数据并写链上读取数据并生成对称秘钥;
10.s5利用生成的对称秘钥对加密数据解密得到原始的隐私数据。
11.所述s2根据用户之间交换的加密数据生成对称秘钥的具体步骤如下:
12.s201使用加密方的私钥和解密方的公钥生成陷门信息;
13.s202生成4个随机数记为g、m1、m2、r1,利用g和陷门信息生成变色龙哈希函数hab(m,r);
14.s203将m1、r1、m2带入hab,并利用陷门信息求得r2使得满足hab(m1,r1)=hab(m2,
r2);
15.s204将m1、r2带入hab得到的哈希值作为对称秘钥。
16.所述s3中写链数据为json格式。
17.所述s4解密方从数据并写链上读取数据并生成对称秘钥的具体步骤如下:
18.s401使用解密密方的私钥和加密方的公钥生成陷门信息;
19.s402从链上读取对称秘钥附加信息g、m1、m2、r1,利用g和陷门信息生成变色龙哈希函数hab(m,r);
20.s403将m1、r1、m2带入hab,并利用陷门信息求得r2使得满足hab(m1,r1)=hab(m2,r2);
21.s404将m1、r2带入hab得到的哈希值即为对称秘钥。
22.基于区块链和变色龙哈希算法的数据加密共享的实现系统,所述的系统具体包括身份建立模块、秘钥生成模块a、加密处理模块、秘钥生成模块b和加密解析模块:
23.身份建立模块:搭建fabric区块链网络作为数据加密存储和交换共享的基础,为用户注册区块链身份;
24.秘钥生成模块a:根据用户之间交换的加密数据生成对称秘钥;
25.加密处理模块:通过加密方加密数据并写链;
26.秘钥生成模块b:解密方从数据并写链上读取数据并生成对称秘钥;
27.加密解析模块:利用生成的对称秘钥对加密数据解密得到原始的隐私数据。
28.所述秘钥生成模块a具体包括信息生成模块a、信息处理模块a、哈希处理模块a和带入生成模块a:
29.信息生成模块a:使用加密方的私钥和解密方的公钥生成陷门信息;
30.信息处理模块a:生成4个随机数记为g、m1、m2、r1,利用g和陷门信息生成变色龙哈希函数hab(m,r);
31.哈希处理模块a:将m1、r1、m2带入hab,并利用陷门信息求得r2使得满足hab(m1,r1)=hab(m2,r2);
32.带入生成模块a:将m1、r2带入hab得到的哈希值作为对称秘钥。
33.所述加密处理模块中写链数据为json格式。
34.所述秘钥生成模块b具体包括信息生成模块b、信息处理模块b、哈希处理模块b和带入生成模块b:
35.信息生成模块b:使用解密方的私钥和加密方的公钥生成陷门信息;
36.信息处理模块b:从链上读取对称秘钥附加信息g、m1、m2、r1,利用g和陷门信息生成变色龙哈希函数hab(m,r);
37.哈希处理模块b:将m1、r1、m2带入hab,并利用陷门信息求得r2使得满足hab(m1,r1)=hab(m2,r2);
38.带入生成模块b:将m1、r2带入hab得到的哈希值即为对称秘钥。
39.本发明的有益效果为:对称秘钥的生成及使用其进行数据加解密的过程由用户单方完成,不存在秘钥的传递交换,避免了秘钥在传递过程中被窃取暴露的风险;秘钥生成所需的额外参数写入了区块链中,不用担心因为参数信息的遗忘而导致的秘钥遗失;每次加密时使用的秘钥都是根据随机参数从新生成的,即使某一次加密使用的秘钥因为不可以预
知的原因而泄露了,也不会威胁到其他被加密的数据;
40.本发明方法利用椭圆曲线加密算法公私钥生成特性,结合变色龙哈希算法陷门特性,在不暴露对称秘钥信息的前提下,实现用户双方生成相同秘钥的效果;隐私数据持有方利用生成的对称秘钥将隐私数据加密后写入区块链上,并附加生成秘钥的额外信息;任何用户均可在链上查看这些信息,但无法解密;只有被授权的用户,才可以利用这些信息生成对称秘钥,进而解密出原始的隐私数据。
附图说明
41.为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
42.图1是本发明方法的实施流程示意图。
具体实施方式
43.下面结合附图和具体实施例对本发明作进一步说明,以使本领域的技术人员可以更好地理解本发明并能予以实施,但所举实施例不作为对本发明的限定。
44.实施例一:
45.基于区块链和变色龙哈希算法的数据加密共享的实现方法,所述的方法具体步骤如下:
46.s1搭建fabric区块链网络作为数据加密存储和交换共享的基础,为用户注册区块链身份;
47.s2根据用户之间交换的加密数据生成对称秘钥;
48.s3通过加密方加密数据并写链;
49.s4解密方从数据并写链上读取数据并生成对称秘钥;
50.s5利用生成的对称秘钥对加密数据解密得到原始的隐私数据;
51.搭建fabric区块链网络作为数据加密存储和交换共享的基础,为用户注册区块链身份,即公私钥;fabric中使用的签名算法为ecdsa,用户的私钥实质上是一个比较大的正整数(记为s),用户的公钥实质上是椭圆曲线上的一个点(记为p),并且他们之间存在着这样的关系:p=s
×
g,其中g为椭圆曲线的基点;
52.假设存在用户a、用户b和用户c,用户a要将一条隐私数据加密后存储到区块链网络,并且将该数据共享给用户b和用户c;用户a的公钥记为pa,私钥记为sa,同样的,将用户b和用户c的公私钥分别记为:pb、sb、pc、sc;用户a待加密共享的隐私数据记为d;
53.如图1所示,首先用户a生成秘钥附加信息,即技术方案第(2)步中的4个随机数,继而利用秘钥附加信息和用户b的公钥以及自己的私钥生成对称秘钥;
54.接着,用户a使用生成的对称秘钥对隐私数据加密,并将得到加密数据以及秘钥附加信息写入区块链;
55.用户b从区块链中读取到秘钥附加信息和加密数据,并且利用秘钥附加信息和用户a的公钥以及自己的私钥生成对称秘钥,该对称秘钥与用户a生成的对称秘钥是相同的;
56.最后用户b利用生成的对称秘钥对加密数据解密,从而得到了原始的隐私数据;
57.进一步的,所述s2根据用户之间交换的加密数据生成对称秘钥的具体步骤如下:
58.s201使用加密方的私钥和解密方的公钥生成陷门信息;
59.s202生成4个随机数记为g、m1、m2、r1,利用g和陷门信息生成变色龙哈希函数hab(m,r);
60.s203将m1、r1、m2带入hab,并利用陷门信息求得r2使得满足hab(m1,r1)=hab(m2,r2);
61.s204将m1、r2带入hab得到的哈希值作为对称秘钥;
62.用户a生成中间参数kab和kac,生成的公式为:k
ab
=sa×
pb和k
ac
=sa×
pc63.kab和kac实质上是椭圆曲线上的两个点,将kab和kac编码为两个数字(编码方式如:x坐标和y坐标相加)记为:xab和xac;
64.用户a生成4个随机数记为g、m1、m2、r1;
65.利用g和xab生成hab,
66.利用g和xac生成hac,
67.利用g、hab和hac构建两个变色龙哈希函数hab和hac
68.h
ab
(m,r)=g
mhabr
69.h
ac
(m,r)=g
mhacr
70.xab和xac分别为hab和hac哈希函数的陷门信息;
71.以hab为例,将m1和r1带入hab函数得到哈希值hab(m1,r1),在知道陷门信息xab后,可以求得特定随机数r2ab满足hab(m1,r1)=hab(m2,r2ab),计算公式为:
72.r2
ab
=(m1-m2)x
ab-1
r1
73.同理可以求得r2ac满足hac(m1,r1)=hac(m2,r2ac)
74.将m1和r2ab带入hab得到哈希值hab(m1,r2ab),记为sab,sab即为用户a和用户b之间交换加密数据的对称秘钥;
75.同样的,将m1和r2ac带入hac得到哈希值hac(m1,r2ac),记为sac,sac即为用户a和用户c之间交换加密数据的对称秘钥;
76.进一步的,所述s3中写链数据为json格式;
77.用户a使用对称秘钥sab对隐私数据d加密,得到的值记为edab;
78.使用对称秘钥sac对隐私数据d加密,得到的值记为edac;
79.组织如下结构的json字符串:
[0080][0081][0082]
用户a生成uuid记为data_id,将data_id作为key,将上述json字符串作为value,进行数据写链并将data_id发送给用户b和用户c;
[0083]
再进一步的,所述s4解密方从数据并写链上读取数据并生成对称秘钥的具体步骤如下:
[0084]
s401使用解密密方的私钥和加密方的公钥生成陷门信息;
[0085]
s402从链上读取对称秘钥附加信息g、m1、m2、r1,利用g和陷门信息生成变色龙哈希函数hab(m,r);
[0086]
s403将m1、r1、m2带入hab,并利用陷门信息求得r2使得满足hab(m1,r1)=hab(m2,r2);
[0087]
s404将m1、r2带入hab得到的哈希值即为对称秘钥;
[0088]
以用户b为例,根据data_id从区块链中读取得到json数据,并从json中获取到g、m1、m2、r1和edab;
[0089]
计算中间参数kab,k
ab
=sb×
pa,并根据kab获取陷门信息xab;
[0090]
利用g和xab生成hab,
[0091]
获取变色龙哈希函数hab,h
ab
(m,r)=g
mhabr

[0092]
将m1和r1带入hab函数得到哈希值hab(m1,r1),在知道陷门信息xab后,可以求得特定随机数r2ab满足hab(m1,r1)=hab(m2,r2ab),计算公式为:
[0093]
r2
ab
=(m1-m2)x
ab-1
r1
[0094]
将m1和r2ab带入hab得到哈希值hab(m1,r2ab),即sab,即用户a和用户b之间交换加密数据的对称秘钥;
[0095]
使用sab对edab进行解密,即获取到原始的隐私数据d。
[0096]
实施例二:
[0097]
基于区块链和变色龙哈希算法的数据加密共享的实现系统,所述的系统具体包括身份建立模块、秘钥生成模块a、加密处理模块、秘钥生成模块b和加密解析模块:
[0098]
身份建立模块:搭建fabric区块链网络作为数据加密存储和交换共享的基础,为用户注册区块链身份;
[0099]
秘钥生成模块a:根据用户之间交换的加密数据生成对称秘钥;
[0100]
加密处理模块:通过加密方加密数据并写链;
[0101]
秘钥生成模块b:解密方从数据并写链上读取数据并生成对称秘钥;
[0102]
加密解析模块:利用生成的对称秘钥对加密数据解密得到原始的隐私数据;
[0103]
进一步的,所述秘钥生成模块a具体包括信息生成模块a、信息处理模块a、哈希处理模块a和带入生成模块a:
[0104]
信息生成模块a:使用加密方的私钥和解密方的公钥生成陷门信息;
[0105]
信息处理模块a:生成4个随机数记为g、m1、m2、r1,利用g和陷门信息生成变色龙哈希函数hab(m,r);
[0106]
哈希处理模块a:将m1、r1、m2带入hab,并利用陷门信息求得r2使得满足hab(m1,r1)=hab(m2,r2);
[0107]
带入生成模块a:将m1、r2带入hab得到的哈希值作为对称秘钥;
[0108]
进一步的,所述加密处理模块中写链数据为json格式;
[0109]
再进一步的,所述秘钥生成模块b具体包括信息生成模块b、信息处理模块b、哈希处理模块b和带入生成模块b:
[0110]
信息生成模块b:使用解密方的私钥和加密方的公钥生成陷门信息;
[0111]
信息处理模块b:从链上读取对称秘钥附加信息g、m1、m2、r1,利用g和陷门信息生成变色龙哈希函数hab(m,r);
[0112]
哈希处理模块b:将m1、r1、m2带入hab,并利用陷门信息求得r2使得满足hab(m1,r1)=hab(m2,r2);
[0113]
带入生成模块b:将m1、r2带入hab得到的哈希值即为对称秘钥。
[0114]
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献