数字签名生成方法、装置、设备及存储介质制造方法及图纸

技术编号:25485930 阅读:20 留言:0更新日期:2020-09-01 23:05
本发明专利技术涉及交易验证技术领域,提出一种数字签名生成方法方法、装置、计算机设备和存储介质,其中的方法包括:选择一条椭圆曲线Ep(a,b)和基点G,其中基点G的阶为N;获取n份私钥

【技术实现步骤摘要】
数字签名生成方法、装置、设备及存储介质
本专利技术涉及交易验证
,尤其涉及数字签名生成方法、装置及存储介质。
技术介绍
区块链系统被广泛用于数字资产的登记,流转和管理,通过区块链独特的防止“双花”的特性,保证了同一数字资产不会被多次消费,从而保证了整个生态环境的安全性。如果要花费数字资产,必须要提供资产所有人的数字签名。目前国际通行的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份私钥并按照第一签名算法计算公钥P,其中n为大于1的自然数,i∈{1,2,...,n};获取n个随机数ki,并按照第二签名算法计算第一签名信息r;根据所述n份私钥n个随机数ki和第一签名信息r,并按照第三签名算法计算第二签名信息s。优选地,所述按照第一签名算法计算公钥P的公式为:优选地,所述按照第二签名算法计算第一签名信息r的步骤包括:根据所述n个随机数ki计算第一中间量Q,其中Q的计算公式为:将所述第一中间量Q对N取余得到:(x1,y1)=QmodN;计算第一签名信息r,其中r的计算公式为:r=(e+x1)modN,式中e为自然常数。优选地,在计算所述第一中间量Q前还需验证所述ki是否属于[1,N-1],如若ki不属于[1,N-1],则重新获取ki,直至ki∈[1,N-1]。优选地,若所述第一签名信息r=0,则重新获取ki,并重新计算第一签名信息r,直至r的值不为零。优选地,所述根据所述n份私钥n个随机数ki和第一签名信息r,并按照第三签名算法计算第二签名信息s的公式为:式中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上配备的插接式硬盘,智能存储卡(SmartMediaCard,SMC),安全数字(SecureDigital,SD)卡,闪存卡(FlashCard)等。在本实施例中,所述存储器11的可读存储介质通常用于存储安装于所述电子设备1的数字签名生成程序10等。所述存储器11还可以用于暂时地存储已经输出或者将要输出的数据。处理器12在一些实施例中可以是一中央处理器(CentralProcessingUnit,CPU),微处理器或其他数据处理芯片,用于运行存储器11中存储的程序代码或处理数据,例如执行数字签名生成程序10等。网络接口14可选地可以包括标准的有线接口、无线接口(如WI~FI接口),通常用于在该电子设备1与其它电子设备之间建立通信连接。通信总线13用于实现这些组件之间的连接通信。图1仅示出了具有组件11~14的电子设备1,但是应理解的是,并不要求实施所有示出的组件,可以替代的实施更多或者更少的组件。可选地,该电子设备1还可以包括用户接口,用户接口可以包括输入单元比如键盘(Keyboard)、语音输入装置比如麦克风(microphone)等具有语音识别功能的设备、语音输出装置比如音响、耳机等,可选地用户接口还可以包括标准的有线接口、无线接口。可选地,该电子设备1还可以包括显示器,显示器也可以本文档来自技高网...

【技术保护点】
1.一种数字签名生成方法,应用于电子设备,其特征在于,所述方法包括:/n选择一条椭圆曲线Ep(a,b)和基点G,其中基点G的阶为N;/n获取n份私钥

【技术特征摘要】
1.一种数字签名生成方法,应用于电子设备,其特征在于,所述方法包括:
选择一条椭圆曲线Ep(a,b)和基点G,其中基点G的阶为N;
获取n份私钥并按照第一签名算法计算公钥P,其中n为大于1的自然数,i∈{1,2,...,n};
获取n个随机数ki,并按照第二签名算法计算第一签名信息r;
根据所述n份私钥n个随机数ki和第一签名信息r,并按照第三签名算法计算第二签名信息s。


2.如权利要求1所述的数字签名生成方法,其特征在于,所述按照第一签名算法计算公钥P的公式为:





3.如权利要求1所述的数字签名生成方法,其特征在于,所述按照第二签名算法计算第一签名信息r的步骤包括:
根据所述n个随机数ki计算第一中间量Q,其中Q的计算公式为:



将所述第一中间量Q对N取余得到:(x1,y1)=QmodN;
计算第一签名信息r,其中r的计算公式为:r=(e+x1)modN,式中e为自然常数。


4.如权利要求3所述的数字签名生成方法,其特征在于,在计算所述第一中间量Q前还需验证所述ki是否属于[1,N-1],如若ki不属于[1,N-1],则重新获取ki,直至ki∈[1,N-1]。


5.如权利要求3所述的数字签名生成方法,其特征在于,若所述第一签名信息r=0,则重新获取k...

【专利技术属性】
技术研发人员:谢丹力张文明何军章伟
申请(专利权)人:深圳壹账通智能科技有限公司
类型:发明
国别省市:广东;44

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1