基于区块链的条件隐藏可搜索代理重加密方法及存储介质技术

技术编号:33732854 阅读:38 留言:0更新日期:2022-06-08 21:28
本发明专利技术公开了一种基于区块链的条件隐藏可搜索代理重加密方法,可以保证数据搜索的机密性却又不失数据分享的效率。利用代理重加密和可搜索加密技术实现对第三方用户授权分享,并且搜索条件、搜索关键字嵌入重加密密钥中,在保证支持云服务器细粒度的搜索并重加密目标数据的同时,还避免了云服务器对用户搜索内容的记录。利用区块链技术,做到每一笔数据分享交易公开透明,并且不可篡改,高效追踪医疗数据的流动并避免单节点故障问题。利用智能合约机制保证了数据搜索的准确性,将密文数据搜索算法写成智能合约交由区块链来执行,保证数据搜索结果的完整。据搜索结果的完整。据搜索结果的完整。

【技术实现步骤摘要】
基于区块链的条件隐藏可搜索代理重加密方法及存储介质


[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。可计算性对于任意的x,本文档来自技高网...

【技术保护点】

【技术特征摘要】
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

【专利技术属性】
技术研发人员:张金英万健王海江张蕾黄杰林高凡
申请(专利权)人:浙江科技学院
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1