【技术实现步骤摘要】
一种基于区块链及代理重加密的数据传输方法及系统
本专利技术涉及数据传输
,尤其涉及一种基于区块链及代理重加密的数据传输方法及系统。
技术介绍
现有大多数数据管理系统是中心化模式,用户需要将数据明文地存储到管理系统中,当有用户请求授权时,由管理系统来完成的交易和分配。然而,在此方式下,当管理系统一旦遭受黑客攻击或者内部管理人员故意偷窃数据时,用户的原始数据则会被滥用。为解决上述问题,现有技术提出了一种基于区块链技术的去中心化管理系统让用户的交易授权过程通过智能合约来完成,保证了交易双方之间的公平性和安全性。在这一技术中用户为了保护自己的数据不受第三方控制,会将自己的数据进行加密存储在分布式数据库中。当有用户请求数据时,数据拥有者需要将密文下载下来之后,然后用自己的私钥进行解密得到明文,再利用数据请求者的公钥对明文进行重新加密,然后再将重新加密后的密文上传。在这一过程中,数据拥有者需要将数据重新下载,利用数据请求者的公钥对明文进行重新加密重新加密,再重新上传,这样会造成极大的通信代价。
技术实现思路
本专利技术实施例提供一种基于区块链及代理重加密的数据传输方法及系统,能减少数据传输的通信代价。一种基于区块链及代理重加密的数据传输方法,包括:数据拥有者终端根据数据拥有者的公钥以及预设的第一加密算法对待传输数据进行加密,生成第一密文,继而将所述第一密文传输至数据代理终端;数据请求者终端将数据请求者的公钥上传至区块链中,并向数据拥有者终端发送数据传输请求;数据拥有者终端接收所述 ...
【技术保护点】
1.一种基于区块链及代理重加密的数据传输方法,其特征在于,包括:/n数据拥有者终端根据数据拥有者的公钥以及预设的第一加密算法对待传输数据进行加密,生成第一密文,继而将所述第一密文传输至数据代理终端;/n数据请求者终端将数据请求者的公钥上传至区块链中,并向数据拥有者终端发送数据传输请求;/n数据拥有者终端接收所述数据传输请求,并从所述区块链中获取数据请求者的公钥,并根据所述数据请求者的公钥、所述数据拥有者的私钥和预设的密钥生成算法,生成代理密钥,将所述代理密钥传输至数据代理终端;/n数据代理终端根据所述代理密钥以及预设的第二加密算法将所述第一密文进行重新加密,生成与所述数据请求者的公钥对应的第二密文,并将所述第二密文传输至所述数据请求者终端;/n数据请求者终端在接收所述第二密文后,根据所述数据请求者的密钥对所述第二密文进行解密,获得待传输数据的数据明文。/n
【技术特征摘要】
1.一种基于区块链及代理重加密的数据传输方法,其特征在于,包括:
数据拥有者终端根据数据拥有者的公钥以及预设的第一加密算法对待传输数据进行加密,生成第一密文,继而将所述第一密文传输至数据代理终端;
数据请求者终端将数据请求者的公钥上传至区块链中,并向数据拥有者终端发送数据传输请求;
数据拥有者终端接收所述数据传输请求,并从所述区块链中获取数据请求者的公钥,并根据所述数据请求者的公钥、所述数据拥有者的私钥和预设的密钥生成算法,生成代理密钥,将所述代理密钥传输至数据代理终端;
数据代理终端根据所述代理密钥以及预设的第二加密算法将所述第一密文进行重新加密,生成与所述数据请求者的公钥对应的第二密文,并将所述第二密文传输至所述数据请求者终端;
数据请求者终端在接收所述第二密文后,根据所述数据请求者的密钥对所述第二密文进行解密,获得待传输数据的数据明文。
2.如权利要求1所述的基于区块链及代理重加密的数据传输方法,其特征在于,根据数据拥有者的公钥以及预设的第一加密算法对待传输数据进行加密,生成第一密文,具体为:
随机选取参数e和v,继而通过以下公式对待传输数据进行加密:
E=[e]G=(x3,y3);V=[v]G=(x4,y4);S=v+eHash(x3||x4||y3||y4);
(v+e)pkAlice=(x5,y5);t=KDF(x5||y5,klen);
C2=Hash(x5||M||y5);C=C1||C2;CapsuleAclie=(E,V,S);
将(C,CapsuleAclie)作为所述第一密文;
其中,pkAlice为数据拥有者的公钥,且pkAlice=skAliceG;skAlice为数据拥有者的私钥;EQ(Fq)为Fq上椭圆曲线EQ的所有有理点组成的集合;G为椭圆曲线EQ的基点;n为基点G的阶;Hash()为基于SM3的密码杂凑函数;M为所述待传输数据;KDF()为密钥派生函数;klen为KDF()要获得的密钥数据的比特长度;e属于[1,n-1];v属于[1,n-1]。
3.如权利要求2所述的基于区块链及代理重加密的数据传输方法,其特征在于,根据所述数据请求者的公钥、所述数据拥有者的私钥和预设的密钥生成算法,生成代理密钥,具体为:
通过以下公式生成所述代理密钥:
YA=xAG;d=Hash(YA||pkBob||xApkBob);rk=skAliced-1;
将rk作为所述代理密钥;
其中,xA属于[1,n-1];pkBob为数据请求者的公钥,且pkBob=skBobG;skBob为数据请求者的私钥。
4.如权利要求3所述的基于区块链及代理重加密的数据传输方法,其特征在于,根据所述代理密钥以及预设的第二加密算法将所述第一密文进行重新加密,生成与所述数据请求者的公钥对应的第...
【专利技术属性】
技术研发人员:翁健,李勇标,李明,李宇娴,翁嘉思,吴永东,
申请(专利权)人:暨南大学,
类型:发明
国别省市:广东;44
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。