欢迎来到知嘟嘟! 联系电话:13095918853 卖家免费入驻,海量在线求购! 卖家免费入驻,海量在线求购!
知嘟嘟
我要发布
联系电话:13095918853
知嘟嘟经纪人
收藏
专利号: 2018106115702
申请人: 安徽师范大学
专利类型:发明专利
专利状态:已下证
专利领域: 计算;推算;计数
更新日期:2023-12-08
缴费截止日期: 暂无
价格&联系人
年费信息
委托购买

摘要:

权利要求书:

1.一种基于区块链的电子病历安全搜索方法,其特征在于,该基于区块链的电子病历安全搜索方法包括:

步骤1,建立系统,并产生密钥;

步骤2,产生电子病历并提取关键词,对所述电子病历和所述关键词进行加密并执行存储;

步骤3,执行电子病历的搜索;

在步骤1中,建立系统,并产生密钥的方法包括:步骤11,给定安全参数k,系统选择阶为素数p的两个循环群G1,G2以及一个双线性对满足双线性和对称性,其中,双线性是指对所有V,Q∈G1以及 有 对称性是指是从1到P的整数集合;

选择以下七个hash函数:*

H0:G2→{0,1}, H2:G1→M,计算, 其中,M是电子病历数据空间,P1和P2是G1的两个生成元;

系统参数为

步骤12,病人i随机选择 作为其私钥ski,并产生对应的公钥pki=(Yi1=yi1P1,Yi2=yi2P1,Yi3);

步骤13,医生j随机选择 作为其私钥,并产生对应的公钥pkj=(Yj=yjP1);

在步骤2中,产生电子病历并提取关键词,对所述电子病历和所述关键词进行加密并执行存储的方法包括:

步骤21,医生产生电子病历并从所述电子病历中提取关键词,该关键词应选自标准的医药描述术语集;

步骤22,医生对电子病历m和关键词w进行可搜索加密;

加密方法如下:

随机选择

计算

计算 设矢量X=[X1,X2,...,Xn],其中

2 n

X1=r1H1(w)P1,X2=r1(H1(w)) P1,...,Xn=r1(H1(w)) P1;

计算

该加密算法的输出为ci=(ci0,ci1,ci2);其中,ci1=(A,B,E,F),ci2=(J,X),(A,B,E,F)是可搜索加密的密文,ce=(A,J,X)是用于验证关键词有效性的证据;

步骤23,医生对病人身份IDi进行可搜索加密为密文di作为病历编号;

加密方法如下:

随机选择 计算

Bd=r1Yi2,r0=H5(IDi,Bd),Ad=r0(Yi1+H1(IDi)P1)+r1P1,计算Ed=r0Yi3,

病人身份IDi加密为di=(Ad,Bd,Ed,Fd);

步骤24,医生将密文(ci,di)作为一个新的区块发送到区块链中;

步骤25,区块链的验证者验证关键词的有效性,作为该区块链的共识机制;

该共识机制如下:

假设关键词集合Ω={w1,w2,...wn},通过建立基于关键词多项式的方法验证关键词的有效性,具体过程如下:

计算H(w1),H(w2),...H(wn),其中H(·)为哈希函数,构建一个n阶多项式,该n次多项式的根的表达式为

f(x)=(x‑H(w1))(x‑H(w2))...(x‑H(wn))显然,f(H(wi))=0,i∈{1,2,....n},该式可以表示为一般表达式n n‑1

f(x)=x+bn‑1x +...+b1x+b0这样,f(x)=0可以表示为n n‑1

x+bn‑1x +...+b1x+b0=0对上式进行变换可以得到

令 构建新的多项式

n n‑1

g(x)=anx+an‑1x +...+a1x2

可得g(H(wi))=1;定义一个矢量Λ=[a1,a2,...an]和Hi=[H(wi),(H(wi)) ,...,(Hn

(wi))],矢量Λ和Hi的内积Λ·Hi=1,从而矢量Λ可以用来验证所包含的关键词是否选自可选关键词集;

区块链的验证者按照如下方法验证接收到的密文(ci,di)中关键词是否有效:验证以下两个等式

若超过2/3的验证者验证了以上两个等式成立,将该区块加入到区块链中。

2.根据权利要求1所述的基于区块链的电子病历安全搜索方法,其特征在于,在步骤3中,执行电子病历的搜索的方法包括:d d d

步骤31,病人产生身份搜索陷门Td=(T1 ,T2 ,T3)和关键词搜索陷门Tw=(T1,T2,T3),其d d d

中,T1 ,T2 ,T3是Td中的第一、第二和第三项;T1,T2,T3是Tw中的第一、第二和第三项;方法如下:

随机选择 计算

d d d

T1=Yj/(yi1+H1(IDi)+yi3H6(β,rd)),T2=T1/yi2,T3=rd;

随机选择 计算

T1=Yj/(yi1+H1(w)+yi3H6(β,r)),T2=T1/yi2,T3=r;其中,β是一个随机数;

步骤32,电子病历的搜索者接收到病人的搜索陷门Td和Tw后搜索电子病历。

3.根据权利要求2所述的基于区块链的电子病历安全搜索方法,其特征在于,在步骤32中,搜索电子病历的方法包括:d d d

步骤321,搜索密文中身份为IDi的病历,即提取Td=(T1 ,T2 ,T3 ),计算和Vd=U1/U2,验证H4(Vd,Ad,Bd)=Fd是否成立,若成立,该病历为所需查找病人的病历,提取出对应密文ci0和ci1=(A,B,E,F);

式中,Ad,Bd,Ed,Fd是身份为IDi的患者的身份密文di=(Ad,Bd,Ed,Fd);

步骤322,计算 和V=U1/U2,验证H4(V,A,B)=F,若该等式成立,ci0为所需查找病人所需查找关键词的病历,计算和r0'=H3(m',B),验证 是否成立,若该等式成立,接受m’。