The embodiment of the invention provides a method for determining a digital signature generation method, system, node module and common random number negotiation, the first private key node type node module and each of the second types of node module node public key is stored first type node module, a node's own private key are stored in second types of node module. The present invention generates a first signature fragment according to the node's private key to be signed, the random number and the first type of node module; according to the random number and the first private key node type node module and the first generation of signature fragment to be encrypted value; for each of the second types of node module: using the public key of the node of the second node module to the encrypted numerical type for encryption, encryption results obtained and sent to the second types of nodes according to the sign of the second generation module; calculation of random number and the first signature fragment fragment and its second types of node module return results. The invention splits the private key into a plurality of node modules, thereby ensuring the security of the digital signature.
【技术实现步骤摘要】
数字签名生成方法、系统、节点模块及共同随机数协商确定方法
本专利技术涉及数字签名
,特别是涉及数字签名生成方法、系统、节点模块及共同随机数协商确定方法。
技术介绍
在电子认证领域,数字签名技术是最常见的身份认证技术之一,比如电子银行身份认证和电子门禁卡等都是使用数字签名技术较多的领域,SM2密码算法作为一种成熟的公钥算法,在国家的大力推广下,已经在很多的互联网和线下系统中得到应用,证明了其安全性。为了提高安全性,对某个业务进行操作,往往需要多人同时进行授权。现有技术通过多人分别使用不同的签名设备的方式来分别生成多个完整的数字签名,然后依次进行数字签名验证,在这多个完整的数字签名全部验证通过后才确认可以进行该业务的操作。为了生成完整的数字签名,现有技术使用的签名设备中保存有完整的私钥,易被他人通过非法手段获得,降低了私钥的安全性。当然,使用软件形式实现的数字签名客户端,现有技术仍然不可避免的要在安装有该数字签名客户端的设备的内存中出现完整的私钥,同样易被他人通过非法手段获得。当然,除SM2密码算法外,其他数字签名生成算法也可能存在相同问题。
技术实现思路
本专利技 ...
【技术保护点】
一种数字签名生成方法,其特征在于,应用于第一类型节点模块中,所述第一类型节点模块和多个第二类型节点模块相连接,所述第一类型节点模块中保存有所述第一类型节点模块的节点私钥以及各第二类型节点模块的节点公钥,各所述第二类型节点模块中均保存有自身的节点私钥,所述方法包括:所述第一类型节点模块根据待签名原文、第一随机数、第二随机数及所述第一类型节点模块的节点私钥生成第一签名片段;所述第一类型节点模块根据所述第二随机数、第三随机数、所述第一类型节点模块的节点私钥及所述第一签名片段生成待加密数值;对每一个第二类型节点模块:所述第一类型节点模块使用该第二类型节点模块的节点公钥对所述待加密数 ...
【技术特征摘要】
1.一种数字签名生成方法,其特征在于,应用于第一类型节点模块中,所述第一类型节点模块和多个第二类型节点模块相连接,所述第一类型节点模块中保存有所述第一类型节点模块的节点私钥以及各第二类型节点模块的节点公钥,各所述第二类型节点模块中均保存有自身的节点私钥,所述方法包括:所述第一类型节点模块根据待签名原文、第一随机数、第二随机数及所述第一类型节点模块的节点私钥生成第一签名片段;所述第一类型节点模块根据所述第二随机数、第三随机数、所述第一类型节点模块的节点私钥及所述第一签名片段生成待加密数值;对每一个第二类型节点模块:所述第一类型节点模块使用该第二类型节点模块的节点公钥对所述待加密数值行加密,获得加密结果并将该加密结果发送到该第二类型节点模块;所述第一类型节点模块接收各第二类型节点模块返回的计算结果,其中,每一个第二类型节点模块返回的计算结果值均是由该第二类型节点模块使用自身的节点私钥对加密结果进行解密并根据解密结果、所述第一随机数及该第二类型节点模块的节点私钥生成的;所述第一类型节点模块根据第三随机数、第一签名片段及各第二类型节点模块返回的计算结果生成第二签名片段,所述第一签名片段和所述第二签名片段即为最终签名结果。2.根据权利要求1所述的方法,其特征在于,所述第一类型节点模块的节点私钥由第一私钥P0和第二私钥P1构成,所述第一类型节点模块根据待签名原文、第一随机数、第二随机数及所述第一类型节点模块的节点私钥生成第一签名片段,包括:所述第一类型节点模块从所述第二类型节点模块中获得第一中间值Om,其中,所述Om=Km·G,所述Km为第一随机数,所述Km为由各第二类型节点模块协商确定的共同随机数,所述G为SM2椭圆曲线的基点,·为点积符号;根据待签名原文和Z生成摘要E,其中,所述Z为用户可辨别标识;通过公式O=K1·Om+P′0·G计算得到第二中间值O,获得所述O的x坐标值x1,其中,所述K1为所述第一类型节点模块生成的第二随机数,所述P′0为所述P0在SM2算法空间乘法逆元;通过公式R=x1+E计算得到第一签名结果R。3.根据权利要求2所述的方法,其特征在于,所述第一类型节点模块根据所述第二随机数、第三随机数、所述第一类型节点模块的节点私钥及所述第一签名片段生成待加密数值,包括:通过公式U1=(P′0+R)×P′1×P′0×K0V1=P′0×P′1×K1×K0计算得到待加密数值U1和待加密数值V1,其中,所述K0为所述第一类型节点模块生成的第三随机数。4.根据权利要求3所述的方法,其特征在于,第i个第二类型节点模块返回的计算结果Ti是由该第二类型节点模块使用自身的节点私钥对加密结果进行解密并根据公式Ti=(V1×Pi×Km)+(U1×Pi)计算得到的,其中,所述U1和所述V1为解密结果,所述Pi为第i个第二类型节点模块中的节点私钥,1≤i≥n,n为第二类型节点模块的个数。5.根据权利要求4所述的方法,其特征在于,所述第一类型节点模块根据第三随机数、第一签名片...
【专利技术属性】
技术研发人员:李闯,林峰,张行,
申请(专利权)人:北京中金国信科技有限公司,
类型:发明
国别省市:北京,11
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。