CN112613078A - 一种文档电子签名方法、验签方法及其装置 - Google Patents

一种文档电子签名方法、验签方法及其装置 Download PDF

Info

Publication number
CN112613078A
CN112613078A CN202011570333.XA CN202011570333A CN112613078A CN 112613078 A CN112613078 A CN 112613078A CN 202011570333 A CN202011570333 A CN 202011570333A CN 112613078 A CN112613078 A CN 112613078A
Authority
CN
China
Prior art keywords
signature
document
identity
electronic signature
value
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
CN202011570333.XA
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 CN202011570333.XA priority Critical patent/CN112613078A/zh
Publication of CN112613078A publication Critical patent/CN112613078A/zh
Withdrawn legal-status Critical Current

Links

Images

Classifications

    • 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
    • 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/60Protecting data
    • G06F21/602Providing cryptographic facilities or services
    • 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)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Mathematical Physics (AREA)
  • Computer Hardware Design (AREA)
  • Mathematical Optimization (AREA)
  • Bioethics (AREA)
  • Computational Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • General Health & Medical Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Pure & Applied Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Computing Systems (AREA)
  • Algebra (AREA)
  • Databases & Information Systems (AREA)
  • Storage Device Security (AREA)

Abstract

本发明公开了一种文档电子签名方法、验签方法及其装置,其中电子签名方法包括:获取签名者的身份信息,根据身份信息得到身份明文;对身份明文做哈希运算,得到摘要值;根据摘要值得到数字签名;将数字签名加盖在文档指定位置处形成电子签名。本发明实施例的方案,基于数字签名生成的电子签名具有较高的可行性,提高签名效率,进一步提高安全性。

Description

