CN112614557A - 电子病历加密存档方法 - Google Patents

电子病历加密存档方法 Download PDF

Info

Publication number
CN112614557A
CN112614557A CN202011570332.5A CN202011570332A CN112614557A CN 112614557 A CN112614557 A CN 112614557A CN 202011570332 A CN202011570332 A CN 202011570332A CN 112614557 A CN112614557 A CN 112614557A
Authority
CN
China
Prior art keywords
electronic medical
medical record
matrix
digital signature
encrypting
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Withdrawn
Application number
CN202011570332.5A
Other languages
English (en)
Inventor
吴从华
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Xian Cresun Innovation Technology Co Ltd
Original Assignee
Xian Cresun Innovation Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Xian Cresun Innovation Technology Co Ltd filed Critical Xian Cresun Innovation Technology Co Ltd
Priority to CN202011570332.5A priority Critical patent/CN112614557A/zh
Publication of CN112614557A publication Critical patent/CN112614557A/zh
Withdrawn legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G16INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR SPECIFIC APPLICATION FIELDS
    • G16HHEALTHCARE INFORMATICS, i.e. INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR THE HANDLING OR PROCESSING OF MEDICAL OR HEALTHCARE DATA
    • G16H10/00ICT specially adapted for the handling or processing of patient-related medical or healthcare data
    • G16H10/60ICT specially adapted for the handling or processing of patient-related medical or healthcare data for patient-specific data, e.g. for electronic patient records
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • G06F17/10Complex mathematical operations
    • G06F17/16Matrix or vector computation, e.g. matrix-matrix or matrix-vector multiplication, matrix factorization
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/31User authentication
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/45Structures or tools for the administration of authentication
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/602Providing cryptographic facilities or services
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/64Protecting data integrity, e.g. using checksums, certificates or signatures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06KGRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K17/00Methods or arrangements for effecting co-operative working between equipments covered by two or more of main groups G06K1/00 - G06K15/00, e.g. automatic card files incorporating conveying and reading operations

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Health & Medical Sciences (AREA)
  • Mathematical Physics (AREA)
  • General Health & Medical Sciences (AREA)
  • Mathematical Optimization (AREA)
  • Mathematical Analysis (AREA)
  • Data Mining & Analysis (AREA)
  • Pure & Applied Mathematics (AREA)
  • Computational Mathematics (AREA)
  • Bioethics (AREA)
  • Epidemiology (AREA)
  • Medical Informatics (AREA)
  • Computing Systems (AREA)
  • Public Health (AREA)
  • Algebra (AREA)
  • Primary Health Care (AREA)
  • Databases & Information Systems (AREA)
  • Medical Treatment And Welfare Office Work (AREA)
  • Storage Device Security (AREA)

Abstract

本发明公开了一种电子病历加密存档方法,包括:向数字认证中心申请数字证书并获取用户个人数字证书;利用用户个人数字证书将病人信息生成电子病历并保存;对电子病历进行加密处理,得到第一数字签名;对第一数字签名添加对应的操作时间信息,得到第二数字签名;将附加有第二数字签名的电子病历进行验证,判断电子病历是否经过篡改;若电子病历没有经过篡改,则对电子病历进行归档操作,得到电子病历档案;对电子病历档案加盖电子印章,并存档管理。本发明通过对电子病历进行签名和添加时间信息,且最后加盖电子印章存档管理得到的电子病历具有完整性和不可篡改性。

Description

