[发明专利]基于可搜索代理重加密的区块链数据共享方法有效
申请号: | 202010472245.X | 申请日: | 2020-05-29 |
公开(公告)号: | CN111641641B | 公开(公告)日: | 2021-07-30 |
发明(设计)人: | 冯涛;裴宏梅;陈武阳;杨任轶;杜瑾泽;方君丽 | 申请(专利权)人: | 兰州理工大学 |
主分类号: | H04L29/06 | 分类号: | H04L29/06 |
代理公司: | 兰州振华专利代理有限责任公司 62102 | 代理人: | 董斌 |
地址: | 730050 甘肃*** | 国省代码: | 甘肃;62 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 基于 搜索 代理 加密 区块 数据 共享 方法 | ||
1.基于可搜索代理重加密的区块链数据共享方法,其特征在于,其步骤为:
步骤(1)初始化(G1,G2,e,g,H,β,sk)←Setup(1λ):给定安全参数1λ,生成q阶的双线性群G1和G2,随机选择群G1的生成元g,双线性对e:G1×G1→G2,哈希函数H:{0,1}*→G1,公布系统参数PP(G1,G2,e,g,g1,H);方案中数据发布者选择随机数β∈Zp*,初始化计算公私钥PKi=gβ,SKi=β,MK=(M1,M2),其中M1,M2为满秩矩阵;
步骤(2)加密Cz←E(D,gβ):数据拥有者pi首先提取数据D的关键字,然后利用公钥gβ和数据D获得密文;加密过程如下:在Zp*中选取随机数ri,重加密计算如下:
Cz=(c1,c2,c3) (1)
c3=H(H(c1)||H(c1||c2)) (4)
然后存储到外部服务器,外部服务器将数据存储的位置DLoc发送给数据拥有者;数据明文计算如下:
D=c2/e(c1,g1β) (5)
步骤(3)重加密密钥rki→j←(rk1,rk2,rk3)产生:当数据使用者uj想访问数据时,通过代理重加密密钥将pki的数据密码本转换为pkj的数据密码本;数据使用者就可以使用自己的私钥来解密原始由公钥pki加密的数据了;我们在Zp*中选择随机数rj,重加密密钥计算过程如下:
rk3=H(H(rk1)||H(rk1||rk2)) (8)
步骤(4)索引生成I←Enc(MK,pp,wi):数据拥有者收集数据的关键字w={w1,w2,....wn},输入密钥MK,输出加密索引I=(I1,I2,...,In)其中每一个Ii产生如下:本文基于Cao等人修改的安全KNN技术产生(n+1)-维向量pi=(pi,1,pi,2,...,pi,n),pi分为两个向量(pi′,pi″)延伸为pi=(β,1),同理产生(n+1)-维向量qi=(q1,...,qn),qi分为两个向量(qi′,qi″)延伸为qi=(r,α),其中β=H(wi);关键字wi加密这两个向量数据发布者创建一个新交易,将索引I附加到交易中并将交易广播到区块链系统中;带有索引的交易和区块链中的普通交易一样,被矿工节点验证后添加到区块中;
步骤(5)搜索令牌的生成TK←TokenGen(MK,pp,wi),数据查询者构建搜索令牌, 具体的构建过程如下:数据查询者将关键字wi和I,MK,PP,对于关键字wi的搜索令牌TK算法如下:
数据查询者生成交易,将搜索令牌TK附加到交易上发送给周围的矿工节点;
步骤(6)测试{0,1}←Test(I,TK,pp):矿工节点收到数据使用者提交的搜索令牌TK后,先在自身存储的区块链副本中进行索引匹配;匹配算法如下:
e(Ii,1,TK1)·e(Ii,2,TK2)=e(g,TK3) (9)
步骤(7)询问(TK,I,PP)→E(DLOC)或者终止;用关键字的搜索令牌和加密索引,区块链的矿工节点执行二进制搜索算法返回加密文件的存储位置;
步骤(8)密文转换Wj←(c1,c2,c3,rki→j):
W4=H(H(W1)||H(W1||W2)||H(W2||W3)) (11)
步骤(9)解密D←D(Wi,SKi):
D=W2/e(W1,W3)r (12) 。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于兰州理工大学,未经兰州理工大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202010472245.X/1.html,转载请声明来源钻瓜专利网。