CN111614469B - 数字签名生成方法、设备及存储介质 - Google Patents

数字签名生成方法、设备及存储介质 Download PDF

Info

Publication number
CN111614469B
CN111614469B CN202010461264.2A CN202010461264A CN111614469B CN 111614469 B CN111614469 B CN 111614469B CN 202010461264 A CN202010461264 A CN 202010461264A CN 111614469 B CN111614469 B CN 111614469B
Authority
CN
China
Prior art keywords
signature
digital signature
calculating
signature information
generation method
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
CN202010461264.2A
Other languages
English (en)
Other versions
CN111614469A (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.)
OneConnect Financial Technology Co Ltd Shanghai
Original Assignee
OneConnect Financial Technology Co Ltd Shanghai
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 OneConnect Financial Technology Co Ltd Shanghai filed Critical OneConnect Financial Technology Co Ltd Shanghai
Priority to CN202010461264.2A priority Critical patent/CN111614469B/zh
Publication of CN111614469A publication Critical patent/CN111614469A/zh
Application granted granted Critical
Publication of CN111614469B publication Critical patent/CN111614469B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • 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
    • 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/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0861Generation of secret information including derivation or calculation of cryptographic keys or passwords
    • H04L9/0869Generation of secret information including derivation or calculation of cryptographic keys or passwords involving random numbers or seeds
    • 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/30Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy
    • H04L9/3066Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy involving algebraic varieties, e.g. elliptic or hyper-elliptic curves

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Algebra (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Mathematical Physics (AREA)
  • Pure & Applied Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Computing Systems (AREA)
  • Storage Device Security (AREA)

Abstract

本发明涉及交易验证技术领域,提出一种数字签名生成方法方法、装置、计算机设备和存储介质,其中的方法包括:选择一条椭圆曲线Ep(a,b)和基点G,其中基点G的阶为N;获取n份私钥
Figure DDA0002511014580000011
并按照第一签名算法计算公钥P,其中n为大于1的自然数,i∈{1,2,...,n};获取n个随机数ki,并按照第二签名算法计算第一签名信息r;根据所述n份私钥
Figure DDA0002511014580000012
n个随机数ki和第一签名信息r,并按照第三签名算法计算第二签名信息s。本发明通过生成n份私钥和n个随机数来计算生成公钥和数字签名信息,能够有效降低私钥被盗的风险,保护私钥所有人的财产、信息安全。而且该数字签名生成方法所制作的数字签名,在进行验签时可适用传统的ECDSA验签算法,使该数字签名生成方法可适配多种应用环境。

Description

数字签名生成方法、设备及存储介质
技术领域
本发明涉及交易验证技术领域,尤其涉及数字签名生成方法、装置及存储介质。
背景技术
区块链系统被广泛用于数字资产的登记,流转和管理,通过区块链独特的防止“双花”的特性,保证了同一数字资产不会被多次消费,从而保证了整个生态环境的安全性。如果要花费数字资产,必须要提供资产所有人的数字签名。目前国际通行的ECDSA签名过程是:首先选择一条椭圆曲线Ep(a,b),和基点G;然后选择一个私有秘钥k(k<n,n为G的阶),利用基点G计算公开密钥K=kG;然后再产生一个随机整数r(r<n),计算点R=rG;将原数据和点R的坐标值x,y 作为参数,来计算签名信息中的s,最终的签名信息即为(r,s)。
有鉴于此,资产所有人需要在区块链外保护好自己的私钥,一旦私钥被盗,盗取者便可制作出相应的数字签名,导致资产所有人的资产被盗。特别是在移动端被广泛使用的今天,资产所有人通常将所持有的私钥存储在某一移动端内,而移动端的安全性是难以保障的,一旦移动端被侵入很容易获取资产所有人的私钥。
发明内容
本发明提供一种数字签名生成方法、装置及存储介质,其主要目的在于解决传统数字签名生成过程中依赖于单一的私钥,而一旦私钥被盗取,容易泄露数字签名信息的问题。
为实现上述目的,本发明提供一种数字签名生成方法,所述方法包括:
选择一条椭圆曲线Ep(a,b)和基点G,其中基点G的阶为N;
获取n份私钥
Figure BDA0002511014560000011
并按照第一签名算法计算公钥P,其中n为大于1的自然数,i∈{1,2,...,n};
获取n个随机数ki,并按照第二签名算法计算第一签名信息r;
根据所述n份私钥
Figure BDA0002511014560000021
n个随机数ki和第一签名信息r,并按照第三签名算法计算第二签名信息s。
优选地,所述按照第一签名算法计算公钥P的公式为:
Figure BDA0002511014560000022
优选地,所述按照第二签名算法计算第一签名信息r的步骤包括:
根据所述n个随机数ki计算第一中间量Q,其中Q的计算公式为:
Figure BDA0002511014560000023
将所述第一中间量Q对N取余得到:(x1,y1)=Q mod N;
计算第一签名信息r,其中r的计算公式为:r=(e+x1)mod N,式中e为自然常数。
优选地,在计算所述第一中间量Q前还需验证所述ki是否属于[1,N-1],如若ki不属于[1,N-1],则重新获取ki,直至ki∈[1,N-1]。
优选地,若所述第一签名信息r=0,则重新获取ki,并重新计算第一签名信息r,直至r的值不为零。
优选地,所述根据所述n份私钥
Figure BDA0002511014560000024
n个随机数ki和第一签名信息r,并按照第三签名算法计算第二签名信息s的公式为:
Figure BDA0002511014560000025
式中e为自然常数。
优选地,在所述第二签名信息s计算结束后还需验证r和s的和是否等于 N,若r+s=N,则需重新获取随机数ki,并重新计算r和s,直至r+s≠N。
为实现上述目的,本发明还提供一种数字签名生成装置,所述装置包括:
私钥获取单元,用于生成所需数量的私钥;
随机数获取单元,用于生成所需数量的随机数;
公钥计算单元,用于根据所述私钥获取单元生成的所述私钥并按照预定的计算方法计算出公钥;
签名计算单元,用于根据所述私钥和随机数并按照预定的计算方法计算出签名信息。
为实现上述目的,本发明还提供一种电子设备,该电子设备包括:存储器及处理器,所述存储器中包括数字签名生成程序,所述数字签名生成程序被所述处理器执行时实现如权利要求1至7中任一项所述的数字签名生成方法的步骤。
为实现上述目的,本发明还提供一种存储有计算机可读存储介质,所述计算机可读存储介质中包括数字签名生成程序,所述数字签名生成程序被处理器执行时,实现如权利要求1至7中任一项权利要求所述数字签名生成方法的步骤。
本发明提出的数字签名生成方法、装置、电子设备及计算机可读存储介质,通过随机生成n份私钥和n个随机数来计算生成公钥以及数字签名信息,能够有效降低私钥被盗的风险,保护私钥所有人的财产、信息安全。而且利用本数字签名生成方法所制作的数字签名,在进行验签时可适用传统的ECDSA验签算法,提高了该数字签名生成方法的通用性。另外,本发明的数字签名生成方法中数字签名信息计算生成的过程,相比于传统的ECDSA签名过程进行了改进,即使私钥被不法分子盗取,也不易制作出相应的签名信息。
附图说明
图1为根据本发明数字签名生成方法具体实施例的应用环境示意图;
图2为图1中数字签名生成程序具体实施例的模块示意图;
图3为本发明数字签名生成方法具体实施例的流程图。
本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
本发明提供了一种数字签名生成方法,应用于一种电子设备1。参照图1所示,为本发明数字签名生成方法较佳实施例的应用环境示意图。
在本实施例中,电子设备1可以是服务器、智能手机、平板电脑、便携计算机、桌上型计算机等具有运算功能的终端设备。
该电子设备1包括:处理器12、存储器11、网络接口14及通信总线13。
存储器11包括至少一种类型的可读存储介质。所述至少一种类型的可读存储介质可为如闪存、硬盘、多媒体卡、卡型存储器等的非易失性存储介质。在一些实施例中,所述可读存储介质可以是所述电子设备1的内部存储单元,例如该电子设备1的硬盘。在另一些实施例中,所述可读存储介质也可以是所述电子设备1的外部存储器11,例如所述电子设备1上配备的插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)等。
在本实施例中,所述存储器11的可读存储介质通常用于存储安装于所述电子设备1的数字签名生成程序10等。所述存储器11还可以用于暂时地存储已经输出或者将要输出的数据。
处理器12在一些实施例中可以是一中央处理器(Central Processing Unit,CPU),微处理器或其他数据处理芯片,用于运行存储器11中存储的程序代码或处理数据,例如执行数字签名生成程序10等。
网络接口14可选地可以包括标准的有线接口、无线接口(如WI~FI接口),通常用于在该电子设备1与其它电子设备之间建立通信连接。
通信总线13用于实现这些组件之间的连接通信。
图1仅示出了具有组件11~14的电子设备1,但是应理解的是,并不要求实施所有示出的组件,可以替代的实施更多或者更少的组件。
可选地,该电子设备1还可以包括用户接口,用户接口可以包括输入单元比如键盘(Keyboard)、语音输入装置比如麦克风(microphone)等具有语音识别功能的设备、语音输出装置比如音响、耳机等,可选地用户接口还可以包括标准的有线接口、无线接口。
可选地,该电子设备1还可以包括显示器,显示器也可以称为显示屏或显示单元。在一些实施例中可以是LED显示器、液晶显示器、触控式液晶显示器以及有机发光二极管(Organic Light~Emitting Diode,OLED)触摸器等。显示器用于显示在电子设备1中处理的信息以及用于显示可视化的用户界面。
可选地,该电子设备1还包括触摸传感器。所述触摸传感器所提供的供用户进行触摸操作的区域称为触控区域。此外,这里所述的触摸传感器可以为电阻式触摸传感器、电容式触摸传感器等。而且,所述触摸传感器不仅包括接触式的触摸传感器,也可包括接近式的触摸传感器等。此外,所述触摸传感器可以为单个传感器,也可以为例如阵列布置的多个传感器。
此外,该电子设备1的显示器的面积可以与所述触摸传感器的面积相同,也可以不同。可选地,将显示器与所述触摸传感器层叠设置,以形成触摸显示屏。该装置基于触摸显示屏侦测用户触发的触控操作。
可选地,该电子设备1还可以包括射频(Radio Frequency,RF)电路,传感器、音频电路等等,在此不再赘述。
在图1所示的装置实施例中,作为一种计算机存储介质的存储器11中可以包括操作系统、以及数字签名生成程序10;处理器12执行存储器11中存储的数字签名生成程序10时实现如下步骤:
选择一条椭圆曲线Ep(a,b)和基点G,其中基点G的阶为N;
获取n份私钥
Figure BDA0002511014560000051
并按照第一签名算法计算公钥P,其中n为大于1的自然数,i∈{1,2,...,n};
获取n个随机数ki,并按照第二签名算法计算第一签名信息r;
根据所述n份私钥
Figure BDA0002511014560000052
n个随机数ki和第一签名信息r,并按照第三签名算法计算第二签名信息s。
优选地,所述按照第一签名算法计算公钥P的公式为:
Figure BDA0002511014560000053
优选地,所述按照第二签名算法计算第一签名信息r的步骤包括:
根据所述n个随机数ki计算第一中间量Q,其中Q的计算公式为:
Figure BDA0002511014560000054
将所述第一中间量Q对N取余得到:(x1,y1)=Q mod N;
计算第一签名信息r,其中r的计算公式为:r=(e+x1)mod N,式中e为自然常数。
优选地,在计算所述第一中间量Q前还需验证所述ki是否属于[1,N-1],如若ki不属于[1,N-1],则重新获取ki,直至ki∈[1,N-1]。
优选地,若所述第一签名信息r=0,则重新获取ki,并重新计算第一签名信息r,直至r的值不为零。
优选地,所述根据所述n份私钥
Figure BDA0002511014560000061
n个随机数ki、第一签名信息r和第三签名算法计算第二签名信息s的公式为:
Figure BDA0002511014560000062
式中e为自然常数。
优选地,在所述第二签名信息s计算结束后还需验证r和s的和是否等于 N,若r+s=N,则需重新获取随机数ki,并重新计算r和s,直至r+s≠N。
在其他实施例中,数字签名生成程序10还可以被分割为一个或者多个模块,一个或者多个模块被存储于存储器11中,并由处理器12执行,以完成本发明。本发明所称的模块是指能够完成特定功能的一系列计算机程序指令段。参照图2 所示,为图1中数字签名生成程序10较佳实施例的程序模块图。所述数字签名生成程序10可以被分割为:私钥获取单元101、随机数获取单元102、公钥计算单元103和签名计算单元104。所述模块101~104所实现的功能或操作步骤均与上文类似,此处不再详述,示例性地,例如其中:
私钥获取单元101,用于利用密码学安全伪随机数生成器生成所需数量的私钥;具体地,这里生成的私钥为一个字符串,其长度优选为256bit。
随机数获取单元102,利用随机数生成器生成所需数量的随机数;
公钥计算单元103,用于根据所述私钥获取单元生成的所述私钥并按照预定的计算方法计算出公钥;
签名计算单元104,用于根据所述私钥和随机数并按照预定的计算方法计算出签名信息。这里的签名信息包括第一签名信息r和第二签名信息s。
换言之,本发明还提供过一种数字签名生成装置,所述装置包括:
私钥获取单元,用于利用密码学安全伪随机数生成器生成所需数量的私钥;具体地,这里生成的私钥为一个字符串,其长度优选为256bit。
随机数获取单元,利用随机数生成器生成所需数量的随机数;
公钥计算单元,用于根据所述私钥获取单元生成的所述私钥并按照预定的计算方法计算出公钥;
签名计算单元,用于根据所述私钥和随机数并按照预定的计算方法计算出签名信息。这里的签名信息包括第一签名信息r和第二签名信息s。
此外,本发明还提供一种数字签名生成方法。参照图3所示,为本发明数字签名生成方法较佳实施例的流程图。该方法可以由一个装置执行,该装置可以由软件和/或硬件实现。
在本实施例中,数字签名生成方法包括:步骤S110~步骤S140。
步骤S110:选择一条椭圆曲线Ep(a,b)和基点G,其中基点G的阶为N。该椭圆曲线Ep(a,b)、基点G和基点G的阶N作为后续计算公钥P和签名信息(r, s)的基础参数。
步骤S120:获取n份私钥
Figure BDA0002511014560000071
并按照第一签名算法计算公钥P,其中n为大于1的自然数,i∈{1,2,...,n}。
具体地,首先采用密码学安全伪随机数生成器生成n个长度为256bit的字符串作为n份私钥,记做
Figure BDA0002511014560000072
其中n为大于1的自然数,i∈{1,2,...,n}。
然后按照公式
Figure BDA0002511014560000073
来计算该n份私钥所对应的公钥P。
S130:获取n个随机数ki,并按照第二签名算法计算第一签名信息r。
具体地,首先采用随机数生成器生成n个随机数,记做ki。需要注意的是,这里的n个随机数ki需满足关系式:ki∈[1,N-1]。如若ki不属于[1,N-1],则需重新获取ki,直至ki∈[1,N-1]。
然后,根据n个随机数ki计算第一中间量Q,其中Q的计算公式为:
Figure BDA0002511014560000074
之后,将所述第一中间量Q对N取余得到点(x1,y1),即(x1,y1)=Q mod N。
最后按照公式r=(e+x1)mod N来计算出第一签名信息r,该式中e为自然常数。
需要注意的是,最终计算得到的第一签名信息需满足r≠0,若r=0,则需要重新选取n个随机数ki来重新计算生成r,直至r≠0。
步骤S140:根据所述n份私钥
Figure BDA0002511014560000081
n个随机数ki和第一签名信息r,并按照第三签名算法计算第二签名信息s。
具体地,第二签名信息s的计算公式为:
Figure BDA0002511014560000082
式中e为自然常数。
需要注意的是,在s计算完成之后还需验证r和s的和是否等于N,若r+s=N,则需重新获取随机数ki,并重新计算r和s,直至r+s≠N。
至此,本次数字签名生成结束,最终生成的数字签名信息为(r,s)。
另外,在步骤S110中,也可以采用密码学安全伪随机数生成器生成1个长度为256bit的字符串作为一份私钥,之后按照随机或者按照一定规律的拆分方式将该私钥拆分成n份子秘钥。计算公钥P的公式与上述方法相同,同理计算第一签名信息r和第二签名信息s的方法与上述相同,在此不再赘述。
上述步骤S120中生成的公钥P则用于验证签名信息。这里的验签方法可采用标准的ECDSA验签算法进行。
例如,资产所有人将一部分资产委托资产保管方进行保管,资产保管方在收到资产时,按照上述数字签名生成方法,制作出该资产的公钥P和n份私钥
Figure BDA0002511014560000083
以及相应的签名信息(r′,s′),其中n份私钥di -1以及相应的签名信息(r′,s′)交由资产所有人保存。之后若有第三方或者资产所有人想要对这笔资产进行交易,并提供交易信息(m)和签名值(r,s),这时资产保管方需要对该签名值(r,s)进行验证,具体验证步骤如下:
首先令e=H(m),w=s-1mod N,u1=e*w mod N,u2=r*w mod N;
然后计算:
Figure BDA0002511014560000084
之后计算:R=(e+x1′)mod N;
最终验证R是否等于资产所有人在托管资产时生成的签名信息r′,若R=r′,则此次签名验证通过,可以进行本次交易。
该数字签名生成方法对传统的数字签名方法进行了改善,由一个秘钥制作生成数字签名信息改成由n个秘钥制作生成数字签名信息,盗取者需要获取全部的n个秘钥才能生成最终的数字签名信息,因此降低了资产被盗取的风险。
在其他实施例中,上述数字签名生成方法还可以采用如下步骤来进行:
S210:选择一条椭圆曲线Ep(a,b)和基点G,其中基点G的阶为N。该椭圆曲线Ep(a,b)、基点G和基点G的阶N作为后续计算公钥P和签名信息(r,s) 的基础参数。
S220:获取n份私钥
Figure BDA0002511014560000091
并按照第一签名算法计算公钥P,其中n为大于 1的自然数,i∈{1,2,...,n}。
具体地,首先采用密码学安全伪随机数生成器生成n个长度为256bit的字符串作为n份私钥,记做
Figure BDA0002511014560000092
其中n为大于1的自然数,i∈{1,2,...,n};然后将所述n份私钥
Figure BDA0002511014560000093
分别存储在n个终端设备内,设备1存储的私钥为
Figure BDA0002511014560000094
设备2 存储的私钥为
Figure BDA0002511014560000095
以此类推,设备n-1存储的私钥为
Figure BDA0002511014560000096
设备n存储的私钥为
Figure BDA0002511014560000097
其中所述n个终端设备可以互相通信并且具有独立计算的能力,此外所述 n个终端设备均存储有步骤S210中所选取的椭圆曲线Ep(a,b)、基点G以及基点 G的阶N。
在计算该n份私钥所对应的公钥P时,设备1计算
Figure BDA0002511014560000098
并将计算结果P1发送给未进行计算的一个终端设备,例如发送给设备2;收到P1的设备2则计算
Figure BDA0002511014560000099
并将计算结果P2发送给未进行计算的一个终端设备,例如发送给设备3;收到P2的设备3则计算
Figure BDA00025110145600000910
并将计算结果P3发送给未进行计算的一个终端设备,例如发送给设备4;以此类推,最终设备n-1计算
Figure BDA00025110145600000911
并将计算结果Pn-1发送给设备n;收到Pn-1的设备n则计算
Figure BDA00025110145600000912
最终的公钥P即为Pn
S230:获取n个随机数ki,并按照第二签名算法计算第一签名信息r。
具体地,首先n个终端设备采用随机数生成器生成各自生成一个随机数,记做ki,设备1的随机数是k1,设备2的随机数是k2,以此类推,设备n-1的随机数是kn-1,设备n的随机数是kn。需要注意的是,这里的n个随机数ki需满足关系式:ki∈[1,N-1]。如若
Figure BDA00025110145600001010
则需重新获取ki,直至ki∈[1,N-1]。
然后,设备1计算Q1=k1*G,并将计算结果Q1发送给未进行计算的一个终端设备,例如设备2;收到Q1的设备2则计算Q2=k2*Q1,并将计算结果Q2发送给未进行计算的一个终端设备,例如设备3;收到Q2的设备3则计算Q3=k3*Q2,并将计算结果Q3发送给未进行计算的一个终端设备,例如发送给设备4;以此类推,最终设备n-1计算结果为Qn-1=kn-1*Qn-2,并将计算结果Qn-1发送给设备n;收到Qn-1的设备n则计算Qn=kn*Qn-1,并将Qn对N取余得到点(x1,y1),即(x1,y1)=Qn mod N,最后按照公式r=(e+x1)mod N来计算出第一签名信息r,该式中e为自然常数。
需要注意的是,最终计算得到的第一签名信息需满足r≠0,若r=0,则需要重新选取n个随机数ki来重新计算生成r,直至r≠0。
S240:根据所述n份私钥
Figure BDA0002511014560000101
n个随机数ki和第一签名信息r,并按照第三签名算法计算第二签名信息s。
具体地,设备n计算
Figure BDA0002511014560000102
Figure BDA0002511014560000103
式中e为自然常数,然后设备n将计算结果sn,1、sn,2发送给设备n-1;设备n-1则计算
Figure BDA0002511014560000104
Figure BDA0002511014560000105
然后设备n-1将计算结果sn-1,1、sn-1,2发送给设备n-2;以此类推,设备2计算
Figure BDA0002511014560000106
Figure BDA0002511014560000107
然后设备2将计算结果s2,1、s2,2发送给设备1;设备1则计算
Figure BDA0002511014560000108
Figure BDA0002511014560000109
最终第二签名信息s=s1,2+s1,1
需要注意的是,在s计算完成之后还需验证r和s的和是否等于N,若r+s=N,则需重新获取随机数ki,并重新计算r和s,直至r+s≠N。
至此,本次数字签名生成结束,最终生成的数字签名信息为(r,s)。
在该实施例中,n个私钥分别存储在n个终端设备中,并通过这n个终端设备的合作计算最终生成该n个私钥所对应的公钥P和数字签名信息(r,s)。这种方法进一步提高了该数字签名的安全性。盗取者只有全部侵入该n个设备并获取全部的私钥后才能制作出最终的数字签名信息(r,s),大大降低了私钥被盗的风险。
本发明之计算机可读存储介质的具体实施方式与上述数字签名生成方法、装置、电子设备的具体实施方式大致相同,在此不再赘述。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、装置、物品或者方法不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、装置、物品或者方法所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、装置、物品或者方法中还存在另外的相同要素。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在如上所述的一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。
以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。

