CN110233736B - 一种数字签名生成方法、验证方法、装置、设备、介质 - Google Patents

一种数字签名生成方法、验证方法、装置、设备、介质 Download PDF

Info

Publication number
CN110233736B
CN110233736B CN201910533152.0A CN201910533152A CN110233736B CN 110233736 B CN110233736 B CN 110233736B CN 201910533152 A CN201910533152 A CN 201910533152A CN 110233736 B CN110233736 B CN 110233736B
Authority
CN
China
Prior art keywords
signature
digital signature
sub
keys
private key
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.)
Active
Application number
CN201910533152.0A
Other languages
English (en)
Other versions
CN110233736A (zh
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.)
Corelink Technology Co ltd
Original Assignee
Corelink 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 Corelink Technology Co ltd filed Critical Corelink Technology Co ltd
Priority to CN201910533152.0A priority Critical patent/CN110233736B/zh
Publication of CN110233736A publication Critical patent/CN110233736A/zh
Application granted granted Critical
Publication of CN110233736B publication Critical patent/CN110233736B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3236Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3247Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving digital signatures

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Computer Hardware Design (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • General Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • Health & Medical Sciences (AREA)
  • Storage Device Security (AREA)

Abstract

本发明提供一种数字签名生成方法、验证方法、装置、设备、介质,该方法包括:S1:接收N份子密钥;其中,所述N为大于1的自然数;S2:利用N份所述子密钥中的任一子密钥对待签名文件的哈希值进行数字签名,得到初始签名结果;S3:利用N份所述子密钥中没有进行过数字签名的任一子密钥对初始签名结果进行数字签名,得到当前签名结果;S4:将当前签名结果作为新的初始签名结果,进入步骤S3,直到N份所述子密钥全部进行过数字签名,得到最终数字签名信息。本发明采用多个子密钥对待签名文件签名,从而得到最终数字签名信息,在所有的子密钥都进行签名后,才能够通过验证,能够方便多人共同对待签名文件进行签名决策该待签名文件是否为生效文件。

Description

一种数字签名生成方法、验证方法、装置、设备、介质
技术领域
本发明实施例涉及信息安全技术领域,具体涉及一种数字签名生成方法、验证方法、装置、设备、介质。
背景技术
数字签名技术在人们日常生产生活中的应用范围是很广泛的。在企业OA中有些公司文件需要领导签字,也是靠领导用自己账号的私钥进行数字签名,从而完成电子文件的电子签名的。在商业往来中,有些合同的签署,也是靠企业使用企业的私钥进行数字签名来完成签署的。由此可见,数字签名技术在我们的生产生活中是经常用到的比如:在区块链领域,像比特币就是使用数字签名技术进行转账的。然而,现有的签名技术只针对一个人的数字签名进行。
因此,如何提供一种数字签名方案,能够方便多人共同对待签名文件进行签名决策该待签名文件是否为生效文件,是本领域技术人员亟待解决的技术问题。
发明内容
为此,本发明实施例提供一种数字签名生成方法、验证方法、装置、设备、介质,能够方便多人共同对待签名文件进行签名决策该待签名文件是否为生效文件。
为了实现上述目的,本发明实施例提供如下技术方案:
第一方面,本发明提供一种数字签名生成方法,该方法包括:
S1:接收N份子密钥;其中,所述N为大于1的自然数;
S2:利用N份所述子密钥中的任一子密钥对待签名文件的哈希值进行数字签名,得到初始签名结果;
S3:利用N份所述子密钥中没有进行过数字签名的任一子密钥对初始签名结果进行数字签名,得到当前签名结果;
S4:将当前签名结果作为新的初始签名结果,进入步骤S3,直到N份所述子密钥全部进行过数字签名,得到最终数字签名信息。
优选地,
N份所述子密钥的生成过程如下:
利用第一预设方式产生总签名私钥以及对应的签名验证公钥;
根据第二预设公式将所述总签名私钥分割为N份子密钥;其中,所述N为大于1的自然数。
优选地,
所述预设公式为轮换对称式。
优选地,
所述轮换对称式为:d=d1d2d3……dN
其中d为总签名私钥;d1、d2、d3……dN为各个子密钥。
优选地,
所述利用第一预设方式产生总签名私钥以及对应的签名验证公钥,包括:
生成两个素数p、q;其中,所述p、所述q均大于预设数值;
求取p、q的乘积n;其中,n=p*q;
计算所述乘积n的欧拉函数
Figure BDA0002100376880000021
根据
Figure BDA0002100376880000022
生成总签名私钥d;其中,d和
Figure BDA0002100376880000023
互素;
根据
Figure BDA0002100376880000024
求取签名验证公钥e。
第二方面,本发明提供一种数字签名生成系统,该系统包括:
子密钥接收模块,用于实现步骤S1:接收N份子密钥;其中,所述N为大于1的自然数;
初始签名模块,用于实现步骤S2:利用N份所述子密钥中的任一子密钥对待签名文件的哈希值进行数字签名,得到初始签名结果;
当前签名模块,用于实现步骤S3:利用N份所述子密钥中没有进行过数字签名的任一子密钥对初始签名结果进行数字签名,得到当前签名结果;
循环签名模块,用于实现步骤S4:将当前签名结果作为新的初始签名结果,进入步骤S3,直到N份所述子密钥全部进行过数字签名,得到最终数字签名信息。
优选地,还包括:
公私钥产生模块,用于利用第一预设方式产生总签名私钥以及对应的签名验证公钥;
子密钥分割模块,用于根据第二预设公式将所述总签名私钥分割为N份子密钥;其中,所述N为大于1的自然数。
优选地,
所述公私钥产生模块,包括:
素数生成单元,用于生成两个素数p、q;其中,所述p、所述q均大于预设数值;
乘积求取单元,用于求取p、q的乘积n;其中,n=p*q;
欧拉值计算单元,用于计算所述n的欧拉函数
Figure BDA0002100376880000031
其中,
Figure BDA0002100376880000032
总私钥生成单元,用于根据
Figure BDA0002100376880000033
生成总签名私钥d;其中,d和
Figure BDA0002100376880000034
互素;
验证公钥求取单元,用于根据
Figure BDA0002100376880000035
求取签名验证公钥e。
第三方面,本发明提供一种数字签名生成设备,该设备包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序时实现如上述第一方面任一种所述数字签名生成方法的步骤。
第四方面,本发明提供一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如上述第一方面任一种所述数字签名生成方法的步骤。
本发明提供一种数字签名生成方法,该方法包括:S1:接收N份子密钥;其中,所述N为大于1的自然数;S2:利用N份所述子密钥中的任一子密钥对待签名文件的哈希值进行数字签名,得到初始签名结果;S3:利用N份所述子密钥中没有进行过数字签名的任一子密钥对初始签名结果进行数字签名,得到当前签名结果;S4:将当前签名结果作为新的初始签名结果,进入步骤S3,直到N份所述子密钥全部进行过数字签名,得到最终数字签名信息。本发明采用多个子密钥对待签名文件进行循环签名,从而得到最终数字签名信息,只有在所有的子密钥都进行签名后,才能够通过验证,能够方便多人共同对待签名文件进行签名决策该待签名文件是否为生效文件。
本发明提供的一种数字签名生成方法、验证方法、装置、设备、介质,也具有上述的有益效果,在此不再一一赘述。
附图说明
为了更清楚地说明本发明的实施方式或现有技术中的技术方案,下面将对实施方式或现有技术描述中所需要使用的附图作简单地介绍。显而易见地,下面描述中的附图仅仅是示例性的,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图引申获得其它的实施附图。
本说明书所绘示的结构、比例、大小等,均仅用以配合说明书所揭示的内容,以供熟悉此技术的人士了解与阅读,并非用以限定本发明可实施的限定条件,故不具技术上的实质意义,任何结构的修饰、比例关系的改变或大小的调整,在不影响本发明所能产生的功效及所能达成的目的下,均应仍落在本发明所揭示的技术内容得能涵盖的范围内。
图1为本发明一种具体实施方式提供的一种数字签名生成方法的流程图;
图2为本发明一种具体实施方式提供的一种数字签名生成方法的子密钥生成流程图;
图3为本发明一种具体实施方式提供的一种数字签名生成方法的公私钥生成流程图;
图4为本发明又一实施例提供的一种数字签名生成系统的组成结构示意图;
图5为本发明又一实施例提供的一种数字签名生成系统的拓展组成结构示意图;
图6为本发明又一实施例提供的一种数字签名生成系统的公私钥产生模块组成结构示意图;
图7为本发明一种具体实施方式中所提供的一种数字签名生成设备的结构示意图;
图8为本发明一种具体实施方式中所提供的一种计算机可读存储介质的结构示意图。
具体实施方式
以下由特定的具体实施例说明本发明的实施方式,熟悉此技术的人士可由本说明书所揭露的内容轻易地了解本发明的其他优点及功效,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
请参考图1、图2、图3,图1为本发明一种具体实施方式提供的一种数字签名生成方法的流程图;图2为本发明一种具体实施方式提供的一种数字签名生成方法的子密钥生成流程图;图3为本发明一种具体实施方式提供的一种数字签名生成方法的公私钥生成流程图。
在本发明一种具体实施方式中,本发明实施例提供一种数字签名生成方法,该方法包括:
步骤S1:接收N份子密钥;其中,所述N为大于1的自然数;
步骤S2:利用N份所述子密钥中的任一子密钥对待签名文件的哈希值进行数字签名,得到初始签名结果;
步骤S3:利用N份所述子密钥中没有进行过数字签名的任一子密钥对初始签名结果进行数字签名,得到当前签名结果;
步骤S4:将当前签名结果作为新的初始签名结果,进入步骤S3,直到N份所述子密钥全部进行过数字签名,得到最终数字签名信息。
例如,在一种具体实施方式中,N为3,这时,可以将3个子密钥分别标记为:d1、d2、d3,当然,对子密钥也有要求,所有的子密钥必须可以合成一个总签名密钥,该总签名密钥有对应的签名验证公钥。
具体地,N份所述子密钥的生成过程如下:
步骤S11:利用第一预设方式产生总签名私钥以及对应的签名验证公钥;
步骤S12:根据第二预设公式将所述总签名私钥分割为N份子密钥;其中,所述N为大于1的自然数。
具体地,在将总签名私钥分割为N分子密钥时,为了使得在每个子密钥进行签名时可以不用特别地按照特定的签名顺序进行签名,可以将分割总签名私钥的预设公式设置为轮换对称式。轮换对称式的特点为,无论其中的代数式的顺序如何转换,结构都不会变。例如,可以将轮换对称式设置为:d=d1d2d3……Nd;其中d为总签名私钥;d1、d2、d3……dN为各个子密钥。当然,也可以设置为其他的轮换对称式,例如d=d1+d2+d3……+dN;其中d为总签名私钥;d1、d2、d3……dN为各个子密钥。
在具体进行总签名私钥和签名验证公钥的生成时,可以进行以下步骤:
步骤S21:生成两个素数p、q;其中,所述p、所述q均大于预设数值;
步骤S22:求取p、q的乘积n;其中,n=p*q;
步骤S23:计算所述乘积n的欧拉函数
Figure BDA0002100376880000061
Figure BDA0002100376880000062
步骤S24:根据
Figure BDA0002100376880000063
生成总签名私钥d;其中,d和
Figure BDA0002100376880000064
互素;
步骤S25:根据
Figure BDA0002100376880000065
求取签名验证公钥e。
具体地,可以在系统中成立一个密钥分发中心,这个密钥分发中心由系统管理员维护。如果想建立权力制衡的签名机制,那么要给掌握签名权力的人员生成签名密钥,本实施例以三个人为例,分别记作A1,A2,A3。
系统首先生成两个大素数p和q,计算二者的乘积,可以利用一下公式:
n=p*q;
乘积n是可以公开的,而p和q要求保密。系统可以计算出n的欧拉函数:
Figure BDA0002100376880000071
如果不知道p和q是极其难以计算出
Figure BDA0002100376880000072
的。
当A1,A2,A3三个人来申请签名密钥时,系统给他们生成三个数字d1,d2,d3,分别对应三个人A1,A2,A3。即建立下面的表1,人名签名密钥表格:
表1人名签名密钥表格
人名 签名密钥
A1 d<sub>1</sub>
A2 d<sub>2</sub>
A3 d<sub>3</sub>
记d=d1d2d3
即d是d1,d2,d3三个数字的乘积。要求:
Figure BDA0002100376880000073
即d和
Figure BDA0002100376880000074
互素。
使用欧几里得算法,必然可以求得一个整数e和整数x,使得:
Figure BDA0002100376880000075
即:
Figure BDA0002100376880000076
这个e就作为公众的验证签名密钥,向全世界公开,任何利益攸关方都可以使用e来验证A1,A2,A3三个人的签名。
我们记录文件为M,使用哈希函数H计算得到哈希值m,即:
m=H(M);
要求:
(m,n)=1;
即m和n互素。事实上m只要不恰好是p或者q,那么m和n就是互素的。
具体地一种签名过程是这样的:
A1首先对文件m进行数字签名,得到c1,即:
Figure BDA0002100376880000084
然后A2再对A1的签名结果c1再进行一次数字签名,得到c2,即:
Figure BDA0002100376880000081
然后A3再对A2的签名结果c2再进行一次数字签名,得到c3,即:
Figure BDA0002100376880000082
我们记
Figure BDA0002100376880000083
这个c就是A1,A2,A3三个人对文件m的联合签名,也就是最终签名信息。
当然,也可以是其他的签名顺序,对A1,A2,A3签名顺序并不做要求,因此,本发明实施例提供的数字签名生成方法在实际应用中,更加的适用,可以方便文件的传递和逐个签名。
更进一步地,在进行了数字签名后,可以将(m,c)广播出去,m为签名文件的MD5(Message Digest,消息摘要),c为上述方法中计算得到的最终签名信息,利益攸关方B在收到后,可以具体运用一下步骤验证该签名文件已经获得了A1,A2,A3三个人的联合签名:
首先,计算cemodn,看这个值是否等于m。如果
cemodn==m;
那么可以相信文件m已经获得了A1,A2,A3三个人的联合签名。如果
cemodn≠m;
那么可以认为文件m没有获得A1,A2,A3三个人的联合签名,是一份无效文件。
下面是正确性证明:
Figure BDA0002100376880000091
根据欧拉定理,由于
(m,n)=1;
必然有:
Figure BDA0002100376880000092
所以,带入到上面的公式,有
cemodn
=(1)k×mmodn;
=mmodn
cemodn==m;
这样,正确性就得到了证明。
如果密钥d1d2d3错误,或者缺乏任何一方,就得不到正确的d,也就无法做到:
cemodn==m;
同时,我们也会看到A1,A2,A3的签名先后顺序是无所谓的,因为d1d2d3的乘积跟先算哪个后算哪个无关,都是一样的。因此,本发明实施例中的子密钥签名的先后顺序并不会对最终签名信息c产生影响,因此,可以以任意的顺序进行数字签名。
本发明实施例的数字签名方法,在使用时,能够签名的权力分散开,不是由一人掌握而是由多人掌握,只有这些人都认可文件并签名这份文件才能生效,签名验证方可以方便地进行验证。这个方案赋予了签名各方一票否决权,只要有任何一方不同意签名文件就无法生效,从而实现了权力制衡。
请参考图4、图5、图6,图4为本发明又一实施例提供的一种数字签名生成系统的组成结构示意图;图5为本发明又一实施例提供的一种数字签名生成系统的拓展组成结构示意图;图6为本发明又一实施例提供的一种数字签名生成系统的公私钥产生模块组成结构示意图。
本发明又一实施例提供一种数字签名生成系统400,该系统包括:
子密钥接收模块410,用于实现步骤S1:接收N份子密钥;其中,所述N为大于1的自然数;
初始签名模块420,用于实现步骤S2:利用N份所述子密钥中的任一子密钥对待签名文件的哈希值进行数字签名,得到初始签名结果;
当前签名模块430,用于实现步骤S3:利用N份所述子密钥中没有进行过数字签名的任一子密钥对初始签名结果进行数字签名,得到当前签名结果;
循环签名模块440,用于实现步骤S4:将当前签名结果作为新的初始签名结果,进入步骤S3,直到N份所述子密钥全部进行过数字签名,得到最终数字签名信息。
优选地,数字签名生成系统400还包括:
公私钥产生模块450,用于利用第一预设方式产生总签名私钥以及对应的签名验证公钥;
子密钥分割模块460,用于根据第二预设公式将所述总签名私钥分割为N份子密钥;其中,所述N为大于1的自然数。
优选地,
所述公私钥产生模块450,包括:
素数生成单元451,用于生成两个素数p、q;其中,所述p、所述q均大于预设数值;
乘积求取单元452,用于求取p、q的乘积n;其中,n=p*q;
欧拉值计算单元453,用于计算所述n的欧拉函数
Figure BDA0002100376880000101
其中,
Figure BDA0002100376880000111
总私钥生成单元454,用于根据
Figure BDA0002100376880000112
生成总签名私钥d;其中,d和
Figure BDA0002100376880000113
互素;
验证公钥求取单元455,用于根据
Figure BDA0002100376880000114
求取签名验证公钥e。
请参考图7、图8,图7为本发明一种具体实施方式中所提供的一种数字签名生成设备的结构示意图;图8为本发明一种具体实施方式中所提供的一种计算机可读存储介质的结构示意图。
本发明实施例提供数字签名生成设备700,包括:
存储器710,用于存储计算机程序;
处理器720,用于执行所述计算机程序时实现如上述第一方面所述任一种数字签名生成方法的步骤。该计算机程序存储于存储器710中的用于程序代码存储的空间中,该计算机程序有处理器720执行时实现任一种本发明实施例中的方法。
本发明实施例还提供一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如上述任一种具体实施方式所述任一种数字签名生成方法的步骤。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的装置,设备和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的装置,设备和方法,可以通过其它的方式实现。例如,以上所描述的设备实施例仅仅是示意性的,例如,单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个装置,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,设备或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,功能调用设备,或者网络设备等)执行本申请各个实施例方法的全部或部分步骤。虽然,上文中已经用一般性说明及具体实施例对本发明作了详尽的描述,但在本发明基础上,可以对之作一些修改或改进,这对本领域技术人员而言是显而易见的。因此,在不偏离本发明精神的基础上所做的这些修改或改进,均属于本发明要求保护的范围。