电子病历加密存档方法
技术领域
本发明属于涉及区块链技术领域,具体涉及一种基于区块链的电子病历共享方法。
背景技术
电子病历(EMR,Electronic Medical Record)也叫计算机化的病案系统或称基于计算机的病人记录,它是用电子设备(计算机、健康卡等)保存、管理、传输和重现的数字化的医疗记录,用以取代手写纸张病历。它的内容包括纸张病历的所有信息,且相比纸张病历,电子病历还具有为医护人员提供完整的、实时的、随时随地的病人信息访问,以及支持病人在不同医疗机构之间的医疗信息共享等意义。
电子病历虽有诸多优点,但在实际应用中又面临如何确认用户的身份、如何确保病历中的信息没有遭到篡改、如何确认病历的创建及修改时间等问题。
发明内容
为了解决现有技术中存在的上述问题,本发明提供了一种电子病历加密存档方法。本发明要解决的技术问题通过以下技术方案实现:
一种电子病历加密存档方法,包括:
向数字认证中心申请数字证书并获取用户个人数字证书;
利用所述用户个人数字证书将病人信息生成电子病历并保存;
对所述电子病历进行加密处理,得到第一数字签名;
对所述第一数字签名添加对应的操作时间信息,得到第二数字签名;
将附加有所述第二数字签名的所述电子病历进行验证,判断所述电子病历是否经过篡改;
若所述电子病历经过篡改,则发出篡改提示信息;若所述电子病历没有经过篡改,则对所述电子病历进行归档操作,得到电子病历档案;
对所述电子病历档案加盖电子印章,并存档管理。
在本发明的一个实施例中,所述向数字认证中心申请数字证书并获取用户个人数字证书,包括:
用户向CA认证中心提供自己的个人信息和公钥,申请数字证书;
CA认证中心利用自己的私钥对所述用户的个人信息和公钥一起加密,生成用户个人数字证书;
CA认证中心将所述用户个人数字证书颁发给所述用户;
所述用户将所述用户个人数字证书存储在USB KEY加密设备中。
在本发明的一个实施例中,所述利用所述用户个人数字证书和病人信息生成电子病历并保存,包括:
医护人员利用个人的数字证书登录电子病历系统,根据所述病人信息填写相关的病历内容,生成所述电子病历并保存。
在本发明的一个实施例中,所述对所述电子病历进行加密处理,得到第一数字签名,包括:
在所述电子病历的生成、修改、保存,以及使用等阶段分别对所属阶段对应的电子病历进行加密处理,得到第一数字签名;所述第一数字签名包括生成、修改、保存,以及使用各阶段的电子病历所分别对应的数字签名。
在本发明的一个实施例中,所述对所述第一数字签名分别添加对应的操作时间信息,得到第二数字签名,包括:
对所述修改、保存,以及使用各阶段的电子病历所分别对应的数字签名分别添加时间信息,得到所述第二数字签名;所述第二数字签名包括分别添加有相应操作时间信息的电子病历生成数字签名、电子病历修改数字签名,电子病历保存数字签名,以及电子病历使用数字签名。
在本发明的一个实施例中,所述对所述电子病历进行加密处理,得到第一数字签名,包括:
构造一基于有限域的GRS码;
根据所述GRS码生成公钥以及私钥;
对所述电子病历进行哈希运算生成电子病历摘要值;
使用所述私钥对所述电子病历摘要值进行加密处理得到所述第一数字签名。
在本发明的一个实施例中,所述构造一基于有限域的GRS码,包括:
构造一有限域,并根据所述有限域构造一个码长为n、维数为k且纠错能力为t的GRS码,其中,n、k和t均为任意正整数,且满足
Figure BDA0002862292320000031
在本发明的一个实施例中,所述根据所述GRS码生成公钥以及私钥,包括:
在所述有限域内选取一(n-k)×(n-k)的非奇异矩阵、一n×n的稠密矩阵以及一n×n的稀疏矩阵;所述稠密矩阵的秩为z,所述稀疏矩阵的平均行重和列重为x;其中,z、x为自然数,且z小于n,x小于n。
将所述稠密矩阵以及所述稀疏矩阵进行矩阵的加法运算,得到变换矩阵;
将所述非奇异矩阵的逆矩阵、校验矩阵以及所述变换矩阵的转置矩阵进行矩阵的乘法运算,得到公钥;其中,所述校验矩阵是GRS码的(n-k)×n的矩阵;
将所述非奇异矩阵、所述校验矩阵、所述变换矩阵与译码算法作为私钥。
在本发明的一个实施例中,所述使用所述私钥对所述电子病历摘要值进行加密处理得到所述第一数字签名,
将所述私钥中的非奇异矩阵与所述电子病历摘要值进行乘法运算,得到待译校正子;
结合所述变换矩阵,使用所述译码算法对所述待译校正子进行译码,得到第一错误向量;
将所述第一错误向量与所述私钥的变换矩阵的逆矩阵进行矩阵的乘法运算,得到第二错误向量,所述第二错误向量的权重小于等于所述GRS码的纠错能力值。
将所述第二错误向量作为所述第一数字签名。
在本发明的一个实施例中,所述将附加有所述第二数字签名的所述电子病历进行验证,判断所述电子病历是否经过篡改,包括:
利用所述公钥对所述第二数字签名解密,得到待验证摘要值;
对所述电子病历进行哈希运算,得到摘要值;
将所述待验证摘要值与所述摘要值进行比较,若所述待验证摘要值与所述摘要值相等,则验证成功,说明所述电子病历没有被篡改;否则,说明所述电子病历被篡改。
和现有技术相比,本发明的有益效果是:
本发明实施例的电子病历加密存档方法,通过使用用户个人数字证书,可以对操作者身份进行认证,通过对具有各操作记录的电子病历进行数字签名且添加对应的操作时间信息,使得最后加盖电子印章存档管理的电子病历具有完整性和不可篡改性;且本发明实施例提供的数字签名方案具有较高的可行性,能够减小公钥量,提高签名效率,并能够进一步提高安全性。
以下将结合附图及实施例对本发明做进一步详细说明。
附图说明
图1是本发明实施例提供的一种电子病历加密存档方法的流程图。
具体实施方式
下面结合具体实施例对本发明做进一步详细的描述,但本发明的实施方式不限于此。
为了解决现有电子病历存在的难以确认用户的身份、信息容易遭到篡改、以及难以确认电子病历的创建及修改时间等问题,本发明实施例提供了一种电子病历加密存档方法。
请参见图1,图1是本发明实施例提供的一种电子病历加密存档方法的流程图;本发明实施例的电子病历加密存档方法,包括步骤S11~S17:
S11、向数字认证中心申请数字证书并获取用户个人数字证书。
数字认证是指为保证网上数字信息的传输安全而建立的一种信任及信任验证机制,它利用证书技术实现各类实体在网上信息交流及政务、商务活动中的身份证明。通常将提供数字认证服务的机构或实体称为数字认证中心。数字证书颁发过程一般为:用户首先产生自己的密钥对,并将公共密钥及部分个人身份信息传送给认证中心。认证中心在核实身份后,将执行一些必要的步骤,以确信请求确实由用户发送而来,然后,认证中心将发给用户一个数字证书,该证书内包含用户的个人信息和他的公钥信息,同时还附有认证中心的签名信息。用户就可以使用自己的数字证书进行相关的各种活动。
示例的,本步骤可以包括步骤S111~S114:
S111、用户向CA认证中心提供自己的个人信息和公钥,申请数字证书;
S112、CA认证中心利用自己的私钥对所述用户的个人信息和公钥一起加密,生成用户个人数字证书;
S113、CA认证中心将所述用户个人数字证书颁发给所述用户;
S114、所述用户将所述用户个人数字证书存储在USB KEY加密设备中。
结合本发明的方案,需要对电子病历进行加密存档的一方向数字认证中心申请数字证书,获取用户个人数字证书后,可以用于实现系统的权限管理、身份认证功能。本发明实施例中的用户可以是医护人员,医护人员申请个人数字证书以用于电子病历的生成和加密存档操作。
S12、利用所述用户个人数字证书将病人信息生成电子病历并保存。
作为一种实施方式,医护人员使用个人数字证书登陆电子病历系统,根据所述病人信息填写患者相关的病历内容生成电子病历并保存。医护人员使用CA认证机构颁发的个人数字证书登陆电子病历系统,电子病历系统验证医护人员的个人数字证书,确认了医护人员的身份真实、可靠。
S13、对所述电子病历进行加密处理,得到第一数字签名。
由于本发明的方案需要对电子病历的创建、修改等操作时间均需要确认,因此需要对电子病历在生成、修改、保存以及使用阶段对应的电子病历均需要进行加密处理。
具体的,可以在所述电子病历的生成、修改、保存,以及使用等阶段分别对所属阶段对应的电子病历进行加密处理,得到第一数字签名;所述第一数字签名包括生成、修改、保存,以及使用各阶段的电子病历所分别对应的数字签名。
示例的,对所述电子病历进行加密处理,得到第一数字签名的具体方法,可以包括步骤S131~S134:
S131、构造一基于有限域的GRS码。
示例的,本步骤可以包括:构造一有限域,并根据有限域构造一个码长为n、维数为k且纠错能力为t的GRS码(广义Reed-Solomon码),其中,n、k和t均为任意正整数,且满足
Figure BDA0002862292320000071
其中,有限域可以选择包括q个元素的有限域Fq,且选取一正整数m,使q满足q=2m
需要说明的是,本发明实施例之所以选择基于有限域Fq而不是选择基于通常的二进制,是因为在面对ISD译码攻击时,对于安全级别相同的码(比如:Goppa码),基于有限域Fq的Goppa码相比基于二进制Goppa码具有更小的公钥量。举例来说,具有128的安全级别的基于有限域的Goppa码,公钥量为725740bits;而具有128的安全级别的基于二进制Goppa码,公钥量为1537536bits。相比来说,基于有限域Fq的Goppa码的公钥量要比基于二进制Goppa码的公钥量小近一个数量级。
此外,本发明之所以选择GRS码而不是别的码(比如Goppa码),是因为GRS码是极大距离可分(MDS)码,码的性能好;且GRS码现有编译码器在各领域应用多,实用性好;此外,GRS码比Goppa码更灵活;以及GRS码具有可发展性更强的优势。
S132、根据所述GRS码生成公钥以及私钥。
基于有限域的GRS码生成公钥以及私钥,可以保证公钥以及私钥具有的安全性能更高且占空间更小,且针对不同的物流信息生成不同的公钥以及私钥。一个公钥只能对一个加密标签进行解密。
可选的一种实施方式中,S132可以包括步骤S1321~S1324。
S1321、在有限域内选取(n-k)×(n-k)的非奇异矩阵、n×n的稠密矩阵以及n×n的稀疏矩阵,且稠密矩阵的秩为z,稀疏矩阵的平均行重和列重为x,其中,z为自然数,且z小于n,x小于n。
作为本发明的一种实施方式,可以采用稠密矩阵的秩z远小于n,且稀疏矩阵的平均行重和列重x远小于n。
具体的,稠密矩阵可以用矩阵的转置矩阵与矩阵的乘积表示,即
Figure BDA0002862292320000081
其中
Figure BDA0002862292320000082
为有限域Fq上定义的两个z×n的矩阵,且矩阵的秩为z。
可选的,本发明的方案,对参数m、n、k、t以及x的选取有以下几种选择可供参考,参见表1,有且不限于这几种,但考虑到方案的正确性、可行性与安全性,以及公钥量和签名长度,本发明的方案优选采用表1列出的三组参数值。
表1参数选取
m n k t x
12 4094 4074 10 1~1.1
16 65534 65516 9 1~1.1
10 1022 1002 10 1~1.1
S1322、将稠密矩阵以及稀疏矩阵进行矩阵的加法运算,得到变换矩阵。
具体的,加法运算采用公式(1):
Figure BDA0002862292320000091
其中,
Figure BDA0002862292320000092
表示变换矩阵,
Figure BDA0002862292320000093
表示稠密矩阵,
Figure BDA0002862292320000094
表示稀疏矩阵。
S1323、将非奇异矩阵的逆矩阵、校验矩阵以及变换矩阵的转置矩阵进行矩阵的乘法运算得到公钥;其中,校验矩阵为GRS码的(n-k)×n矩阵。
具体的,乘法运算采用公式(2):
Figure BDA0002862292320000095
其中,
Figure BDA0002862292320000096
表示公钥,
Figure BDA0002862292320000097
表示非奇异矩阵的逆矩阵,
Figure BDA0002862292320000098
表示校验矩阵,
Figure BDA0002862292320000099
表示变换矩阵的转置矩阵。
S1324、将非奇异矩阵
Figure BDA00028622923200000910
校验矩阵
Figure BDA00028622923200000911
变换矩阵
Figure BDA00028622923200000912
与译码算法
Figure BDA00028622923200000913
作为私钥。
可以理解的是,公钥用于对外公开,私钥用于存储。公钥和私钥是一个算法中不同的两个参数集合,但内在又相关联的参数集合,公钥和私钥是同时生成,但可以独立使用的。
S133、对所述电子病历进行哈希运算生成电子病历摘要值。
哈希运算指的是可将任意长度的消息映射成固定长度消息的算法,本发明实施的哈希运算可以采用MD4、MD5或者SHA256中的任意一种。其中,病历摘要作为未经过加密的明文,明文即人可直观地理解其意思的字符,通过哈希算法进行第一加密将任意长度的明文映射成一串固定长度的密文,密文即经过加密后的字符串,人无法直观地理解其意思,这串密文即为数字摘要。本步骤通过哈希运算,由电子病历明文生成病历摘要值,该病历摘要值用于电子病历的下一步加密。
可选的一种实施方式中,S133可以包括S1331~S1332。
S1331、对需要进行数字签名的电子病历进行初次哈希运算。
若用M表示电子病历明文,对电子病历进行初次哈希运算得到h(M)。
S1332、对初次哈希运算得到的结果再次进行哈希运算,得到电子病历摘要值。
本步骤中,对初次哈希运算得到的结果h(M)再次进行哈希运算,得到电子病历摘要Sx,即计算Sx=h(h(M)|i),其中,i=0,1,2……。本发明实施例中取i=0,使电子病历摘要Sx为一个长度为n-k的向量。
在其他实施例中,也可以使用一次或多次哈希运算得到电子病历摘要,满足固定长度的输出即可。
可以理解的是,本步骤涉及的电子病历是在电子病历的生成、修改、保存,以及使用等阶段所具有对应操作记录的电子病历,对电子病历进行加密处理,也即分别对具有对应操作记录的电子病历采用上述方法进行加密处理的过程,因此,本步骤得到的电子病历摘要可以认为是具有对应操作记录的电子病历所对应的摘要值。
S134、使用所述私钥对所述电子病历摘要值进行加密处理得到所述第一数字签名。
示例的,该步骤可以包括S1341~S1342:
S1341、将非奇异矩阵与病历摘要进行乘法运算,得到待译校正子。
具体的,乘法运算采用公式(3):
Figure BDA0002862292320000101
其中,S'x表示待译校正子,
Figure BDA0002862292320000102
表示非奇异矩阵,Sx表示病历摘要。
S1342、对待译校正子进行译码并将得到的错误向量作为第一数字签名。
示例的,该步骤又可以包括S13421~S13423:
S13421、结合私钥的变换矩阵使用译码算法对待译校正子进行译码,得到第一错误向量。
译码算法可以选用现有的任一译码算法,本实施例中,译码算法优选为时域上的迭代译码算法,即:BM迭代译码算法(Berlekamp-Massey)、钱式搜索算法(Chien)以及Forney算法的组合。该译码算法速度快,实现简单,易于用计算机实现,因此是一种快速译码算法。
可选的,译码算法可以包括以下几个步骤:
步骤一:计算校正子;
步骤二:确定错误位置多项式;
步骤三:确定错误估值函数;
步骤四:求解错误位置数和错误数值,并进行纠错。
完成上述四步即可完成一次译码,若译码成功,则直接译出错误向量;否则,将视为译码失败。
结合本发明实施例的方案,若译码失败,则使i'=i+1,从S133重新开始哈希运算重新译码,直到译码成功,得到第一错误向量。
S13422、将第一错误向量与私钥的变换矩阵的逆矩阵进行矩阵的乘法运算,得到第二错误向量,第二错误向量的权重小于等于GRS码的纠错能力值。
具体的,本步骤的乘法运算采用公式(4):
Figure BDA0002862292320000111
其中,
Figure BDA0002862292320000112
表示第二错误向量,
Figure BDA0002862292320000113
表示第一错误向量,
Figure BDA0002862292320000114
表示私钥的变换矩阵的逆矩阵。
S13423、将第二错误向量作为第一数字签名。
至此,已经得到基于错误向量纠错码的数字签名,但该错误向量中由于存在多个0元素,占用较多的比特位。为减小比特位数,本发明提供的方案在上述实施例的基础上,可以进一步优化。
优选的,在得到第二错误向量之后,还包括以下步骤:
对第二错误向量构建索引对,得到第二错误向量的索引对。
具体的,第二错误向量的索引对可以根据公式(5)得到。
Figure BDA0002862292320000121
其中,Ie表示索引对。
即提取第二错误向量中的非零元素标记为错误值,用错误位置α以及错误位置c构建第二错误向量的索引对Ie
相应的,将索引对作为第一数字签名。
在优选的方案里,通过进一步对生成的第二错误向量建立索引对,并将索引作为第一数字签名,可以减少比特位数,从而减小签名长度。
同样可以理解的是,本步骤对所述电子病历摘要值进行加密处理,也即是前述步骤得到的具有对应操作记录的电子病历所对应的摘要值进行加密处理的过程,因此得到的第一数字签名包括生成、修改、保存,以及使用各阶段的电子病历所分别对应的数字签名。
S14、对所述第一数字签名添加对应的操作时间信息,得到第二数字签名。
为了保证各操作阶段生成的数字签名均具有相应的时间验证信息,在上述步骤的基础上,本步骤需要对所述第一数字签名添加对应的操作时间信息。具体可以采用现有的时间戳技术,在此不再详述。
S15、将附加有所述第二数字签名的所述电子病历进行验证,判断所述电子病历是否经过篡改。
示例的,该步骤可以包括S151~S153:
S151、利用所述公钥对所述第二数字签名解密,得到待验证摘要值。
对应于上述签名方法中将得到的第二错误向量作为第一数字签名的方案,本步骤是利用公钥直接对第二错误向量进行解密,得到待验证电子病历摘要值。
对应于上述签名方法中将得到的索引对作为第一数字签名的方案,本步骤需要先根据索引对恢复出第二错误向量,然后再利用公钥对第二错误向量进行解密,得到待验证电子病历摘要。
具体的,需要根据索引对恢复出第二错误向量,即在索引对Ie中αj索引的位置用cj填充,在αj索引之外的位置用0填充,直到向量
Figure BDA0002862292320000131
的长度达到(n-k)。
利用公钥对第二错误向量进行解密,即根据公式(6)得到待验证电子病历摘要值:
Figure BDA0002862292320000132
其中,y表示待验证电子病历摘要值。
计算公钥
Figure BDA0002862292320000133
中的每一列根据αj索引的对应行的值与cj的乘积,并将该乘积作为待验证电子病历摘要值。
S152、对所述电子病历进行哈希运算,得到待比较电子病历摘要值。
同样的,需要对电子病历进行两次哈希运算,具体步骤与上述签名过程中哈希运算步骤相同,在此不再赘述。通过两次哈希运算,得到电子病历摘要值y'=h(h(M)|i)。
同样可以理解的是,本步骤中的电子病历是具有对应操作记录的电子病历,通过两次哈希运算得到的电子病历摘要值包括具有对应操作记录的电子病历对应的摘要值。
S153、将所述待验证摘要值与所述待比较电子病历摘要值进行比较,若所述待验证摘要值与所述待比较电子病历摘要值相等,则验证成功,说明所述电子病历没有被篡改;否则,说明所述电子病历被篡改。
比较待验证电子病历摘要y与电子病历摘要y',若y=y',即待验证电子病历摘要与电子病历摘要相等,验证签名成功;否则,验证签名失败。
S16、若所述电子病历经过篡改,则发出篡改提示信息;若所述电子病历没有经过篡改,则对所述电子病历进行归档操作,得到电子病历档案。
S17、对所述电子病历档案加盖电子印章,并存档管理。
当病患就诊活动结束后,相应的电子病历需要进行存档,电子病历系统调用电子签章服务器,对电子病历形成的存档文件进行签章。签章后的电子存档具有不可否认以及不可篡改性,进一步保证了存档电子病历的安全性。
本发明实施例的电子病历加密存档方法,通过使用用户个人数字证书,可以对操作者身份进行认证,通过对具有各操作记录的电子病历进行数字签名且添加对应的操作时间信息,使得最后加盖电子印章存档管理的电子病历具有完整性和不可篡改性;且本发明实施例提供的数字签名方案具有较高的可行性,能够减小公钥量,提高签名效率,并能够进一步提高安全性。
以上内容是结合具体的优选实施方式对本发明所作的进一步详细说明,不能认定本发明的具体实施只局限于这些说明。对于本发明所属技术领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干简单推演或替换,都应当视为属于本发明的保护范围。

