[发明专利]基于区块链的电子病历安全搜索方法有效
申请号: | 201810611570.2 | 申请日: | 2018-06-14 |
公开(公告)号: | CN109117662B | 公开(公告)日: | 2021-07-30 |
发明(设计)人: | 张爱清;叶新荣;谢小娟;靳蓓蓓 | 申请(专利权)人: | 安徽师范大学 |
主分类号: | G06F21/62 | 分类号: | G06F21/62;G06Q40/04;G16H10/00 |
代理公司: | 北京润平知识产权代理有限公司 11283 | 代理人: | 张苗 |
地址: | 241002 安徽省芜*** | 国省代码: | 安徽;34 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 基于 区块 电子 病历 安全 搜索 方法 | ||
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],其中
X1=r1H1(w)P1,X2=r1(H1(w))2P1,...,Xn=r1(H1(w))nP1;
计算
该加密算法的输出为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},该式可以表示为一般表达式
f(x)=xn+bn-1xn-1+...+b1x+b0
这样,f(x)=0可以表示为
xn+bn-1xn-1+...+b1x+b0=0
对上式进行变换可以得到
令构建新的多项式
g(x)=anxn+an-1xn-1+...+a1x
可得g(H(wi))=1;定义一个矢量Λ=[a1,a2,...an]和Hi=[H(wi),(H(wi))2,...,(H(wi))n],矢量Λ和Hi的内积Λ·Hi=1,从而矢量Λ可以用来验证所包含的关键词是否选自可选关键词集;
区块链的验证者按照如下方法验证接收到的密文(ci,di)中关键词是否有效:验证以下两个等式
和
若超过2/3的验证者验证了以上两个等式成立,将该区块加入到区块链中。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于安徽师范大学,未经安徽师范大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201810611570.2/1.html,转载请声明来源钻瓜专利网。
- 上一篇:移动设备有线管理系统
- 下一篇:一种开放式征题系统和征题方法