CN112635008A - 基于数字签名的医疗检验报告生成方法 - Google Patents
基于数字签名的医疗检验报告生成方法 Download PDFInfo
- Publication number
- CN112635008A CN112635008A CN202011570318.5A CN202011570318A CN112635008A CN 112635008 A CN112635008 A CN 112635008A CN 202011570318 A CN202011570318 A CN 202011570318A CN 112635008 A CN112635008 A CN 112635008A
- Authority
- CN
- China
- Prior art keywords
- digital signature
- matrix
- report
- inspection report
- medical
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G16—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR SPECIFIC APPLICATION FIELDS
- G16H—HEALTHCARE INFORMATICS, i.e. INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR THE HANDLING OR PROCESSING OF MEDICAL OR HEALTHCARE DATA
- G16H10/00—ICT specially adapted for the handling or processing of patient-related medical or healthcare data
- G16H10/60—ICT specially adapted for the handling or processing of patient-related medical or healthcare data for patient-specific data, e.g. for electronic patient records
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F17/00—Digital computing or data processing equipment or methods, specially adapted for specific functions
- G06F17/10—Complex mathematical operations
- G06F17/16—Matrix or vector computation, e.g. matrix-matrix or matrix-vector multiplication, matrix factorization
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/602—Providing cryptographic facilities or services
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/64—Protecting data integrity, e.g. using checksums, certificates or signatures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06K—GRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
- G06K17/00—Methods 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
-
- G—PHYSICS
- G16—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR SPECIFIC APPLICATION FIELDS
- G16H—HEALTHCARE INFORMATICS, i.e. INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR THE HANDLING OR PROCESSING OF MEDICAL OR HEALTHCARE DATA
- G16H15/00—ICT specially adapted for medical reports, e.g. generation or transmission thereof
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- General Health & Medical Sciences (AREA)
- Health & Medical Sciences (AREA)
- Computer Security & Cryptography (AREA)
- Mathematical Physics (AREA)
- General Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Computer Hardware Design (AREA)
- Mathematical Analysis (AREA)
- Public Health (AREA)
- Primary Health Care (AREA)
- Medical Informatics (AREA)
- Computational Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Bioethics (AREA)
- Mathematical Optimization (AREA)
- Epidemiology (AREA)
- Pure & Applied Mathematics (AREA)
- Algebra (AREA)
- Computing Systems (AREA)
- Databases & Information Systems (AREA)
- Storage Device Security (AREA)
Abstract
本发明公开了一种基于数字签名的医疗检验报告生成方法,包括:构造一基于有限域的GRS码;根据GRS码生成公钥以及私钥;从预设数据库获取初始医疗检验报告;对初始医疗检验报告进行哈希运算生成检验报告摘要值;使用私钥对检验报告摘要值进行加密得到数字签名;将数字签名附于医疗检验报告上即得到基于数字签名的医疗检验报告。本发明的方案,能够有效防止医疗检验病历在共享或传递时被篡改,且本发明的方案采用的数字签名方法具有较高的可行性,并且能够减小公钥量,提高数字签名效率,进一步提高安全性。
Description
技术领域
本发明属于医疗检验报告技术领域,具体涉及一种基于数字签名的医疗检验报告生成方法。
背景技术
在医疗领域,为了能够更好地了解和确定患者的病情,以能够进行正确的诊断和治疗,需要做一系列相关的医疗检验,比如各种医疗影像或理化检验,从而会形成各种电子检验报告。
随着电子信息技术的发展,电子检验报告可能会在多个医疗机构之间,或者同一个医疗机构的不同医生之间进行共享,但在电子检验报告传递过程中,相关数据会面临被篡改的风险,电子检验报告数据一旦被篡改,在造成患者医疗信息泄露的同时,甚至有可能严重威胁到患者的进一步诊治。
发明内容
为了解决现有技术中存在的上述问题,本发明提供了一种基于数字签名的医疗检验报告生成方法。本发明要解决的技术问题通过以下技术方案实现:
一种基于数字签名的医疗检验报告生成方法,包括:
构造一基于有限域的GRS码;
根据所述GRS码生成公钥以及私钥;
从预设数据库获取初始医疗检验报告;
对所述初始医疗检验报告进行哈希运算生成检验报告摘要值;
使用所述私钥对所述检验报告摘要值进行加密得到数字签名;
将所述数字签名附于所述医疗检验报告上即得到所述基于数字签名的医疗检验报告。
在本发明的一个实施例中,所述构造一基于有限域的GRS码,包括:
在本发明的一个实施例中,所述根据所述GRS码生成公钥以及私钥,包括:
在所述有限域内选取一(n-k)×(n-k)的非奇异矩阵、一n×n的稠密矩阵以及一n×n的稀疏矩阵;所述稠密矩阵的秩为z,所述稀疏矩阵的平均行重和列重为x;其中,z、x为自然数,且z小于n,x小于n。
将所述稠密矩阵以及所述稀疏矩阵进行矩阵的加法运算,得到变换矩阵;
将所述非奇异矩阵的逆矩阵、校验矩阵以及所述变换矩阵的转置矩阵进行矩阵的乘法运算,得到公钥;其中,所述校验矩阵是GRS码的(n-k)×n的矩阵;
将所述非奇异矩阵、所述校验矩阵、所述变换矩阵与译码算法作为私钥。
在本发明的一个实施例中,所述对所述初始医疗检验报告进行哈希运算生成检验报告摘要值,包括:
对所述初始医疗检验报告进行初次哈希运算;
对初次哈希运算得到的结果进行再次哈希运算,得到所述检验报告摘要值。
在本发明的一个实施例中,所述所述使用所述私钥对所述检验报告摘要值进行加密得到数字签名,包括:
使用所述私钥对所述检验报告摘要值进行加密,得到第一数字签名;
对所述第一数字签名进行译码并将得到的错误向量作为第二数字签名,并将所述第二数字签名作为最终的数字签名。
在本发明的一个实施例中,所述使用所述私钥对所述检验报告摘要值进行加密,得到第一数字签名,包括:
将所述私钥中的非奇异矩阵与所述检验报告摘要值进行乘法运算,得到所述第一数字签名。
在本发明的一个实施例中,所述对所述第一数字签名进行译码并将得到的错误向量作为第二数字签名,包括:
结合所述变换矩阵,使用所述译码算法对所述第一数字签名进行译码,得到第一错误向量;
将所述第一错误向量与所述私钥的变换矩阵的逆矩阵进行矩阵的乘法运算,得到第二错误向量,所述第二错误向量的权重小于等于所述GRS码的纠错能力值。
将所述第二错误向量作为所述第二数字签名。
在本发明的一个实施例中,在得到所述第二错误向量之后,还包括:
对所述第二错误向量构建索引对,得到第二错误向量的索引对;
相应的,将所述索引对作为所述第二数字签名。
在本发明的一个实施例中,在得到所述基于数字签名的医疗检验报告之后,还包括:
将所述公钥及所述基于数字签名的医疗检验报告发送至验证节点进行验证。
在本发明的一个实施例中,将所述公钥及所述基于数字签名的医疗检验报告发送至验证节点进行验证,包括:
将所述公钥及所述基于数字签名的医疗检验报告发送至验证节点;
所述验证节点根据所述公钥对所述第二数字签名进行解密,得到待验证的检验报告摘要值;
对所述医疗检验报告进行两次哈希运算,得到检验报告摘要值;
将所述待验证的检验报告摘要值与所述检验报告摘要值进行比较,若所述待验证检验报告摘要值与所述检验报告摘要值相同,则验证成功,反之则验证失败。
与现有技术相比,本发明的有益效果是:本发明实施例提供了一种基于数字签名的医疗检验报告生成方法,通过基于有限域Fq的GRS码生成公钥以及私钥,并对医疗检验报告进行哈希运算得到摘要值,接着使用私钥对摘要值进行加密得到数字签名,进而得到基于数字签名的医疗检验报告;本发明的方案,能够有效防止医疗检验病历在共享或传递时被篡改,且本发明的方案采用的数字签名方法具有较高的可行性,并且能够减小公钥量,提高数字签名效率,进一步提高安全性。
以下将结合附图及实施例对本发明做进一步详细说明。
附图说明
图1是本发明实施例提供的一种基于数字签名的医疗检验报告生成方法流程图;
图2是本发明实施例提供的另一种基于数字签名的医疗检验报告生成方法流程图;
图3是本发明实施例提供的签名方法的可行性仿真结果图;
图4是本发明实施例提供的签名方法在不同纠错能力下的可行性仿真结果图;
图5是本发明实施例提供的签名方法在ISD译码攻击下的仿真结果图;
图6是本发明实施例提供的签名方法在不同纠错能力下的公钥量仿真结果图。
具体实施方式
下面结合具体实施例对本发明做进一步详细的描述,但本发明的实施方式不限于此。
为了解决现有电子医疗检验报告在数据传递过程中存在的被篡改的风险,本发明实施例提供了一种基于数字签名的医疗检验报告生成方法。
请参见图1,图1是本发明实施例提供的基于数字签名的医疗检验报告生成方法流程图;本发明实施例的基于数字签名的医疗检验报告生成方法,包括步骤S11~S16:
S11、构造一基于有限域的GRS码。
其中,有限域可以选择包括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码具有可发展性更强的优势。
S12、根据GRS码生成公钥以及私钥。
基于有限域的GRS码生成公钥以及私钥,可以保证公钥以及私钥具有的安全性能更高且占空间更小。
可选的一种实施方式中,S12可以包括步骤S121~S124。
S121,在有限域内选取(n-k)×(n-k)的非奇异矩阵、n×n的稠密矩阵以及n×n的稀疏矩阵,且稠密矩阵的秩为z,稀疏矩阵的平均行重和列重为x,其中,z为自然数,且z小于n,x小于n。
作为本发明的一种实施方式,可以采用稠密矩阵的秩z远小于n,且稀疏矩阵的平均行重和列重x远小于n。
可选的,本实施例中,对参数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 |
S122,将稠密矩阵以及稀疏矩阵进行矩阵的加法运算,得到变换矩阵。
具体的,加法运算采用公式(1):
S123,将非奇异矩阵的逆矩阵、校验矩阵以及变换矩阵的转置矩阵进行矩阵的乘法运算得到公钥;其中,校验矩阵为GRS码的(n-k)×n矩阵。
具体的,乘法运算采用公式(2):
S124,将非奇异矩阵、校验矩阵、变换矩阵与译码算法作为私钥。
可以理解的是,公钥用于对外公开,私钥用于存储。公钥和私钥是一个算法中不同的两个参数集合,但内在又相关联的参数集合,公钥和私钥是同时生成,但可以独立使用的。
S13、从预设数据库获取初始医疗检验报告。
预设数据库是指设立在医疗机构用来存储患者各种信息的数据库,比如患者的基本信息、电子病历,电子检验报告等。当需要对电子检验报告进行加密时,可以直接从该数据库中获取初始医疗检验报告以用于后续加密步骤。
S14、对初始医疗检验报告进行哈希运算生成检验报告摘要值。
哈希运算指的是可将任意长度的消息映射成固定长度消息的算法,本发明实施的哈希运算可以采用MD4、MD5或者SHA256中的任意一种。其中,病历摘要作为未经过加密的明文,明文即人可直观地理解其意思的字符,通过哈希算法进行第一加密将任意长度的明文映射成一串固定长度的密文,密文即经过加密后的字符串,人无法直观地理解其意思,这串密文即为数字摘要。本步骤通过哈希运算,由医疗检验报告明文生成检验报告摘要值,该检验报告摘要值用于医疗检验报告的下一步加密。
可选的一种实施方式中,S14可以包括S141~S142。
S141,对需要进行数字签名的明文进行初次哈希运算。
本实施例中,对明文M进行初次哈希运算得到h(M)。
S142,对初次哈希运算得到的结果再次进行哈希运算,得到摘要值。
本实施例中,对初次哈希运算得到的结果h(M)再次进行哈希运算,得到摘要值Sx,即计算Sx=h(h(M)|i),其中,i=0,1,2……。本发明实施例中取i=0,使摘要值Sx为一个长度为n-k的向量。
在其他实施例中,也可以使用一次或多次哈希运算得到摘要值,满足固定长度的输出即可。
S15、使用私钥对检验报告摘要值进行加密得到数字签名。
示例的,该步骤可以包括步骤S151~S152:
S151、使用私钥对检验报告摘要值进行加密,得到第一数字签名。
示例的,该步骤可以包括:
将非奇异矩阵与检验报告摘要值进行乘法运算,得到第一数字签名。具体的,乘法运算采用公式(3):
S152、对第一数字签名进行译码并将得到的错误向量作为第二数字签名,并将第二数字签名作为最终的数字签名。
示例的,该步骤可以包括步骤S1521~S1523:
S1521、结合私钥的变换矩阵使用译码算法对第一数字签名进行译码,得到第一错误向量。
译码算法可以选用现有的任一译码算法,本实施例中,译码算法优选为时域上的迭代译码算法,即:BM迭代译码算法(Berlekamp-Massey)、钱式搜索算法(Chien)以及Forney算法的组合。该译码算法速度快,实现简单,易于用计算机实现,因此是一种快速译码算法。
可选的,译码算法可以包括以下几个步骤:
步骤一:计算校正子;
步骤二:确定错误位置多项式;
步骤三:确定错误估值函数;
步骤四:求解错误位置数和错误数值,并进行纠错。
完成上述四步即可完成一次译码,若译码成功,则直接译出错误向量;否则,将视为译码失败。
结合本发明实施例的方案,若译码失败,则使i'=i+1,从重新开始哈希运算重新译码,直到译码成功,得到第一错误向量。
S1522、将第一错误向量与私钥的变换矩阵的逆矩阵进行矩阵的乘法运算,得到第二错误向量,第二错误向量的权重小于等于GRS码的纠错能力值。
具体的,本步骤的乘法运算采用公式(4):
S1523、将第二错误向量作为第二数字签名。
至此,已经得到基于错误向量纠错码的数字签名,但该错误向量中由于存在多个0元素,占用较多的比特位。为减小比特位数,本发明提供的方案在上述实施例的基础上,可以进一步优化。
优选的,在得到第二错误向量之后,还包括以下步骤:
对第二错误向量构建索引对,得到第二错误向量的索引对。
具体的,第二错误向量的索引对可以根据公式(5)得到。
其中,Ie表示索引对。
即提取第二错误向量中的非零元素标记为错误值,用错误位置α以及错误位置c构建第二错误向量的索引对Ie。
相应的,将索引对作为数字签名。
需要说明的是,签名通常对应的还有验签的过程,作为只生成数字签名的步骤,将得到的索引对Ie作为数字签名;而在验签过程中,由于验签者需要用到索引对Ie和检验报告摘要值h(h(m)|i)一起验签,因此在验签成功后,最终是将[Ie|i]作为医疗检验报告的数字签名。
在优选的方案里,通过进一步对生成的第二错误向量建立索引对,并将索引作为数字签名,可以减少比特位数,从而减小签名长度。
S16、将数字签名附于医疗检验报告上即得到基于数字签名的医疗检验报告。
将前述步骤得到的数字签名附于医疗检验报告上形成基于数字签名的医疗检验报告,已完成对初始医疗检验报告的加密。
请参见图2,图2是本发明实施例提供的另一种基于数字签名的医疗检验报告生成方法流程图。如图2所示,在得到基于数字签名的医疗检验报告之后,为了实现医疗检验报告的共享或传递,以及验证该医疗检验报告是否被篡改,本发明实施例的方法,还可以包括:
S17、将公钥及基于数字签名的医疗检验报告发送至验证节点进行验证。
示例的,验证方法可以包括步骤S171~S174:
S171、将公钥及基于数字签名的医疗检验报告发送至验证节点。
将公钥以及该基于数字签名的医疗检验报告广播到网络的各个验证节点中,验证节点接收到后,用公钥对该数字签名进行验证。验证节点可以是不同医疗机构的服务器,也可以是同一医疗机构的不同科室的服务器,或者是同一科室的不同医生的服务器。
S172、验证节点根据公钥对第二数字签名进行解密,得到待验证的检验报告摘要值。
对应于上述签名方法中将得到的第二错误向量作为数字签名的方案,本步骤是利用公钥直接对第二错误向量进行解密,得到待验证检验报告摘要值。
对应于上述签名方法中将得到的索引对作为数字签名的方案,本步骤需要先根据索引对恢复出第二错误向量,然后再利用公钥对第二错误向量进行解密,得到待验证检验报告摘要值。
利用公钥对第二错误向量进行解密,即根据公式(6)得到待验证检验报告摘要值:
其中,y表示待验证检验报告摘要值。
S173、对医疗检验报告进行两次哈希运算,得到检验报告摘要值。
同样的,需要对医疗检验报告进行两次哈希运算,具体步骤与上述哈希运算步骤相同,在此不再赘述。通过两次哈希运算,得到电子病历摘要y'=h(h(M)|i)。
S174、将待验证的检验报告摘要值与检验报告摘要值进行比较,若待验证检验报告摘要值与检验报告摘要值相同,则验证成功,反之则验证失败。
具体的,比较待验证的检验报告摘要值y与检验报告摘要值y',若y=y',即待验证检验报告摘要值与检验报告摘要值相等,验证签名成功,说明医疗检验报告没有被篡改;否则,说明医疗检验报告被篡改。
本发明实施例提供的基于数字签名的医疗检验报告生成方法,通过基于有限域Fq的GRS码生成公钥以及私钥,并对医疗检验报告进行哈希运算得到摘要值,接着使用私钥对摘要值进行加密得到数字签名,进而得到基于数字签名的医疗检验报告;本发明的方案,能够有效防止医疗检验病历在共享或传递时被篡改,且本发明的方案采用的数字签名方法具有较高的可行性,并且能够减小公钥量,提高数字签名效率,进一步提高安全性。
本发明基于数字签名的医疗检验报告的生成方法,核心在于数字签名的方案。以下,分别从签名的正确性、可行性、安全性、公钥量以及签名长度这五个方面对本发明实施例提供的数字签名方案进行验证。
(1)正确性:
正确性的验证也是对签名是否验签成功的验证,需要证明利用公钥对第二错误向量进行解密得到的待验证摘要值与生成签名过程中得到的摘要值相等,即可证明正确性。具体过程如下:
利用公钥对第二错误向量进行解密得到待验证摘要值,其中,公钥是基于非奇异矩阵的逆矩阵、校验矩阵以及变化矩阵的转置矩阵进行矩阵的乘法运算得到的,即上述公式(2);第二错误向量是基于第一错误向量与私钥的变化矩阵的逆矩阵进行矩阵的乘法运算得到的,即上述公式(4);待验证摘要值是基于公钥中的每一列根据αj索引的对应行的值与cj的乘积得到的,即上述公式(6)。
因此,将公式(2)以及公式(4)代入公式(6)可以得到,
对上述公式(7)进行简化公式,可以得到:
待译校正子是基于非奇异矩阵与摘要值进行乘法运算得到的,即上述公式(3)。
因此,根据公式(3),得到y=Sx,即能够得到y=y',验证成功,说明签名正确。
(2)可行性:
基于有限域Fq的GRS码签名的参数对(m,t)在选取上不仅要保证平均查找次数在千万数量级以下,还要保证参数对的选取不能过小。
参见图3,图3是本发明实施例提供的签名方法的可行性仿真结果图。图中表示了纠错能力t与平均查找次数的对数log2Z之间的关系。由图3可以看出,纠错能力t与平均查找次数的对数log2Z成正比,也就是平均查找次数Z与纠错能力t呈指数关系。
图3中的横线表示千万数量级的运算,图中数据x表示m,y表示log2Z。
当纠错能力t的值大于10后,平均查找次数将会过大,因此,纠错能力t选取小于等于10更为合适。
参考图4,图4是本发明实施例提供的签名方法在不同纠错能力下的可行性仿真结果图。图4表示的是纠错能力t取9和10时,m与平均查找次数的对数的关系。图中数据x表示m,y表示log2Z。由图4可以看出,当m≥12时,随着m的增大,log2Z趋于平稳,几乎没有什么变化;当m<12时,会增加平均查找次数。因此,m取大于等于12较为合适。
另外,根据图4可以得到表2的两组数据:
表2(a)
m(t=10) | 6 | 8 | 10 | 12 | 14 | 16 | 18 |
log<sub>2</sub>Z | 23.33 | 22.16 | 21.88 | 21.81 | 21.80 | 21.79 | 21.79 |
表2(b)
m(t=9) | 6 | 8 | 10 | 12 | 14 | 16 | 18 |
log<sub>2</sub>Z | 19.74 | 18.78 | 18.55 | 18.49 | 18.47 | 18.4703 | 18.47 |
已知CFS签名使用的参数对(m,t)为(15,10)以及(16,9)。当参数对为(15,10)时,CFS签名的平均查找次数的对数值为27.7911,基于有限域Fq的GRS码签名的平均查找次数的对数值为21.7933;当参数对为(16,9)时,CFS签名的平均查找次数的对数值为18.4691,基于有限域Fq的GRS码签名的平均查找次数的对数值为18.4703。
相比较来说,在两种参数对下,CFS签名与基于有限域Fq的GRS码签名的平均查找次数的数据差别不大,因此本发明实施例提供的一种基于有限域Fq的GRS码数字签名方法具有可行性。
(3)安全性:
参考图5,图5是本发明实施例提供的签名方法在ISD译码攻击下的仿真结果图。图5表示的是在在ISD译码攻击的情况下,m与安全级别SL的关系。
ISD译码攻击下的安全级别系数与m和t的乘积呈指数关系,基于上述条件,t选取小于等于10。即当t确定下,m越大,安全级别系数越高。
图中数据x表示m,y表示SL。从图5可以看出,基于有限域Fq的GRS码数字签名在参数对选取为(10,10)时,安全级别SL可以达到80,已经达到了一般安全级别,而在选取的参数对为(16,9)时,安全级别SL超过了128。
在ISD译码攻击下,当参数对为(15,10)时,CFS签名的安全级别系数SL为76.89,基于有限域Fq的GRS码签名的安全级别系数SL为135.42;当参数对为(16,9)时,CFS签名的安全级别系数SL为76.92,基于有限域Fq的GRS码签名的安全级别系数SL为135.56。
相比较来看,本发明实施例提供的基于有限域Fq的GRS码签名在ISD译码攻击下,具有较高的安全级别系数。
另外,本发明实施例提供的基于有限域Fq的GRS码签名还能有效抵抗区分攻击,而CFS签名在区分攻击下的参数选取存在缺陷。
(4)公钥量:
参考图6,图6是本发明实施例提供的签名方法在不同纠错能力下的公钥量仿真结果图。图6表示的是纠错能力t取9和10时,m与公钥量的关系。图中数据x表示m,y表示k·(n-k)·log2q。由图6可以看出,公钥量与m呈指数关系,而不同纠错能力t下,对公钥量的影响不是很明显。虽然当m越大,基于有限域Fq的GRS码签名越安全,但也会导致公钥量越大。因此,选取较为合适的m,使得安全系数较高且公钥量较小,例如m取10、12等。
(5)签名长度:
本发明实施例提供的基于有限域Fq的GRS码签名,签名长度为2m·tp+log2 Z。
表3为基于有限域Fq的GRS码签名与CFS签名在两组不同参数对下,平均查找次数、安全级别、公钥量以及签名长度的对比。
表3不同参数对下基于有限域Fq的GRS码签名与CFS签名的参数对比
从表3可以看出,在不同的参数对下,本发明实施例提供的基于有限域Fq的GRS码签名的安全级别系数比CFS签名的安全级别系数要高,但是公钥量以及数字签名长度也要大一些。
因此,选取几组不同的参数对对基于有限域Fq的GRS码签名的参数进行仿真,结果如表4所示。
表4不同参数对下基于有限域Fq的GRS码签名的参数
参数对 | 平均查找次数 | 安全级别(SL) | 公钥量 | 签名长度(bits) |
(11,9) | 18.5072 | 85.5239 | 401544 | 195 |
(10,10) | 21.8829 | 80.3254 | 200400 | 202 |
(12,10) | 21.8140 | 102.3972 | 977760 | 238 |
本发明实施例提供的基于有限域Fq的GRS码签名,在提升安全级别系数的前提下,能够降低参数对的选择,减少公钥量以及签名长度。
通过以上验证说明本发明的方案具有正确性、可行性、安全性,以及公钥量降低、签名长度减小等效果。
以上内容是结合具体的优选实施方式对本发明所作的进一步详细说明,不能认定本发明的具体实施只局限于这些说明。对于本发明所属技术领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干简单推演或替换,都应当视为属于本发明的保护范围。
Claims (10)
1.一种基于数字签名的医疗检验报告生成方法,其特征在于,包括:
构造一基于有限域的GRS码;
根据所述GRS码生成公钥以及私钥;
从预设数据库获取初始医疗检验报告;
对所述初始医疗检验报告进行哈希运算生成检验报告摘要值;
使用所述私钥对所述检验报告摘要值进行加密得到数字签名;
将所述数字签名附于所述医疗检验报告上即得到所述基于数字签名的医疗检验报告。
3.根据权利要求1所述的基于数字签名的医疗检验报告生成方法,其特征在于,所述根据所述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所述的基于数字签名的医疗检验报告生成方法,其特征在于,所述使用所述私钥对所述检验报告摘要值进行加密得到数字签名,包括:
使用所述私钥对所述检验报告摘要值进行加密,得到第一数字签名;
对所述第一数字签名进行译码并将得到的错误向量作为第二数字签名,并将所述第二数字签名作为最终的数字签名。
6.根据权利要求5所述的基于数字签名的医疗检验报告生成方法,其特征在于,所述使用所述私钥对所述检验报告摘要值进行加密,得到第一数字签名,包括:
将所述私钥中的非奇异矩阵与所述检验报告摘要值进行乘法运算,得到所述第一数字签名。
7.根据权利要求6所述的基于数字签名的医疗检验报告生成方法,其特征在于,所述对所述第一数字签名进行译码并将得到的错误向量作为第二数字签名,包括:
结合所述变换矩阵,使用所述译码算法对所述第一数字签名进行译码,得到第一错误向量;
将所述第一错误向量与所述私钥的变换矩阵的逆矩阵进行矩阵的乘法运算,得到第二错误向量,所述第二错误向量的权重小于等于所述GRS码的纠错能力值。
将所述第二错误向量作为所述第二数字签名。
8.根据权利要求7所述的基于数字签名的医疗检验报告生成方法,其特征在于,在得到所述第二错误向量之后,还包括:
对所述第二错误向量构建索引对,得到第二错误向量的索引对;
相应的,将所述索引对作为所述第二数字签名。
9.根据权利要求1-8任一项所述的基于数字签名的医疗检验报告生成方法,其特征在于,在得到所述基于数字签名的医疗检验报告之后,还包括:
将所述公钥及所述基于数字签名的医疗检验报告发送至验证节点进行验证。
10.根据权利要求9所述的基于数字签名的医疗检验报告生成方法,其特征在于,将所述公钥及所述基于数字签名的医疗检验报告发送至验证节点进行验证,包括:
将所述公钥及所述基于数字签名的医疗检验报告发送至验证节点;
所述验证节点根据所述公钥对所述第二数字签名进行解密,得到待验证的检验报告摘要值;
对所述医疗检验报告进行两次哈希运算,得到检验报告摘要值;
将所述待验证的检验报告摘要值与所述检验报告摘要值进行比较,若所述待验证检验报告摘要值与所述检验报告摘要值相同,则验证成功,反之则验证失败。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011570318.5A CN112635008A (zh) | 2020-12-26 | 2020-12-26 | 基于数字签名的医疗检验报告生成方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011570318.5A CN112635008A (zh) | 2020-12-26 | 2020-12-26 | 基于数字签名的医疗检验报告生成方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN112635008A true CN112635008A (zh) | 2021-04-09 |
Family
ID=75325567
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011570318.5A Withdrawn CN112635008A (zh) | 2020-12-26 | 2020-12-26 | 基于数字签名的医疗检验报告生成方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112635008A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113963767A (zh) * | 2021-10-28 | 2022-01-21 | 广东粤信智能科技有限公司 | 个人诊疗数据共享保护方法、存储介质及电子病历系统 |
CN116453670A (zh) * | 2023-06-16 | 2023-07-18 | 高密市人民医院 | 一种血液标本检验数据的存储系统和方法 |
-
2020
- 2020-12-26 CN CN202011570318.5A patent/CN112635008A/zh not_active Withdrawn
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113963767A (zh) * | 2021-10-28 | 2022-01-21 | 广东粤信智能科技有限公司 | 个人诊疗数据共享保护方法、存储介质及电子病历系统 |
CN116453670A (zh) * | 2023-06-16 | 2023-07-18 | 高密市人民医院 | 一种血液标本检验数据的存储系统和方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
D'Anvers et al. | Timing attacks on error correcting codes in post-quantum schemes | |
US11218306B2 (en) | Cryptographic device having physical unclonable function | |
US11301344B2 (en) | Aggregate GHASH-based message authentication code (MAC) over multiple cachelines with incremental updates | |
RU2680350C2 (ru) | Способ и система распределенного хранения восстанавливаемых данных с обеспечением целостности и конфиденциальности информации | |
JP5854443B2 (ja) | 誤り訂正符号方式を用いて計算環境における資産集合についての識別子を生成する変化許容力を有する方法 | |
CN112635009A (zh) | 基于区块链的医疗数据加密方法 | |
Becker | Robust fuzzy extractors and helper data manipulation attacks revisited: Theory versus practice | |
CN104769675B (zh) | 数据处理 | |
EP3852275A1 (en) | Method, device and apparatus for storing data, computer readable storage medium | |
CN112635008A (zh) | 基于数字签名的医疗检验报告生成方法 | |
EP2991264B1 (en) | Encrypted text matching system, method and program | |
US20160112197A1 (en) | Method and apparatus for storing encrypted data files across distributed storage media | |
WO2022134119A1 (zh) | 基于区块链的电子病历共享方法和电子设备 | |
CN112613008A (zh) | 一种学生身份在线认证方法及系统 | |
CN112769573B (zh) | 一种基于grs码的数字签名方法、验签方法及其装置 | |
US11128475B2 (en) | Electronic device capable of data communication through electronic signatures based on syndrome and operating method thereof | |
CN112613760A (zh) | 基于区块链技术的产品质量评定方法及系统 | |
CN112631992A (zh) | 一种电子文件归档方法及系统 | |
CN112613078A (zh) | 一种文档电子签名方法、验签方法及其装置 | |
CN112614558A (zh) | 基于区块链的电子病历共享方法和电子设备 | |
CN112614001A (zh) | 基于区块链的农产品追溯方法及系统 | |
CN112738210A (zh) | 一种路面养护方法及系统 | |
CN112614557A (zh) | 电子病历加密存档方法 | |
CN112633712A (zh) | 一种基于grs码的在线投标方法及系统 | |
EP2991266A1 (en) | Encrypted text matching system, method and program |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
WW01 | Invention patent application withdrawn after publication |
Application publication date: 20210409 |
|
WW01 | Invention patent application withdrawn after publication |