【技术实现步骤摘要】
基于区块链的条件隐藏可搜索代理重加密方法及存储介质
[0001]本专利技术属于密码学领域,涉及一种基于区块链的条件隐藏可搜索代理重加密方法,可以保证数据搜索的机密性却又不失数据分享的效率。
技术介绍
[0002]代理重加密是一种关键的密文转换机制,基于授权人公钥加密的密文可以被转换为另一个密文,被转换后的密文可以由被授权人的私钥进行解密。该密文转换过程由一个半可信的代理者执行,在执行该过程前,代理者需要持有一个由授权人到被授权人的重加密密钥,该重加密密钥一般由授权人生成并交给代理者。同时在密文转换的整个过程中,代理者无法获取关于该密文对应明文的任何信息。
[0003]双线性配对也称为双线性映射,是指阶为素数p的循环群G1、G2存在有一个映射e:G1×
G1→
G2满足双线性、非退化性和可计算性,则e为一个双线性映射。双线性的数学解释为对于任意和x,y∈G1,有e(x
a
,y
b
)=e(x,y)
ab
;非退化性存在x,y∈G1,使e(x,y)≠1。可 ...
【技术保护点】
【技术特征摘要】 【专利技术属性】
1.一种基于区块链的条件隐藏可搜索代理重加密方法,包括如下步骤:步骤1、系统初始化;步骤2、密钥的生成:生成由公钥和私钥组成的密钥对;步骤3、关键字抽取:医疗数据抽取出关键字,关键字和医疗数据明文对应;步骤4、医疗数据加密:将关键字抽取过的医疗数据用公钥进行加密,生成密文CT,并将关键字加密成关键字密文I
w
,I
w
作为密文CT的索引;把CT存入云服务器,I
w
存入区块链上;步骤5、重加密密钥生成:利用管理员的私钥和被授权者的公钥,生成代理重加密密钥,交由云服务器做代理重加密操作;步骤6、代理重加密;步骤7、数据搜索:首先被授权者通过trapdoor算法生成一个带有关键字的陷门t
w
,再通过test算法的配对操作在区块链上找到符合条件的索引I
w
,将找到所有I
w
返回给云服务器;步骤8、数据解密:被授权者收到云服务器返回来的重加密密文,用自己私钥进行解密。2.如权利要求1所述的基于区块链的条件隐藏可搜索代理重加密方法,其特征在于:所述步骤1具体如下:Setup(1
k
):给出安全参数k,Setup算法选择阶为素数p的群G和G
T
,e:G
×
G
→
G
T
为双线性映射操作;随机产生生成元f,g∈G,而且有两个随机哈希函数H1:{0,1}
*
→
G和H2:{0,1}
*
→
Z
q*
,公共参数给出如下param=(G,G
T
,e,f,g,H1,H2)。3.如权利要求2所述的基于区块链的条件隐藏可搜索代理重加密方法,其特征在于:所述步骤2具体如下:KeyGen(1
k
):在输入安全参数1
k
后,每个用户产生各自的公私钥对;随机选择a,b∈Z
q*
且令sk1=a,sk2=b;pk1=f
a
,pk2=g
b
,那么用户的公钥和私钥分别表示为如下:pk=(pk1,pk2),sk=(sk1,sk2)用pk
i
来表示授权者i的公钥,sk
i
来表示授权者的私钥;被授权者j的公私钥以pk
j
和sk
j
来表示。4.如权利要求3所述的基于区块链的条件隐藏可搜索代理重加密方法,其特征在于:所述步骤4具体如下:Enc(pk,m,w):将一个字符串类型的明文通过哈希函数映射到G
T
群,取映射后G
T
技术研发人员:张金英,万健,王海江,张蕾,黄杰,林高凡,
申请(专利权)人:浙江科技学院,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。