Claims (10)

1.一种电子病历加密存档方法,其特征在于,包括:
向数字认证中心申请数字证书并获取用户个人数字证书;
利用所述用户个人数字证书将病人信息生成电子病历并保存;
对所述电子病历进行加密处理,得到第一数字签名;
对所述第一数字签名添加对应的操作时间信息,得到第二数字签名;
将附加有所述第二数字签名的所述电子病历进行验证,判断所述电子病历是否经过篡改;
若所述电子病历经过篡改,则发出篡改提示信息;若所述电子病历没有经过篡改,则对所述电子病历进行归档操作,得到电子病历档案;
对所述电子病历档案加盖电子印章,并存档管理。
2.根据权利要求1所述的电子病历加密存档方法,其特征在于,所述向数字认证中心申请数字证书并获取用户个人数字证书,包括:
用户向CA认证中心提供自己的个人信息和公钥,申请数字证书;
CA认证中心利用自己的私钥对所述用户的个人信息和公钥一起加密,生成用户个人数字证书;
CA认证中心将所述用户个人数字证书颁发给所述用户;
所述用户将所述用户个人数字证书存储在USB KEY加密设备中。
3.根据权利要求1所述的电子病历加密存档方法,其特征在于,所述利用所述用户个人数字证书和病人信息生成电子病历并保存,包括:
医护人员利用个人的数字证书登录电子病历系统,根据所述病人信息填写相关的病历内容,生成所述电子病历并保存。
4.根据权利要求1所述的电子病历加密存档方法,其特征在于,所述对所述电子病历进行加密处理,得到第一数字签名,包括:
在所述电子病历的生成、修改、保存,以及使用等阶段分别对所属阶段对应的电子病历进行加密处理,得到第一数字签名;所述第一数字签名包括生成、修改、保存,以及使用各阶段的电子病历所分别对应的数字签名。
5.根据权利要求4所述的电子病历加密存档方法,其特征在于,所述对所述第一数字签名分别添加对应的操作时间信息,得到第二数字签名,包括:
对所述修改、保存,以及使用各阶段的电子病历所分别对应的数字签名分别添加时间信息,得到所述第二数字签名;所述第二数字签名包括分别添加有相应操作时间信息的电子病历生成数字签名、电子病历修改数字签名,电子病历保存数字签名,以及电子病历使用数字签名。
6.根据权利要求1所述的电子病历加密存档方法,其特征在于,所述对所述电子病历进行加密处理,得到第一数字签名,包括:
构造一基于有限域的GRS码;
根据所述GRS码生成公钥以及私钥;
对所述电子病历进行哈希运算生成电子病历摘要值;
使用所述私钥对所述电子病历摘要值进行加密处理得到所述第一数字签名。
7.根据权利要求6所述的电子病历加密存档方法,其特征在于,所述构造一基于有限域的GRS码,包括:
构造一有限域,并根据所述有限域构造一个码长为n、维数为k且纠错能力为t的GRS码,其中,n、k和t均为任意正整数,且满足
Figure FDA0002862292310000021
8.根据权利要求7所述的电子病历加密存档方法,其特征在于,所述根据所述GRS码生成公钥以及私钥,包括:
在所述有限域内选取一(n-k)×(n-k)的非奇异矩阵、一n×n的稠密矩阵以及一n×n的稀疏矩阵;所述稠密矩阵的秩为z,所述稀疏矩阵的平均行重和列重为x;其中,z、x为自然数,且z小于n,x小于n。
将所述稠密矩阵以及所述稀疏矩阵进行矩阵的加法运算,得到变换矩阵;
将所述非奇异矩阵的逆矩阵、校验矩阵以及所述变换矩阵的转置矩阵进行矩阵的乘法运算,得到公钥;其中,所述校验矩阵是GRS码的(n-k)×n的矩阵;
将所述非奇异矩阵、所述校验矩阵、所述变换矩阵与译码算法作为私钥。
9.根据权利要求6所述的电子病历加密存档方法,其特征在于,所述使用所述私钥对所述电子病历摘要值进行加密处理得到所述第一数字签名,
将所述私钥中的非奇异矩阵与所述电子病历摘要值进行乘法运算,得到待译校正子;
结合所述变换矩阵,使用所述译码算法对所述待译校正子进行译码,得到第一错误向量;
将所述第一错误向量与所述私钥的变换矩阵的逆矩阵进行矩阵的乘法运算,得到第二错误向量,所述第二错误向量的权重小于等于所述GRS码的纠错能力值。
将所述第二错误向量作为所述第一数字签名。
10.根据权利要求6所述的电子病历加密存档方法,其特征在于,所述将附加有所述第二数字签名的所述电子病历进行验证,判断所述电子病历是否经过篡改,包括:
利用所述公钥对所述第二数字签名解密,得到待验证摘要值;
对所述电子病历进行哈希运算,得到摘要值;
将所述待验证摘要值与所述摘要值进行比较,若所述待验证摘要值与所述摘要值相等,则验证成功,说明所述电子病历没有被篡改;否则,说明所述电子病历被篡改。
CN202011570332.5A 2020-12-26 2020-12-26 电子病历加密存档方法 Withdrawn CN112614557A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202011570332.5A CN112614557A (zh) 2020-12-26 2020-12-26 电子病历加密存档方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202011570332.5A CN112614557A (zh) 2020-12-26 2020-12-26 电子病历加密存档方法

Publications (1)

Publication Number Publication Date
CN112614557A true CN112614557A (zh) 2021-04-06

Family

ID=75247946

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202011570332.5A Withdrawn CN112614557A (zh) 2020-12-26 2020-12-26 电子病历加密存档方法

Country Status (1)

Country Link
CN (1) CN112614557A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113130031A (zh) * 2021-05-18 2021-07-16 中南大学湘雅三医院 基于pki的院间电子病历交互系统、方法、设备及存储介质

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113130031A (zh) * 2021-05-18 2021-07-16 中南大学湘雅三医院 基于pki的院间电子病历交互系统、方法、设备及存储介质

Similar Documents

Publication Publication Date Title
US9489521B2 (en) Format preserving encryption methods for data strings with constraints
US10176056B2 (en) Systems and methods for quorum-based data recovery
US8208627B2 (en) Format-preserving cryptographic systems
US20200241960A1 (en) Encoding and storage node repairing method for minimum storage regenerating codes for distributed storage systems
US11488134B2 (en) Format-preserving cryptographic systems
CN110363030A (zh) 用于执行基于格的密码操作的方法和处理设备
US20200313886A1 (en) Executing a cryptographic operation
US11227037B2 (en) Computer system, verification method of confidential information, and computer
Barker et al. Sp 800-90a. recommendation for random number generation using deterministic random bit generators
CN112635009A (zh) 基于区块链的医疗数据加密方法
JPWO2016136142A1 (ja) 暗号文照合システム、方法、および記録媒体
WO2022134119A1 (zh) 基于区块链的电子病历共享方法和电子设备
CN112613018A (zh) 一种基于区块链的数字证书使用系统
US20200327239A1 (en) Encrypting/Decrypting Method for Multi-Digit Number and Encrypting/Decrypting Server
CN117714613A (zh) 一种图像加密方法、装置、电子设备和存储介质
CN112635008A (zh) 基于数字签名的医疗检验报告生成方法
CN112614557A (zh) 电子病历加密存档方法
US20200287722A1 (en) Electronic device capable of data communication through electronic signatures based on syndrome and operating method thereof
CN112613844A (zh) 一种人事合同电子签名方法
Ji et al. Proofs of retrievability with tag outsourcing based on Goppa codes
CN112613879A (zh) 一种基于grs码的金融交易数据处理方法
US10853502B1 (en) Systems and methods for reducing computational difficulty of cryptographic operations
CN112614558A (zh) 基于区块链的电子病历共享方法和电子设备
CN112613078A (zh) 一种文档电子签名方法、验签方法及其装置
CN112634092A (zh) 一种基于区块链的合同认证方法、装置、电子设备

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
WW01 Invention patent application withdrawn after publication
WW01 Invention patent application withdrawn after publication

Application publication date: 20210406