Claims (9)

1.一种数字签名生成方法,应用于电子设备,其特征在于,所述方法包括:
选择一条椭圆曲线Ep(a,b)和基点G,其中基点G的阶为N;
获取n份私钥
Figure DEST_PATH_IMAGE001
,并按照第一签名算法计算公钥P,其中n为大于1的自然数,
Figure 300381DEST_PATH_IMAGE002
获取n个随机数
Figure DEST_PATH_IMAGE003
,并按照第二签名算法计算第一签名信息r ;
根据所述n份私钥
Figure 31577DEST_PATH_IMAGE004
、n个随机数
Figure DEST_PATH_IMAGE005
和第一签名信息r,并按照第三签名算法计算第二 签名信息s。
2.如权利要求1所述的数字签名生成方法,其特征在于,所述按照第一签名算法计算公 钥P的公式为:
Figure 837990DEST_PATH_IMAGE006
3.如权利要求1所述的数字签名生成方法,其特征在于,所述按照第二签名算法计算第一签名信息r的步骤包括:
根据所述n个随机数
Figure 654636DEST_PATH_IMAGE003
计算第一中间量Q,其中Q的计算公式为:
Figure DEST_PATH_IMAGE007
将所述第一中间量Q对N取余得到:
Figure 201768DEST_PATH_IMAGE008
计算第一签名信息r,其中r的计算公式为:
Figure DEST_PATH_IMAGE009
,式中e为自然常数。
4.如权利要求3所述的数字签名生成方法,其特征在于,在计算所述第一中间量Q前还 需验证所述
Figure 787470DEST_PATH_IMAGE005
是否属于
Figure 92680DEST_PATH_IMAGE010
,如若
Figure 334306DEST_PATH_IMAGE005
不属于
Figure DEST_PATH_IMAGE011
,则重新获取
Figure 422479DEST_PATH_IMAGE005
,直至
Figure 128267DEST_PATH_IMAGE012
5.如权利要求3所述的数字签名生成方法,其特征在于,若所述第一签名信息r=0,则重 新获取
Figure 463433DEST_PATH_IMAGE005
,并重新计算第一签名信息r,直至r的值不为零。
6.如权利要求1所述的数字签名生成方法,其特征在于,所述根据所述n份私钥
Figure 5404DEST_PATH_IMAGE004
、n 个随机数
Figure 146535DEST_PATH_IMAGE005
和第一签名信息r,并按照第三签名算法计算第二签名信息s的公式为:
Figure DEST_PATH_IMAGE013
,式中e为自然常数。
7.如权利要求6所述的数字签名生成方法,其特征在于,在所述第二签名信息s计算结 束后还需验证r和s的和是否等于N,若
Figure 454632DEST_PATH_IMAGE014
,则需重新获取随机数,并重新计算r和s, 直至
Figure DEST_PATH_IMAGE015
8.一种电子设备,其特征在于,该电子设备包括:存储器及处理器,所述存储器中包括数字签名生成程序,所述数字签名生成程序被所述处理器执行时实现如权利要求1至7中任一项所述的数字签名生成方法的步骤。
9.一种存储有计算机可读存储介质,其特征在于,所述计算机可读存储介质中包括数字签名生成程序,所述数字签名生成程序被处理器执行时,实现如权利要求1至7中任一项权利要求所述数字签名生成方法的步骤。
CN202010461264.2A 2020-05-27 2020-05-27 数字签名生成方法、设备及存储介质 Active CN111614469B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010461264.2A CN111614469B (zh) 2020-05-27 2020-05-27 数字签名生成方法、设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010461264.2A CN111614469B (zh) 2020-05-27 2020-05-27 数字签名生成方法、设备及存储介质

Publications (2)

Publication Number Publication Date
CN111614469A CN111614469A (zh) 2020-09-01
CN111614469B true CN111614469B (zh) 2022-08-16

Family

ID=72200666

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010461264.2A Active CN111614469B (zh) 2020-05-27 2020-05-27 数字签名生成方法、设备及存储介质

Country Status (1)

Country Link
CN (1) CN111614469B (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114022259B (zh) * 2021-11-11 2023-08-25 陕西华春网络科技股份有限公司 一种基于公钥指定和身份验证的招标方法和装置
CN114499860A (zh) * 2022-03-22 2022-05-13 深圳壹账通智能科技有限公司 签名公钥压缩方法、装置、计算机设备及存储介质

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9800411B1 (en) * 2016-05-05 2017-10-24 ISARA Corporation Using a secret generator in an elliptic curve cryptography (ECC) digital signature scheme
WO2018019788A1 (en) * 2016-07-28 2018-02-01 Gemalto Sa Efficient ecdsa signature and verification
CN108933670A (zh) * 2018-10-18 2018-12-04 北京云测信息技术有限公司 一种数字签名方法、装置、移动设备及存储介质
CN109145644A (zh) * 2018-08-28 2019-01-04 北京云测信息技术有限公司 私钥混淆及数字签名生成方法、装置、智能设备

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8775813B2 (en) * 2010-02-26 2014-07-08 Certicom Corp. ElGamal signature schemes

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9800411B1 (en) * 2016-05-05 2017-10-24 ISARA Corporation Using a secret generator in an elliptic curve cryptography (ECC) digital signature scheme
WO2018019788A1 (en) * 2016-07-28 2018-02-01 Gemalto Sa Efficient ecdsa signature and verification
CN109145644A (zh) * 2018-08-28 2019-01-04 北京云测信息技术有限公司 私钥混淆及数字签名生成方法、装置、智能设备
CN108933670A (zh) * 2018-10-18 2018-12-04 北京云测信息技术有限公司 一种数字签名方法、装置、移动设备及存储介质

Also Published As

Publication number Publication date
CN111614469A (zh) 2020-09-01

Similar Documents

Publication Publication Date Title
TWI478565B (zh) 藉由指數掃描的隨機化確保模指數運算
CN111614469B (zh) 数字签名生成方法、设备及存储介质
JP2010527219A (ja) 物理的に複製不可能な機能を用いて電子機器のセキュリティを電子的に確保する方法およびシステム
US11227037B2 (en) Computer system, verification method of confidential information, and computer
CA2075254A1 (en) Method for generating public and private key pairs without using a passphrase
US20070271465A1 (en) Method of Authentication by Challenge-Response and Picturized-Text Recognition
US20040193888A1 (en) Platform information for digital signatures
WO2021036086A1 (zh) 交易数据处理方法、装置、系统及计算机可读存储介质
US20120284534A1 (en) Memory Device and Method for Accessing the Same
JP5446678B2 (ja) 楕円曲線暗号演算装置及び方法
WO2019127863A1 (zh) 密钥保存和获取装置、方法及计算机可读存储介质
US8407248B2 (en) System and method for authentication using a shared table and sorting exponentiation
CN112865957A (zh) 数据加密传输方法、装置、计算机目标设备和存储介质
CN113472774A (zh) 账号免登录方法、系统、设备及计算机可读存储介质
CN111181945B (zh) 数字身份管理方法、装置、存储介质及电子设备
CN115659417A (zh) 审计日志存储方法、验证方法、装置和计算机设备
CN116527258B (zh) 密码锁的解锁方法、装置、设备及存储介质
CN111291414A (zh) 数据存储方法及装置、计算机装置及存储介质
CN112306526A (zh) 客户端数据更新方法、设备、装置及存储介质
US20090287939A1 (en) Secure device, information processing terminal, server, and authentication method
WO2021052033A1 (zh) 数据调用方法、装置、设备及计算机可读存储介质
CN101465726B (zh) 用于秘钥的反破解方法及执行此方法的控制器与储存装置
KR101665600B1 (ko) Ecc 암호 알고리즘의 전력 충돌 공격 대응을 위한 장치 및 방법
CN109308420B (zh) 一种数据加密方法、终端设备及计算机可读存储介质
CN113408012A (zh) 故障检测

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