Claims (7)

1.一种数字签名生成方法,其特征在于,包括:
S1:接收N份子密钥;其中,所述N为大于1的自然数;
S2:利用N份所述子密钥中的任一子密钥对待签名文件的哈希值进行数字签名,得到初始签名结果;
S3:利用N份所述子密钥中没有进行过数字签名的任一子密钥对初始签名结果进行数字签名,得到当前签名结果;
S4:将当前签名结果作为新的初始签名结果,进入步骤S3,直到N份所述子密钥全部进行过数字签名,得到最终数字签名信息;
N份所述子密钥的生成过程如下:
利用第一预设方式产生总签名私钥以及对应的签名验证公钥;
根据预设公式将所述总签名私钥分割为N份子密钥;其中,所述N为大于1的自然数;
所述预设公式为轮换对称式。
2.根据权利要求1所述的数字签名生成方法,其特征在于,
所述轮换对称式为:d=d1d2d3……dN
其中d为总签名私钥;d1、d2、d3……dN为各个子密钥。
3.根据权利要求1所述的数字签名生成方法,其特征在于,
所述利用第一预设方式产生总签名私钥以及对应的签名验证公钥,包括:
生成两个素数p、q;其中,所述p、所述q均大于预设数值;
求取p、q的乘积n;其中,n=p*q;
计算所述乘积n的欧拉函数
Figure FDA0002309226090000011
根据
Figure FDA0002309226090000012
生成总签名私钥d;其中,d和
Figure FDA0002309226090000013
互素;
根据
Figure FDA0002309226090000014
求取签名验证公钥e。
4.一种数字签名生成系统,其特征在于,包括:
子密钥接收模块,用于实现步骤S1:接收N份子密钥;其中,所述N为大于1的自然数;
初始签名模块,用于实现步骤S2:利用N份所述子密钥中的任一子密钥对待签名文件的哈希值进行数字签名,得到初始签名结果;
当前签名模块,用于实现步骤S3:利用N份所述子密钥中没有进行过数字签名的任一子密钥对初始签名结果进行数字签名,得到当前签名结果;
循环签名模块,用于实现步骤S4:将当前签名结果作为新的初始签名结果,进入步骤S3,直到N份所述子密钥全部进行过数字签名,得到最终数字签名信息;还包括:
公私钥产生模块,用于利用第一预设方式产生总签名私钥以及对应的签名验证公钥;
子密钥分割模块,用于根据预设公式将所述总签名私钥分割为N份子密钥;其中,所述N为大于1的自然数;所述预设公式为轮换对称式。
5.根据权利要求4所述的数字签名生成系统,其特征在于,
所述公私钥产生模块,包括:
素数生成单元,用于生成两个素数p、q;其中,所述p、所述q均大于预设数值;
乘积求取单元,用于求取p、q的乘积n;其中,n=p*q;
欧拉值计算单元,用于计算所述n的欧拉函数
Figure FDA0002309226090000021
其中,
Figure FDA0002309226090000022
总私钥生成单元,用于根据
Figure FDA0002309226090000023
生成总签名私钥d;其中,d和
Figure FDA0002309226090000024
互素;
验证公钥求取单元,用于根据
Figure FDA0002309226090000025
求取签名验证公钥e。
6.一种数字签名生成设备,其特征在于,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序时实现如权利要求1至3任一项所述数字签名生成方法的步骤。
7.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1至3任一项所述数字签名生成方法的步骤。
CN201910533152.0A 2019-06-19 2019-06-19 一种数字签名生成方法、验证方法、装置、设备、介质 Active CN110233736B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910533152.0A CN110233736B (zh) 2019-06-19 2019-06-19 一种数字签名生成方法、验证方法、装置、设备、介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910533152.0A CN110233736B (zh) 2019-06-19 2019-06-19 一种数字签名生成方法、验证方法、装置、设备、介质

