基于区块链的电子病历共享方法和电子设备技术

技术编号:27979808 阅读:25 留言:0更新日期:2021-04-06 14:15
本发明专利技术公开了一种基于区块链的电子病历共享方法,应用于医疗机构节点,包括:从预设数据库获取电子病历;对电子病历进行哈希运算生成病历摘要;构造一基于有限域的GRS码;根据GRS码生成公钥以及私钥;使用私钥对病历摘要进行加密处理得到第一数字签名;使用私钥对第一数字签名进行译码并将得到的错误向量作为第二数字签名;将第二数字签名发送至验证节点进行验证;接收验证节点确认的区块并将区块添加到预设数据库所维护的区块链结构上。本发明专利技术的方案基于区块链技术和数字签名技术,能够保证电子病历在各医疗机构之间共享且不会被篡改;且该数字签名方案具有较高的可行性,能够减小公钥量,提高签名效率,并能够进一步提高安全性。

【技术实现步骤摘要】
基于区块链的电子病历共享方法和电子设备
本专利技术属于涉及区块链
,具体涉及一种基于区块链的电子病历共享方法和电子设备。
技术介绍
电子病历(EMR,ElectronicMedicalRecord)也叫计算机化的病案系统或称基于计算机的病人记录,它是用电子设备(计算机、健康卡等)保存、管理、传输和重现的数字化的医疗记录,用以取代手写纸张病历。它的内容包括纸张病历的所有信息,且相比纸张病历,电子病历还具有为医护人员提供完整的、实时的、随时随地的病人信息访问,以及支持病人在不同医疗机构之间的医疗信息共享等意义。而现有使用电子病历的医疗机构通常只是将问电子病历存储起来,以便以后病历的保管和查询,不同医疗机构之间的电子病历不能共享;从而导致了病人在其他医疗机构看病时不能方便的获取到原来医疗机构的电子病历;且由于每个医疗机构管理各自的电子病历,因此电子病历存在被篡改的风险,无法保证电子病历的真实性。
技术实现思路
为了解决现有技术中存在的上述问题,本专利技术提供了一种基于区块链的电子病历共享方法及电子设备。本专利技术要解决的技术问题通过以下技术方案实现:第一方面,本专利技术实施例提供了一种基于区块链的电子病历共享方法,应用于医疗机构节点,包括:从预设数据库获取电子病历;对所述电子病历进行哈希运算生成病历摘要;构造一基于有限域的GRS码;根据所述GRS码生成公钥以及私钥;使用所述私钥对所述病历摘要进行加密处理得到第一数字签名;使用所述私钥对所述第一数字签名进行译码并将得到的错误向量作为第二数字签名;将所述第二数字签名发送至验证节点进行验证;接收所述验证节点确认的区块并将所述区块添加到所述预设数据库所维护的区块链结构上。在本专利技术的一个实施例中,所述构造一基于有限域的GRS码,包括:构造一有限域,并根据所述有限域构造一个码长为n、维数为k且纠错能力为t的GRS码,其中,n、k和t均为任意正整数,且满足在本专利技术的一个实施例中,所述根据所述GRS码生成公钥以及私钥,包括:在所述有限域内选取一(n-k)×(n-k)的非奇异矩阵、一n×n的稠密矩阵以及一n×n的稀疏矩阵;所述稠密矩阵的秩为z,所述稀疏矩阵的平均行重和列重为x;其中,z、x为自然数,且z小于n,x小于n。将所述稠密矩阵以及所述稀疏矩阵进行矩阵的加法运算,得到变换矩阵;将所述非奇异矩阵的逆矩阵、校验矩阵以及所述变换矩阵的转置矩阵进行矩阵的乘法运算,得到公钥;其中,所述校验矩阵是GRS码的(n-k)×n的矩阵;将所述非奇异矩阵、所述校验矩阵、所述变换矩阵与译码算法作为私钥。在本专利技术的一个实施例中,所述对所述电子病历进行哈希运算生成病历摘要,包括:对所述电子病历进行初次哈希运算;对初次哈希运算得到的结果再次进行哈希运算,得到所述病历摘要。在本专利技术的一个实施例中,所述对所述病历摘要进行加密处理得到第一数字签名,包括:将所述非奇异矩阵与所述病历摘要进行乘法运算,得到所述第一数字签名。在本专利技术的一个实施例中,所述使用所述私钥对所述第一数字签名进行译码并将得到的错误向量作为第二数字签名,包括:结合所述私钥的变换矩阵使用所述译码算法对所述第一数字签名进行译码,得到第一错误向量;将所述第一错误向量与所述私钥的变换矩阵的逆矩阵进行矩阵的乘法运算,得到第二错误向量,所述第二错误向量的权重小于等于所述GRS码的纠错能力值;将所述第二错误向量作为所述第二数字签名。在本专利技术的一个实施例中,在得到所述第二错误向量之后,还包括:对所述第二错误向量构建索引对,得到第二错误向量的索引对;相应的,将所述索引对作为所述第二数字签名。第二方面,本专利技术实施例提供了一种基于区块链的电子病历共享方法,应用于验证节点,包括:接收来自医疗机构节点的第二数字签名,所述第二数字签名第一方面任一项所述的方法得到;获取所述医疗机构节点的公钥并根据所述公钥对所述第二数字签名进行验证;若所述第二数字签名验证通过,将所述病历摘要封装到区块中;通过共识机制对所述区块进行确认并将所确认的区块发送至所述医疗机构节点。在本专利技术的一个实施例中,所述获取所述医疗机构节点的公钥并根据所述公钥对所述第二数字签名进行验证,包括:获取所述医疗机构节点的公钥并根据所述公钥对所述第二数字签名进行解密,得到待验证的病例摘要;获取所述电子病历并对所述电子病历进行哈希运算,得到病历摘要;将所述待验证的病例摘要与所述病历摘要进行比较,若所述待验证病例摘要与所述病例摘要相同,则验证成功,反之则验证失败。第三方面,本专利技术实施例还提供了一种电子设备,包括处理器、通信接口、存储器和通信总线,其中,处理器,通信接口,存储器通过通信总线完成相互间的通信;存储器,用于存放计算机程序;处理器,用于执行存储器上所存放的程序时,实现第一方面任一所述的方法步骤或第二方面所述的方法步骤。本专利技术的方案基于区块链技术和数字签名技术,能够保证电子病历在各医疗机构之间共享且不会被篡改;且本专利技术实施例提供的数字签名方案具有较高的可行性,能够减小公钥量,提高签名效率,并能够进一步提高安全性。以下将结合附图及实施例对本专利技术做进一步详细说明。附图说明图1是本专利技术实施例提供的一种基于区块链的电子病历共享方法示意图;图2是本专利技术实施例提供的另一种基于区块链的电子病历共享方法示意图;图3是本专利技术实施例提供的电子设备结构示意图;图4是本专利技术实施例提供的签名方法的可行性仿真结果图;图5是本专利技术实施例提供的签名方法在不同纠错能力下的可行性仿真结果图;图6是本专利技术实施例提供的签名方法在ISD译码攻击下的仿真结果图;图7是本专利技术实施例提供的签名方法在不同纠错能力下的公钥量仿真结果图。具体实施方式下面结合具体实施例对本专利技术做进一步详细的描述,但本专利技术的实施方式不限于此。为了解决现有电子病历在不同医疗机构之间不能共享,以及存在的被篡改的风险,本专利技术实施例提供了一种基于区块链的电子病历共享方法和电子设备。第一方面,本专利技术实施例提供的一种基于区块链的电子病历共享方法,应用于医疗机构节点,下面对该电子病历共享方法进行介绍。请参见图1,图1是本专利技术实施例提供的一种基于区块链的电子病历共享方法流程图。本专利技术实施例提供的基于区块链的电子病历共享方法,应用于医疗机构节点。医疗机构节点可以是医疗机构的计算服务器,区块链由各个节点服务器共同维护,而医疗机构节点为众多节点中的一个节点。该方法包括:S11、从预设数据库获取电子病历。医疗机构指的是医院、诊所、社区健康中心以及其他医疗组织,电子病历是各医疗机构的医生在为病人问诊过程中记录的病历信息,例如症状及诊疗手段等内容,这些病历信息均存储在各医疗机构的本文档来自技高网...

【技术保护点】
1.一种基于区块链的电子病历共享方法,其特征在于,应用于医疗机构节点,包括:/n从预设数据库获取电子病历;/n对所述电子病历进行哈希运算生成病历摘要;/n构造一基于有限域的GRS码;/n根据所述GRS码生成公钥以及私钥;/n使用所述私钥对所述病历摘要进行加密处理得到第一数字签名;/n使用所述私钥对所述第一数字签名进行译码并将得到的错误向量作为第二数字签名;/n将所述第二数字签名发送至验证节点进行验证;/n接收所述验证节点确认的区块并将所述区块添加到所述预设数据库所维护的区块链结构上。/n

【技术特征摘要】
1.一种基于区块链的电子病历共享方法,其特征在于,应用于医疗机构节点,包括:
从预设数据库获取电子病历;
对所述电子病历进行哈希运算生成病历摘要;
构造一基于有限域的GRS码;
根据所述GRS码生成公钥以及私钥;
使用所述私钥对所述病历摘要进行加密处理得到第一数字签名;
使用所述私钥对所述第一数字签名进行译码并将得到的错误向量作为第二数字签名;
将所述第二数字签名发送至验证节点进行验证;
接收所述验证节点确认的区块并将所述区块添加到所述预设数据库所维护的区块链结构上。


2.根据权利要求1所述的基于区块链的电子病历共享方法,其特征在于,所述构造一基于有限域的GRS码,包括:
构造一有限域,并根据所述有限域构造一个码长为n、维数为k且纠错能力为t的GRS码,其中,n、k和t均为任意正整数,且满足


3.根据权利要求2所述的基于区块链的电子病历共享方法,其特征在于,所述根据所述GRS码生成公钥以及私钥,包括:
在所述有限域内选取一(n-k)×(n-k)的非奇异矩阵、一n×n的稠密矩阵以及一n×n的稀疏矩阵;所述稠密矩阵的秩为z,所述稀疏矩阵的平均行重和列重为x;其中,z、x为自然数,且z小于n,x小于n;
将所述稠密矩阵以及所述稀疏矩阵进行矩阵的加法运算,得到变换矩阵;
将所述非奇异矩阵的逆矩阵、校验矩阵以及所述变换矩阵的转置矩阵进行矩阵的乘法运算,得到公钥;其中,所述校验矩阵是GRS码的(n-k)×n的矩阵;
将所述非奇异矩阵、所述校验矩阵、所述变换矩阵与译码算法作为私钥。


4.根据权利要求1所述的基于区块链的电子病历共享方法,其特征在于,所述对所述电子病历进行哈希运算生成病历摘要,包括:
对所述电子病历进行初次哈希运算;
对初次哈希运算得到的结果再次进行哈希运算,得到所述病历摘要。


5.根据权利要求3所述的基于区块链的电子病历共享方法,其特征在于,所述对所述病历摘要进行加密处理得到第一数字签名,包括:
将所述非奇异矩阵与所述病历摘要进行乘法运算,得到所述第一数字签名...

【专利技术属性】
技术研发人员:吴从华
申请(专利权)人:西安科锐盛创新科技有限公司
类型:发明
国别省市:陕西;61

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

1