一种文档电子签名方法、验签方法及其装置
技术领域
本发明属于信息安全技术领域,具体涉及一种文档电子签名方法、验签方法及其装置。
背景技术
电子签名是通过密码技术对电子文档进行电子形式的签名,通常应用于重要的电子文档、电子合同等。电子文档中需要用到安全可靠的电子签名进行保证文档的可靠性,这就对电子签名具有较高的要求。
目前,根据数字签名技术对文档进行电子签名。然而传统数字签名体制在量子计算机下是不安全的,构造能够地抗量子攻击的数字签名体制已经成为密码学界和工业界的迫切需求。
基于纠错码的公钥密码体制利用线性码译码困难问题构造,区别于基于大数分解和离散对数的公钥密码体制,是目前公认的一种可抵抗量子攻击的密码算法,比如CFS签名方案,但是现有的CFS签名方案由于存在密钥存储量过大的问题,影响了该类密码体制的实用性。
发明内容
为了解决现有技术中存在的上述问题,本发明提供了一种文档电子签名方法、验签方法及其装置。本发明要解决的技术问题通过以下技术方案实现:
第一方面,本发明实施例提供的一种文档电子签名方法,包括:
获取签名者的身份信息,根据所述身份信息得到身份明文;
对所述身份明文做哈希运算,得到摘要值;
根据所述摘要值得到数字签名;
将所述数字签名加盖在文档指定位置处形成电子签名。
可选的,所述身份信息包括所述签名者的指纹信息或者电子印章。
可选的,所述对所述身份明文做哈希运算,得到摘要值,包括:
对所述身份明文进行初次哈希运算;
对初次哈希运算得到的结果再次进行哈希运算,得到摘要值。
可选的,所述根据所述摘要值得到数字签名,包括:
构造一基于有限域的GRS码;
根据所述GRS码生成公钥以及私钥;
使用所述私钥对所述摘要值进行加密,得到数字签名。
第二方面,本发明实施例还提供一种第一方面的文档电子签名的验签方法,包括:
获取所述文档的所述电子签名,根据所述电子签名得到所述数字签名;
获取对所述文档进行签名的所述签名者的所述身份信息并根据所述身份信息得到所述身份明文;
利用所述公钥对所述数字签名解密,得到待验证摘要值;
对所述身份明文进行哈希运算,得到摘要值;
将所述待验证摘要值与所述摘要值进行比较,若所述待验证摘要值与所述摘要值相等,则验证成功。
可选的,所述身份信息包括所述签名者的指纹信息或者电子印章。
可选的,所述对所述身份明文做哈希运算,得到摘要值,包括:
对所述身份明文进行初次哈希运算;
对初次哈希运算得到的结果再次进行哈希运算,得到摘要值。
可选的,所述根据所述摘要值得到数字签名,包括:
构造一基于有限域的GRS码;
根据所述GRS码生成公钥以及私钥;
使用所述私钥对所述摘要值进行加密,得到数字签名。
第三方面,本发明实施例还提供一种文档电子签名生成装置,包括:
身份获取模块,用于获取签名者的身份信息,根据所述身份信息得到身份明文;
摘要生成模块,用于对所述身份明文做哈希运算,得到摘要值;
数字证书生成模块,用于根据所述摘要值得到数字签名;
电子签名模块,用于将所述数字签名加盖在文档指定位置处形成电子签名。
第四方面,本发明实施例还提供一种第三方面提供的文档电子签名的验签装置,包括:
数字证书提取模块,用于获取所述文档的所述电子签名,根据所述电子签名得到所述数字签名;
身份信息提取模块,用于获取对所述文档进行签名的所述签名者的所述身份信息,并根据所述身份信息得到所述身份明文;
解密模块,用于利用所述公钥对所述数字签名解密,得到待验证摘要值;
摘要获取模块,用于对所述身份明文进行哈希运算,得到摘要值;
验证模块,将所述待验证摘要值与所述摘要值进行比较,若所述待验证摘要值与所述摘要值相等,则验证成功。
本发明实施例提供的文档电子签名方法,根据签名者的身份信息得到身份明文,并将身份明文生成摘要值,基于摘要值得到数字签名,加盖在文档中形成电子签名。本发明实施例的方案,基于数字签名生成的电子签名具有较高的可行性,提高签名效率,进一步提高安全性。
当然,实施本发明的任一产品或方法并不一定需要同时达到以上所述的所有优点。
以下将结合附图及实施例对本发明做进一步详细说明。
附图说明
图1是本发明实施例提供的一种文档电子签名方法的流程图;
图2是本发明实施例提供的一种文档电子签名的验签方法的流程图;
图3是本发明实施例提供的方法的可行性仿真结果图;
图4是本发明实施例提供的方法在不同纠错能力下的可行性仿真结果图;
图5是本发明实施例提供的方法在ISD译码攻击下的仿真结果图;
图6是本发明实施例提供的方法在不同纠错能力下的公钥量仿真结果图;
图7是本发明实施例提供的一种文档电子签名生成装置的结构图;
图8是本发明实施例提供的一种文档电子签名验签装置的结构图。
具体实施方式
下面结合具体实施例对本发明做进一步详细的描述,但本发明的实施方式不限于此。
为了实现一种安全性能高,签名验签效率好的电子签名,本发明实施例提供了一种文档电子签名方法、验签方法及其装置。
第一方面,本发明实施例提供了一种文档电子签名方法。下面,首先对该数字签名方法进行介绍。
参见图1,图1是本发明实施例提供的一种文档电子签名方法的流程图。本发明实施例提供的文档电子签名方法,可以包括以下步骤:
S11,获取签名者的身份信息,根据身份信息得到身份明文。
本发明实施例中,签名者可以为需要对电子凭据、电子发票等文档进行签名的单一签名者,也可以为需要对电子合同等文档进行签名的多个签名者。这里对签名者的数量不做限制。
另外,身份信息包括签名者的指纹信息或者电子印章。
身份信息还可以是签名者的身份证号码、人脸图像或者手写签名的图像等,身份信息需要能够证明签名者的身份。
相应的,若身份信息为单一签名者的身份信息,则身份明文为单一签名者身份信息得到的身份明文。
若身份信息为多个签名者对应的多个身份信息,则身份明文可以是每一身份信息得到的身份明文的集合,也可以是包含所有签名者的身份信息得到的身份明文。
S12,对身份明文做哈希运算,得到摘要值。
对应的,身份明文不论是单一签名者的身份信息,还是多个签名者的身份信息,后续操作步骤均相同,这里不再分别赘述。
哈希运算能够把任意长度的输入向量通过散列算法变成固定长度的输出。需要注意的是,哈希运算是单向、不可逆的。
可选的一种实施方式中,S12可以包括S121~S122。
S121,对身份明文进行初次哈希运算。
本实施例中,对身份明文M进行初次哈希运算得到h(M)。
S122,对初次哈希运算得到的结果再次进行哈希运算,得到摘要值。
本实施例中,对初次哈希运算得到的结果h(M)再次进行哈希运算,得到摘要值Sx,即计算Sx=h(h(M)|i),其中,i=0,1,2……。本发明实施例中取i=0,使摘要值Sx为一个长度为n-k的向量。
在其他实施例中,也可以使用一次或多次哈希运算得到摘要值,满足固定长度的输出即可。
S13,根据摘要值得到数字签名。
可选的一种实施方式中,S13可以包括S131~S133。
S131,构造一基于有限域的GRS码。
具体的,S131可以包括:构造一有限域,并根据有限域构造一个码长为n、维数为k且纠错能力为t的GRS码(广义Reed-Solomon码),其中,n、k和t均为任意正整数,且满足
Figure BDA0002862292850000061
其中,有限域可以选择包括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可以包括以下步骤。
步骤一,在有限域内选取(n-k)×(n-k)的非奇异矩阵、n×n的稠密矩阵以及n×n的稀疏矩阵,且稠密矩阵的秩为z,稀疏矩阵的平均行重和列重为x,其中,z为自然数,且z小于n,x小于n。
作为本发明的一种实施方式,可以采用稠密矩阵的秩z远小于n,且稀疏矩阵的平均行重和列重x远小于n。
具体的,稠密矩阵可以用矩阵的转置矩阵与矩阵的乘积表示,即
Figure BDA0002862292850000071
其中
Figure BDA0002862292850000072
为有限域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
步骤二,将稠密矩阵以及稀疏矩阵进行矩阵的加法运算,得到变换矩阵。
具体的,加法运算采用公式(1):
Figure BDA0002862292850000081
其中,
Figure BDA0002862292850000082
表示变换矩阵,
Figure BDA0002862292850000083
表示稠密矩阵,
Figure BDA0002862292850000084
表示稀疏矩阵。
步骤三,将非奇异矩阵的逆矩阵、校验矩阵以及变换矩阵的转置矩阵进行矩阵的乘法运算得到公钥;其中,校验矩阵为GRS码的(n-k)×n矩阵。
具体的,乘法运算采用公式(2):
Figure BDA0002862292850000085
其中,
Figure BDA0002862292850000086
表示公钥,
Figure BDA0002862292850000087
表示非奇异矩阵的逆矩阵,
Figure BDA0002862292850000088
表示校验矩阵,
Figure BDA0002862292850000089
表示变换矩阵的转置矩阵。
步骤四,将非奇异矩阵、校验矩阵、变换矩阵与译码算法作为私钥。
可以理解的是,公钥用于对外公开,私钥用于存储。公钥和私钥是一个算法中不同的两个参数集合,但内在又相关联的参数集合,公钥和私钥是同时生成,但可以独立使用的。
S133,使用私钥对摘要值进行加密,得到数字签名。
可选的一种实施方式中,S133可以包括以下步骤。
步骤一,将非奇异矩阵与摘要值进行乘法运算,得到待译校正子。
具体的,乘法运算采用公式(3):
Figure BDA00028622928500000810
其中,S'x表示待译校正子,
Figure BDA00028622928500000811
表示非奇异矩阵,Sx表示摘要值。
步骤二,结合私钥的校验矩阵使用译码算法对待译校正子进行译码,得到第一错误向量。
译码算法可以选用现有的任一译码算法,本实施例中,译码算法优选为时域上的迭代译码算法,即:BM迭代译码算法(Berlekamp-Massey)、钱式搜索算法(Chien)以及Forney算法的组合。该译码算法速度快,实现简单,易于用计算机实现,因此是一种快速译码算法。
可选的,译码算法可以包括以下几个步骤:
步骤1:计算校正子;
步骤2:确定错误位置多项式;
步骤3:确定错误估值函数;
步骤4:求解错误位置数和错误数值,并进行纠错。
完成上述四步即可完成一次译码,若译码成功,则直接译出错误向量;否则,将视为译码失败。
结合本发明实施例的方案,若译码失败,则使i'=i+1,从S121重新开始,直到译码成功。
步骤三,将第一错误向量与私钥的变换矩阵的逆矩阵进行矩阵的乘法运算,得到第二错误向量,第二错误向量的权重小于等于GRS码的纠错能力t。
具体的,参见公式(4):
Figure BDA0002862292850000091
其中,
Figure BDA0002862292850000092
表示第二错误向量,
Figure BDA0002862292850000093
表示第一错误向量,
Figure BDA0002862292850000094
表示私钥的变换矩阵的逆矩阵。
步骤四,将第二错误向量作为数字签名。
至此,已经得到基于错误向量纠错码的数字签名,但该错误向量中由于存在多个0元素,占用较多的比特位。为减小比特位数,本发明提供的方案在上述实施例的基础上,可以进一步优化。
优选的,在得到第二错误向量之后,还包括以下步骤:
对第二错误向量构建索引对,得到第二错误向量的索引对。
具体的,第二错误向量的索引对可以根据公式(5)得到。
Figure BDA0002862292850000101
其中,Ie表示索引对。
即提取第二错误向量中的非零元素标记为错误值,用错误位置α以及错误位置c构建第二错误向量的索引对Ie
相应的,将索引对作为数字签名。
需要说明的是,签名通常对应的还有验签的过程,作为只生成数字签名的步骤,将得到的索引对Ie作为数字签名;而在验签过程中,由于验签者需要用到索引对Ie和摘要值h(h(m)|i)一起验签,因此在验签成功后,最终是将[Ie|i]作为身份明文M的数字签名。
在优选的方案里,通过进一步对生成的第二错误向量建立索引对,并将索引作为数字签名,可以减少比特位数,从而减小签名长度。
S14,将数字签名加盖在文档指定位置处形成电子签名。
可选的一种实施方式中,本领域技术人员可以理解的是,文档可以包括但不仅限于是电子合同、电子凭据以及电子发票等文档,且文档类型可以包括但不仅限于是PDF、Word、JPG以及XML等类型。
本发明实施例提供的文档电子签名方法,根据签名者的身份信息得到身份明文,并将身份明文生成摘要值,基于摘要值得到数字签名,加盖在文档中形成电子签名。本发明实施例的方案,基于数字签名生成的电子签名具有较高的可行性,提高签名效率,进一步提高安全性。
第二方面,本发明实施例还提供一种上述的文档电子签名的验签方法。下面对文档电子签名的验签方法进行介绍。
参见图2,图2是本发明实施例提供的一种文档电子签名的验签方法的流程图,该验签方法可以包括以下步骤:
S21,获取文档的电子签名,根据电子签名得到数字签名。
从包括电子签名的文档中提取该文档的电子签名,进而得到电子签名对应的数字签名。
S22,获取对文档进行签名的签名者的身份信息,根据身份信息得到身份明文。
本实施例中,获取文档签名者的身份信息的方法可以是从文档签名方获取,也可以是将文档的签名者姓名附在文档。这里不做限定
另外,S21与S22的顺序可以调换。
S23,利用公钥对数字签名解密,得到待验证摘要值。
对应于上述签名方法中将得到的第二错误向量作为数字签名的方案,本步骤是利用公钥直接对第二错误向量进行解密,得到待验证摘要值。
对应于上述签名方法中将得到的索引对作为数字签名的方案,本步骤需要先根据索引对恢复出第二错误向量,然后再利用公钥对第二错误向量进行解密,得到待验证摘要值。
具体的,需要根据索引对恢复出第二错误向量,即在索引对Ie中αj索引的位置用cj填充,在αj索引之外的位置用0填充,直到向量
Figure BDA0002862292850000111
的长度达到(n-k)。
利用公钥对第二错误向量进行解密,即根据公式(6)得到待验证摘要值:
Figure BDA0002862292850000121
其中,y表示待验证摘要值。
计算公钥
Figure BDA0002862292850000122
中的每一列根据αj索引的对应行的值与cj的乘积,并将该乘积作为待验证摘要值。
S24,对身份明文进行哈希运算,得到摘要值。
同样的,需要对身份明文进行两次哈希运算,具体步骤与S12相同,在此不再赘述。通过两次哈希运算,得到摘要值y'=h(h(M)|i)。
S25,将待验证摘要值与摘要值进行比较,若待验证摘要值与摘要值相等,则验证成功。
本发明实施例中,比较待验证摘要值y与摘要值y',若y=y',即待验证摘要值与摘要值相等,验证签名成功;否则,验证签名失败。
本发明实施例提供的一种文档电子签名验签方法,通过文档的电子签名得到数字签名,同时获取签名者的身份信息,并根据身份信息得到身份明文。对数字签名进行解密,并与经过哈希运算的身份明文进行对比,来验证电子签名的正确性。本发明实施例的方案,基于数字签名生成的电子签名具有较高的可行性,提高签名效率,进一步提高安全性。
本发明实施例提供的文档电子签名方法、验签方法,其核心思想是利用数字签名方法对身份明文进行加密,并利用相应的数字签名方法对加密的身份明文进行验证,用来验证电子签名的正确性。因此以下,分别从签名的正确性、可行性、安全性、公钥量以及签名长度这五个方面对本发明实施例提供的方案进行验证。
(1)正确性:
正确性的验证也是对签名是否验签成功的验证,需要证明利用公钥对第二错误向量进行解密得到的待验证摘要值与生成签名过程中得到的摘要值相等,即可证明正确性。具体过程如下:
利用公钥对第二错误向量进行解密得到待验证摘要值,其中,公钥是基于非奇异矩阵的逆矩阵、校验矩阵以及变化矩阵的转置矩阵进行矩阵的乘法运算得到的,即上述公式(2);第二错误向量是基于第一错误向量与私钥的变化矩阵的逆矩阵进行矩阵的乘法运算得到的,即上述公式(4);待验证摘要值是基于公钥中的每一列根据αj索引的对应行的值与cj的乘积得到的,即上述公式(6)。
因此,将公式(2)以及公式(4)代入公式(6)可以得到,
Figure BDA0002862292850000131
对上述公式(7)进行简化公式,可以得到:
Figure BDA0002862292850000132
又由于
Figure BDA0002862292850000133
因此从公式(8)可以得到:
Figure BDA0002862292850000134
其中,y表示待验证摘要值,
Figure BDA0002862292850000135
表示非奇异矩阵的逆矩阵,S'x表示待译校正子。
待译校正子是基于非奇异矩阵与摘要值进行乘法运算得到的,即上述公式(3)。
因此,根据公式(3),得到y=Sx,即能够得到y=y',验证成功,说明签名正确。
(2)可行性:
设基于有限域Fq的GRS码的总校正子数为N,且N=qn-k=q2t=q2mt,可进行译码的校正子数为M,且
Figure BDA0002862292850000141
因此对摘要值Sx查找成功的概率为
Figure BDA0002862292850000142
即平均查找次数为
Figure BDA0002862292850000143
基于有限域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码签名的平均查找次数的数据差别不大,因此本发明实施例提供的一种数字签名方法具有可行性。
(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)公钥量:
本发明实施例中,对GRS码的校验矩阵进行高斯消元化,得到行阶梯型矩阵,即公钥
Figure BDA0002862292850000161
的公钥量为k·(n-k)。因此,基于有限域Fq的GRS码上,公钥量为k·(n-k)·log2q。
参考图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+log2Z。
表3为基于有限域Fq的GRS码签名与CFS签名在两组不同参数对下,平均查找次数、安全级别、公钥量以及签名长度的对比。
表3不同参数对下基于有限域Fq的GRS码签名与CFS签名的参数对比
Figure BDA0002862292850000162
从表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码签名,在提升安全级别系数的前提下,能够降低参数对的选择,减少公钥量以及签名长度。
通过以上验证说明本发明的方案具有正确性、可行性、安全性,以及公钥量降低、签名长度减小等效果。
第三方面,本发明实施例还提供一种文档电子签名生成装置,参考图7,图7是本发明实施例提供的一种文档电子签名生成装置的结构图,包括:
身份获取模块710,用于获取对文档进行签名的签名者的身份信息,根据身份信息得到身份明文;
摘要生成模块720,用于对身份明文做哈希运算,得到摘要值;
数字证书生成模块730,用于根据摘要值得到数字签名;
电子签名模块740,用于将数字签名加盖在文档指定位置处形成电子签名。
相关具体内容参见第一方面的一种文档电子签名方法的内容,在此不再赘述。
本发明实施例提供的一种文档电子签名生成装置,根据签名者的身份信息得到身份明文,并将身份明文生成摘要值,基于摘要值得到数字签名,加盖在文档中形成电子签名。本发明实施例的方案,基于数字签名生成的电子签名具有较高的可行性,提高签名效率,进一步提高安全性。
第四方面,本发明实施例还提供一种文档电子签名验签装置,参考图8,图8是本发明实施例提供的一种文档电子签名验签装置的结构图,包括:
数字证书提取模块810,用于获取文档的电子签名,根据电子签名得到数字签名;
身份信息提取模块820,用于获取对文档进行签名的签名者的身份信息,并根据身份信息得到身份明文;
解密模块830,用于利用公钥对数字签名解密,得到待验证摘要值;
摘要获取模块840,用于对身份明文进行哈希运算,得到摘要值;
验证模块850,将待验证摘要值与摘要值进行比较,若待验证摘要值与摘要值相等,则验证成功。
相关具体内容参见第二方面的一种文档电子签名方法的验签方法的内容,在此不再赘述。
本发明实施例提供的一种文档电子签名验签装置,通过文档的电子签名得到数字签名,同时获取签名者的身份信息,并根据身份信息得到身份明文。对数字签名进行解密,并与经过哈希运算的身份明文进行对比,来验证电子签名的正确性。本发明实施例的方案,基于数字签名生成的电子签名具有较高的可行性,提高签名效率,进一步提高安全性。
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括要素的过程、方法、物品或者设备中还存在另外的相同要素。
本说明书中的各个实施例均采用相关的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
以上内容是结合具体的优选实施方式对本发明所作的进一步详细说明,不能认定本发明的具体实施只局限于这些说明。对于本发明所属技术领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干简单推演或替换,都应当视为属于本发明的保护范围。

Claims (10)

1.一种文档电子签名方法,其特征在于,包括:
获取签名者的身份信息,根据所述身份信息得到身份明文;
对所述身份明文做哈希运算,得到摘要值;
根据所述摘要值得到数字签名;
将所述数字签名加盖在文档指定位置处形成电子签名。
2.根据权利要求1所述的文档电子签名方法,其特征在于,所述身份信息包括所述签名者的指纹信息或者电子印章。
3.根据权利要求1所述的文档电子签名方法,其特征在于,所述对所述身份明文做哈希运算,得到摘要值,包括:
对所述身份明文进行初次哈希运算;
对初次哈希运算得到的结果再次进行哈希运算,得到摘要值。
4.根据权利要求1所述的文档电子签名方法,其特征在于,所述根据所述摘要值得到数字签名,包括:
构造一基于有限域的GRS码;
根据所述GRS码生成公钥以及私钥;
使用所述私钥对所述摘要值进行加密,得到数字签名。
5.一种权利要求1至4任一项所述的文档电子签名的验签方法,其特征在于,包括:
获取所述文档的所述电子签名,根据所述电子签名得到所述数字签名;
获取对所述文档进行签名的所述签名者的所述身份信息并根据所述身份信息得到所述身份明文;
利用所述公钥对所述数字签名解密,得到待验证摘要值;
对所述身份明文进行哈希运算,得到摘要值;
将所述待验证摘要值与所述摘要值进行比较,若所述待验证摘要值与所述摘要值相等,则验证成功。
6.根据权利要求5所述的文档电子签名装置,其特征在于,所述身份信息包括所述签名者的指纹信息或者电子印章。
7.根据权利要求5所述的文档电子签名装置,其特征在于,所述对所述身份明文做哈希运算,得到摘要值,包括:
对所述身份明文进行初次哈希运算;
对初次哈希运算得到的结果再次进行哈希运算,得到摘要值。
8.根据权利要求5所述的文档电子签名装置,其特征在于,所述根据所述摘要值得到数字签名,包括:
构造一基于有限域的GRS码;
根据所述GRS码生成公钥以及私钥;
使用所述私钥对所述摘要值进行加密,得到数字签名。
9.一种文档电子签名生成装置,其特征在于,包括:
身份获取模块,用于获取签名者的身份信息,根据所述身份信息得到身份明文;
摘要生成模块,用于对所述身份明文做哈希运算,得到摘要值;
数字证书生成模块,用于根据所述摘要值得到数字签名;
电子签名模块,用于将所述数字签名加盖在文档指定位置处形成电子签名。
10.一种权利要求9所述的文档电子签名的验签装置,其特征在于,包括:
数字证书提取模块,用于获取所述文档的所述电子签名,根据所述电子签名得到所述数字签名;
身份信息提取模块,用于获取对所述文档进行签名的所述签名者的所述身份信息,并根据所述身份信息得到所述身份明文;
解密模块,用于利用所述公钥对所述数字签名解密,得到待验证摘要值;
摘要获取模块,用于对所述身份明文进行哈希运算,得到摘要值;
验证模块,将所述待验证摘要值与所述摘要值进行比较,若所述待验证摘要值与所述摘要值相等,则验证成功。
CN202011570333.XA 2020-12-26 2020-12-26 一种文档电子签名方法、验签方法及其装置 Withdrawn CN112613078A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202011570333.XA CN112613078A (zh) 2020-12-26 2020-12-26 一种文档电子签名方法、验签方法及其装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202011570333.XA CN112613078A (zh) 2020-12-26 2020-12-26 一种文档电子签名方法、验签方法及其装置

Publications (1)

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

Family

ID=75247995

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202011570333.XA Withdrawn CN112613078A (zh) 2020-12-26 2020-12-26 一种文档电子签名方法、验签方法及其装置

Country Status (1)

Country Link
CN (1) CN112613078A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117499160A (zh) * 2023-12-29 2024-02-02 同略科技有限公司 一种基于电子档案的网络安全防护方法及系统

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117499160A (zh) * 2023-12-29 2024-02-02 同略科技有限公司 一种基于电子档案的网络安全防护方法及系统
CN117499160B (zh) * 2023-12-29 2024-04-09 同略科技有限公司 一种基于电子档案的网络安全防护方法及系统

Similar Documents

Publication Publication Date Title
JP5854443B2 (ja) 誤り訂正符号方式を用いて計算環境における資産集合についての識別子を生成する変化許容力を有する方法
EP2991264B1 (en) Encrypted text matching system, method and program
CN112635009A (zh) 基于区块链的医疗数据加密方法
Koochak Shooshtari et al. Cryptanalysis of McEliece cryptosystem variants based on quasi‐cyclic low‐density parity check codes
EP2991265B1 (en) Encrypted text matching system, method and program
CN112635008A (zh) 基于数字签名的医疗检验报告生成方法
Guo et al. Sca-ldpc: A code-based framework for key-recovery side-channel attacks on post-quantum encryption schemes
CN112613008A (zh) 一种学生身份在线认证方法及系统
CN112613078A (zh) 一种文档电子签名方法、验签方法及其装置
US11128475B2 (en) Electronic device capable of data communication through electronic signatures based on syndrome and operating method thereof
CN112769573B (zh) 一种基于grs码的数字签名方法、验签方法及其装置
CN112613760A (zh) 基于区块链技术的产品质量评定方法及系统
CN112631992A (zh) 一种电子文件归档方法及系统
Kim et al. PALOMA: binary separable Goppa-based KEM
EP2991266B1 (en) Encrypted text matching system, method, and computer readable medium
CN112613844A (zh) 一种人事合同电子签名方法
CN112633712A (zh) 一种基于grs码的在线投标方法及系统
CN112738210A (zh) 一种路面养护方法及系统
CN112613879A (zh) 一种基于grs码的金融交易数据处理方法
CN112614558A (zh) 基于区块链的电子病历共享方法和电子设备
CN112614557A (zh) 电子病历加密存档方法
CN112634092A (zh) 一种基于区块链的合同认证方法、装置、电子设备
CN112614001A (zh) 基于区块链的农产品追溯方法及系统
CN112613018A (zh) 一种基于区块链的数字证书使用系统
CN112613054A (zh) 一种基于grs码的电子档案验证方法、装置、电子设备

Legal Events

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

Application publication date: 20210406

WW01 Invention patent application withdrawn after publication