Publications (2)

Publication Number Publication Date
CN110233736A CN110233736A (zh) 2019-09-13
CN110233736B true CN110233736B (zh) 2020-05-08

Family

ID=67856287

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910533152.0A Active CN110233736B (zh) 2019-06-19 2019-06-19 一种数字签名生成方法、验证方法、装置、设备、介质

Country Status (1)

Country Link
CN (1) CN110233736B (zh)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111489159B (zh) * 2020-04-09 2024-03-15 腾讯科技(深圳)有限公司 数据处理方法、装置、计算机设备及介质
CN111523889B (zh) * 2020-04-17 2023-09-01 昆明大棒客科技有限公司 多重签名实现方法、装置、设备和存储介质
CN111698088B (zh) * 2020-05-28 2022-10-18 平安科技(深圳)有限公司 密钥轮换方法、装置、电子设备及介质
CN114614992B (zh) * 2022-03-11 2023-10-13 深圳市名竹科技有限公司 签名值输出及验证方法、装置、计算机设备、存储介质

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8819440B2 (en) * 2005-09-09 2014-08-26 Microsoft Corporation Directed signature workflow
CN101262341A (zh) * 2008-02-22 2008-09-10 北京航空航天大学 一种会务系统中混合加密方法
CN101425902A (zh) * 2008-11-12 2009-05-06 电子科技大学 一个具有前向安全的门限数字签名方法与系统
US9654295B2 (en) * 2014-09-22 2017-05-16 Infosys Limited System and method for verifying varied electronic signature
CN106254372B (zh) * 2016-08-31 2019-06-28 厦门天锐科技股份有限公司 一种基于身份密码机制的多重数字签名方法
CN109743171B (zh) * 2018-12-06 2022-04-12 广州博士信息技术研究院有限公司 一种解决多方数字签名、时间戳及加密的密钥串联方法

Also Published As

Publication number Publication date
CN110233736A (zh) 2019-09-13

Similar Documents

Publication Publication Date Title
CN110233736B (zh) 一种数字签名生成方法、验证方法、装置、设备、介质
US10263775B2 (en) Policy-based key recovery
Nist The digital signature standard
US20100281267A1 (en) Image Processing Apparatus, Electronic Signature Generation System, Electronic Signature Key Generation Method, Image Processing Method, and Program
CN107911217B (zh) 基于ecdsa算法协同生成签名的方法、装置和数据处理系统
CN115804061A (zh) 生成共享私钥
WO2019174402A1 (zh) 一种群组数字签名的群组成员发布方法和设备
CN103973439B (zh) 一种多变量公钥加密方法
CN108650080A (zh) 一种密钥管理方法和系统
CN110311776A (zh) 数据处理方法、装置、计算机设备和存储介质
CN109951292B (zh) 精简的sm9数字签名分离交互生成方法及系统
CN117118617B (zh) 一种基于模分量同态的分布式门限加解密方法
CN112118113A (zh) 一种基于sm2算法的多方协同群签名方法及装置、系统、介质
CN108880807A (zh) 私钥签名处理方法、装置、设备和介质
WO2023206869A1 (zh) 基于格的代理签名及验证方法、装置、设备和存储介质
Su et al. Publicly verifiable shared dynamic electronic health record databases with functional commitment supporting privacy-preserving integrity auditing
CN109962783B (zh) 基于递进计算的sm9数字签名协同生成方法及系统
Dong et al. Enabling privacy preserving record linkage systems using asymmetric key cryptography
CN108900310A (zh) 区块链签名处理方法及区块链签名处理装置
CN110557260B (zh) 一种sm9数字签名生成方法及装置
WO2023159849A1 (zh) 一种数字签名方法、计算机设备及介质
CN115801261A (zh) 一种基于国密算法的密文求交方法
Kou et al. Efficient hierarchical multi-server authentication protocol for mobile cloud computing
EP4385168A1 (en) Generating digital signature shares
CN114978488A (zh) 一种基于sm2算法的协同签名方法及系统

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant