CN114187000A - 用于分散私钥的签名方法、设备、存储介质及处理器 - Google Patents

用于分散私钥的签名方法、设备、存储介质及处理器 Download PDF

Info

Publication number
CN114187000A
CN114187000A CN202111509533.9A CN202111509533A CN114187000A CN 114187000 A CN114187000 A CN 114187000A CN 202111509533 A CN202111509533 A CN 202111509533A CN 114187000 A CN114187000 A CN 114187000A
Authority
CN
China
Prior art keywords
signature
component
vector
hash value
public 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.)
Pending
Application number
CN202111509533.9A
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.)
CCB Finetech Co Ltd
Original Assignee
CCB Finetech 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 CCB Finetech Co Ltd filed Critical CCB Finetech Co Ltd
Priority to CN202111509533.9A priority Critical patent/CN114187000A/zh
Publication of CN114187000A publication Critical patent/CN114187000A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/38Payment protocols; Details thereof
    • G06Q20/382Payment protocols; Details thereof insuring higher security of transaction
    • G06Q20/3825Use of electronic signatures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/38Payment protocols; Details thereof
    • G06Q20/382Payment protocols; Details thereof insuring higher security of transaction
    • G06Q20/3829Payment protocols; Details thereof insuring higher security of transaction involving key management

Abstract

本申请实施例提供一种用于分散私钥的签名方法、设备、存储介质及处理器。通过控制各设备分量根据私钥分量生成并输出公钥分量;根据公钥分量生成目标公钥;控制设备分量生成并输出签名中间矢量;根据签名中间矢量确定第一哈希值;输出第一哈希值至设备分量,以使设备分量根据第一哈希值、私钥分量及签名中间矢量生成并输出签名分量;根据签名分量生成签名结果;根据目标公钥对签名结果进行验证。通过在具有抗量子计算机攻击能力的经典签名算法Fiat‑Shamir with Aborts的基础上重新设计,使之支持将私钥分散到多个设备上,并完成最终的签名,解决了传统分散私钥的签名算法容易遭到量子计算机攻击,安全性较差的问题。

Description

用于分散私钥的签名方法、设备、存储介质及处理器
技术领域
本申请涉及信息安全技术领域,具体涉及一种用于分散私钥的签名方法、设备、存储介质及处理器。
背景技术
移动用户端作为金融系统的延伸,是金融系统末端的安全隐患之一。这是因为移动用户端没有服务器端强大的防火墙设备,所以相较于服务器端,更容易遭受到攻击。再者,移动用户端的应用代码更容易遭受到黑客的逆向分析,从而导致关乎用户身份的私钥泄露。而用户的身份私钥一旦泄露,意味着黑客可以冒充用户进行一切商业活动,由此可能造成较大的金融损失,甚至为客户带来法律风险。
为此,在移动用户端的数字签名方案中,通常采用将用户的私钥分散到多个设备,通过多个设备进行联合签名,最终完成用户的数字签名。目前,基于分散私钥的联合签名算法,只有基于椭圆曲线密码学(Elliptic curve cryptography,ECCECC)以及基于RSA算法的版本。这些密码学算法是建立在公认的数学难题的基础上设计的,具有抵抗经典计算机攻击的优良安全特性。然而,量子计算机具有经典计算机无法比拟的超强并行处理能力,能够在特定计算困难问题上基于量子算法提供指数级加速,如Shor量子算法可以破解当前主流标准采用的非对称密码算法(如RSA、ECC等),对现有金融系统构成潜在重大安全威胁。因此,现有的分散私钥签名算法容易遭到量子计算机攻击,安全性较差。
发明内容
本申请实施例的目的是提供一种用于分散私钥的签名方法、设备、存储介质及处理器,旨在解决现有技术中分散私钥的签名算法容易遭到量子计算机攻击,安全性较差的问题。
为了实现上述目的,本申请第一方面提供一种用于分散私钥的签名方法,包括:
控制各设备分量根据私钥分量生成并输出公钥分量;
根据公钥分量生成目标公钥;
控制设备分量生成并输出签名中间矢量;
根据签名中间矢量确定第一哈希值;
输出第一哈希值至设备分量,以使设备分量根据第一哈希值、私钥分量及签名中间矢量生成并输出签名分量;
根据签名分量生成签名结果;
根据目标公钥对签名结果进行验证。
在本申请实施例中,控制各设备分量根据私钥分量生成并输出公钥分量,包括:
生成随机矩阵;
输出随机矩阵至各设备分量,以使设备分量根据随机矩阵及私钥分量生成并输出公钥分量。
在本申请实施例中,公钥分量通过以下公式得到:
Figure BDA0003405257720000021
其中,ti为设备分量i的公钥分量,A为随机矩阵,
Figure BDA0003405257720000022
为设备分量i的第一预设维度的私钥分量,
Figure BDA0003405257720000023
为设备分量i的第二预设维度的私钥分量。
在本申请实施例中,根据公钥分量生成目标公钥,包括:
将公钥分量进行求和,得到第一求和结果;
将随机矩阵和第一求和结果组合,得到目标公钥。
在本申请实施例中,控制设备分量生成并输出签名中间矢量,包括:
输出随机矩阵至各设备分量,以使设备分量根据随机矩阵生成并输出签名中间矢量。
在本申请实施例中,根据随机矩阵生成并输出签名中间矢量,包括:
生成第一预设维度的第一随机数矢量;
生成第二预设维度的第二随机数矢量;
将随机矩阵与第一随机数矢量相乘后,与第二随机数矢量求和,得到签名中间矢量;
验证签名中间矢量是否满足第一预设安全条件;
在签名中间矢量满足第一预设安全条件的情况下,输出签名中间矢量。
在本申请实施例中,根据设备分量输出的签名中间矢量确定第一哈希值,包括:
对设备分量输出的签名中间矢量进行求和,得到第一矢量;
提取第一矢量中的高位信息,得到第二矢量;
获取用于签名的签名消息;
将第二矢量和签名消息进行哈希运算,得到第一哈希值。
在本申请实施例中,根据第一哈希值、私钥分量及签名中间矢量生成并输出签名分量,包括:
根据第一哈希值、私钥分量及签名中间矢量生成签名分量;
验证签名分量是否满足第二预设安全条件;
在签名分量满足第二预设安全条件的情况下,输出签名分量。
在本申请实施例中,签名分量通过以下公式得到:
Figure BDA0003405257720000031
其中,z(i)为设备分量i的签名分量,W(i)为设备分量i的签名中间矢量,C为第一哈希值,
Figure BDA0003405257720000032
为设备分量i的第一预设维度的私钥分量。
在本申请实施例中,根据签名分量生成签名结果,包括:
对签名分量进行求和,得到第二求和结果;
将第一哈希值和第二求和结果进行组合,得到签名结果。
在本申请实施例中,根据目标公钥对签名结果进行验证,包括:
根据目标公钥和签名结果确定第三矢量;
提取第三矢量的高位信息,得到第四矢量;
验证第二求和结果是否满足第三预设安全条件;
在第二求和结果满足第三预设安全条件的情况下,获取用于签名的签名消息;
将第四矢量和签名消息进行哈希运算,得到第二哈希值;
判断第一哈希值与第二哈希值是否相等;
在第一哈希值与第二哈希值相等的情况下,判定验证通过;
在第一哈希值与第二哈希值不相等的情况下,判定验证失败。
在本申请实施例中,第四矢量通过以下公式得到:
W1'=HighBits(AZ-Ct,2γ2);
其中,W1'为第四矢量,A为随机矩阵,Z为签名结果中签名分量的求和结果,C为第一哈希值,t为目标公钥中公钥分量的求和结果,γ2为预设安全参数。
本申请第二方面提供一种处理器,被配置成执行根据上述的用于分散私钥的签名方法。
本申请第三方面提供一种用于分散私钥的签名设备,其特征在于,包括上述的处理器。
本申请第四方面提供一种机器可读存储介质,该机器可读存储介质上存储有指令,其特征在于,该指令在被处理器执行时使得处理器被配置成执行上述的用于分散私钥的签名方法。
本申请第五方面提供一种计算机程序产品,包括计算机程序,其特征在于,计算机程序在被处理器执行时实现上述的用于分散私钥的签名方法。
通过上述技术方案,通过在具有抗量子计算机攻击能力的经典签名算法Fiat-Shamir with Aborts的基础上重新设计,使之支持将私钥分散到多个设备上,并完成最终的签名,解决了传统分散私钥的签名算法容易遭到量子计算机攻击,安全性较差的问题。
本申请实施例的其它特征和优点将在随后的具体实施方式部分予以详细说明。
附图说明
附图是用来提供对本申请实施例的进一步理解,并且构成说明书的一部分,与下面的具体实施方式一起用于解释本申请实施例,但并不构成对本申请实施例的限制。在附图中:
图1示意性示出了根据本申请实施例的用于分散私钥的签名方法的应用环境示意图;
图2示意性示出了根据本申请实施例的用于分散私钥的签名方法的流程示意图;
图3示意性示出了根据本申请实施例的用于分散私钥的签名方法的时序图;
图4示意性示出了根据本申请实施例的计算机设备的内部结构图。
具体实施方式
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,应当理解的是,此处所描述的具体实施方式仅用于说明和解释本申请实施例,并不用于限制本申请实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本申请保护的范围。
需要说明,若本申请实施例中有涉及方向性指示(诸如上、下、左、右、前、后……),则该方向性指示仅用于解释在某一特定姿态(如附图所示)下各部件之间的相对位置关系、运动情况等,如果该特定姿态发生改变时,则该方向性指示也相应地随之改变。
另外,若本申请实施例中有涉及“第一”、“第二”等的描述,则该“第一”、“第二”等的描述仅用于描述目的,而不能理解为指示或暗示其相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括至少一个该特征。另外,各个实施例之间的技术方案可以相互结合,但是必须是以本领域普通技术人员能够实现为基础,当技术方案的结合出现相互矛盾或无法实现时应当认为这种技术方案的结合不存在,也不在本申请要求的保护范围之内。
本申请提供的用于分散私钥的签名方法,可以应用于如图1所示的应用环境中。其中,可信第三方104与多个设备分量102通过网络进行通信,其中,可信第三方104可以为签名服务器或其中一个设备分量。可信第三方104控制设备分量102输出公钥分量以及签名分量,可信第三方104根据公钥分量生成目标公钥,实现对外统一公钥的生成;根据签名分量生成签名结果,实现数字签名;根据目标公钥对签名结果进行验证,实现签名验证。
图2示意性示出了根据本申请实施例的用于分散私钥的签名方法的流程示意图。如图2所示,在本申请一实施例中,提供了一种用于分散私钥的签名方法,可以包括以下步骤:
步骤202,控制各设备分量根据私钥分量生成并输出公钥分量。
步骤204,根据公钥分量生成目标公钥。
经典签名算法Fiat-Shamir with Aborts的主要过程可以分为生成公私钥对、进行数字签名和进行签名验证三个步骤。该算法的缺陷是明显的:不能支持分散私钥下的多设备共同签名,当用户的私钥存储在移动端时,当移动端设备被盗,可能导致私钥被盗,由此可能导致被黑客仿造签名。
针对该缺陷,本申请实施例对上述经典签名算法进行了重新设计,使之支持将私钥分散到多个设备上,通过多个设备共同签名,来完成最后的数字签名。
假设一共有n个设备分量,为支持算法完成,还需要一个可信第三方,在实际操作中,可信第三方可以是签名服务器,也可以是其中一个设备分量。本申请实施例以可信第三方作为执行主体实现该算法。
应当理解的是,私钥分量指每个设备分量中分散保存的私钥,公钥分量指每个设备分量中保存的公钥,目标公钥指可信第三方中保存的用于签名验证的公钥。步骤202和步骤204是对Fiat-Shamir with Aborts算法中第一个步骤:生成公私钥对的改进,实现了将多个私钥分量进行组合,得到一个统一对外的目标公钥。
图3示意性示出了根据本申请实施例的用于分散私钥的签名方法的时序图。一并参照图3,可信第三方可以通过生成随机矩阵,并输出随机矩阵至各设备分量,实现控制设备分量根据随机矩阵及私钥分量生成并输出公钥分量。
在具体实现中,随机矩阵可以通过下式确定:
Figure BDA0003405257720000071
其中,A为随机矩阵,l为随机矩阵A的第一预设维度,k为随机矩阵A的第二预设维度,R为随机数,q为质数。上述第一预设维度可以是列数,第二预设维度可以是行数。
设备分量在接收到随机矩阵后,各自生成私钥分量,并根据私钥分量生成并输出公钥分量。
在具体实现中,私钥分量可以通过下式确定:
Figure BDA0003405257720000081
其中,
Figure BDA0003405257720000082
为设备分量i的私钥分量。
公钥分量通过以下公式得到:
Figure BDA0003405257720000083
其中,ti为设备分量i的公钥分量,A为随机矩阵,
Figure BDA0003405257720000084
为设备分量i的第一预设维度的私钥分量,
Figure BDA0003405257720000085
为设备分量i的第二预设维度的私钥分量。
设备分量i生成公钥分量ti后,将公钥分量ti发送至可信第三方,由可信第三方根据公钥分量ti生成目标公钥。
在具体实现中,可以将公钥分量ti进行求和,得到第一求和结果t,其中,t=t1+t2+t3。。。。。。+tn。再将随机矩阵A和第一求和结果t组合,得到目标公钥(t,A)。
步骤206,控制设备分量生成并输出签名中间矢量。
步骤208,根据签名中间矢量确定第一哈希值。
步骤210,输出第一哈希值至设备分量,以使设备分量根据第一哈希值、私钥分量及签名中间矢量生成并输出签名分量。
步骤212,根据签名分量生成签名结果。
应当理解的是,步骤206至和步骤210是对Fiat-Shamir with Aborts算法中第二个步骤:数字签名的改进,实现了联合多个设备分量进行签名,并且保障第三个步骤:签名验证的算法与原有经典算法一致。
一并参照图3,对于步骤206,可信第三方可以通过生成随机矩阵,并输出随机矩阵至各设备分量,实现控制设备分量根据随机矩阵生成并输出签名中间矢量。
在一个示例中,设备分量在接收到随机矩阵后,可以生成第一预设维度的第一随机数矢量;生成第二预设维度的第二随机数矢量;将随机矩阵与第一随机数矢量相乘后,与第二随机数矢量求和,得到签名中间矢量;验证签名中间矢量是否满足第一预设安全条件;在签名中间矢量满足第一预设安全条件的情况下,输出签名中间矢量。
在具体实现中,第一随机数矢量可以通过下式得到:
Figure BDA0003405257720000091
其中,y(i)为第一随机数矢量,l为第一预设维度,γ1为第一预设安全参数。l维的第一随机数矢量y(i)中的任何一个分量,都在的区间范围[-(γ1-1),γ1-1)之内。
第二随机数矢量可以通过下式得到:
Figure BDA0003405257720000092
其中,e(i)为第二随机数矢量,k为第二预设维度,η为第二预设安全参数。k维的第二随机数矢量e(i)中的任何一个分量,都在的区间范围[-η,η)之内。
签名中间矢量可以通过下式得到:
W(i)=Ay(i)+e(i)
其中,W(i)为签名中间矢量,A为随机矩阵。
进一步地,为了保证协议的安全性,需要对W(i)的范围做一些约束,使得输出的W(i)的范围满足安全性约束。
在一个示例中,可以从矢量W(i)中提取高位信息,并将该高位信息和用于签名的签名消息,一起做哈希运算,将运算结果记为C1,为保证后续计算的高效性,将C1看作是一个二进制的数据,约束C1中增加1和减小1的个数不超过上界τ。
将C1和当前设备的第一预设维度的私钥分量
Figure BDA0003405257720000093
相乘,并将结果和第一随机数矢量y(i)相加,得到新的矢量Z1
在具体实现中,高位信息可以通过下式得到:
W1 (i)=HighBits(W(i),2γ2);
其中,W1 (i)为高位信息,γ2为第三预设安全参数。
哈希运算结果C1可以通过下式得到:
C1∈Bτ:=H(M|W1 (i));
其中,W1 (i)为高位信息,M为签名消息,τ为第四安全参数。
新的矢量Z1可以通过下式得到:
Figure BDA0003405257720000101
为了保证后续计算结果的正确性,矢量Z1应满足如下条件:
条件一为
Figure BDA0003405257720000102
即如果Z1的无穷范数大于等于
Figure BDA0003405257720000103
则本次签名失败,返回生成第一随机数矢量的步骤,γ1为第一随机数矢量y(i)中元素的上界,β为
Figure BDA0003405257720000104
Figure BDA0003405257720000105
相乘得到的结果。
条件二为
Figure BDA0003405257720000106
即首先计算签名中间矢量W(i)减去
Figure BDA0003405257720000107
并对该结果取2γ2范围内的低位信息,如果该低位信息大于等于
Figure BDA0003405257720000108
则说明本次计算具有安全隐患,返回生成第一随机数矢量的步骤。
如果条件一和条件二均满足,则说明本次运算合理,将签名中间矢量W(i)输出至可信第三方。
对于步骤208,可信第三方在接收到设备分量输出的签名中间矢量后,对签名中间矢量进行求和,得到第一矢量;提取第一矢量中的高位信息,得到第二矢量;获取用于签名的签名消息;将第二矢量和签名消息进行哈希运算,得到第一哈希值。
在具体实现中,第一哈希值可以通过下式得到:
Figure BDA0003405257720000111
r1=HighBits(r,2γ2);
C∈Bτ:=H(M|r1);
其中,r为第一矢量,r1为第二矢量,C为第一哈希值。
对于步骤210,可信第三方在输出第一哈希值至设备分量后,设备分量可以根据第一哈希值、私钥分量及签名中间矢量生成签名分量;验证签名分量是否满足第二预设安全条件;在签名分量满足第二预设安全条件的情况下,输出签名分量。
在具体实现中,签名分量通过以下公式得到:
Figure BDA0003405257720000112
其中,z(i)为设备分量i的签名分量,W(i)为设备分量i的签名中间矢量,C为第一哈希值,
Figure BDA0003405257720000113
为设备分量i的第一预设维度的私钥分量。
为了保证后续计算结果的正确性,同样可以限制签名分量z(i)应满足如下条件:条件一为
Figure BDA0003405257720000114
条件二为
Figure BDA0003405257720000115
当签名分量z(i)同时满足这两个条件时,将签名分量输出至可信第三方。
对于步骤212,可信第三方接收到签名分量后,根据对签名分量z(i)进行求和,得到第二求和结果Z,其中Z=z(1)+z(2)+z(3)......+z(n);将第一哈希值C和第二求和结果Z进行组合,得到签名结果(C,Z)。
步骤214,根据目标公钥对签名结果进行验证。
需要说明的是,步骤214和Fiat-Shamir with Aborts算法中第三个步骤:签名验证的过程完全一致,通过使用完全一致的验签算法,从验签方并不能区分此次签名是由多个设备共同签名完成,还是由一个设备完成,进一步提高了签名的安全性。
对于步骤214,可信第三方可以根据目标公钥和签名结果确定第三矢量;提取第三矢量的高位信息,得到第四矢量;验证第二求和结果是否满足第三预设安全条件;在第二求和结果满足第三预设安全条件的情况下,获取用于签名的签名消息;将第四矢量和签名消息进行哈希运算,得到第二哈希值;判断第一哈希值与第二哈希值是否相等;在第一哈希值与第二哈希值相等的情况下,判定验证通过;在第一哈希值与第二哈希值不相等的情况下,判定验证失败。
在具体实现中,第四矢量通过以下公式得到:
W1'=HighBits(AZ-Ct,2γ2);
其中,W1'为第四矢量,A为随机矩阵,Z为签名结果中签名分量的求和结果,C为第一哈希值,t为目标公钥中公钥分量的求和结果,γ2为预设安全参数,AZ-Ct为第三矢量。
需要说明的是,上面计算过程中用到的安全参数均为预设的参数,可以通过调节这些安全参数获得计算的安全性与效率的平衡,在申请实施例中,不对这些参数的具体值进行约束。
进一步地,第三预设安全条件可以设置为:||Z||1-β,即签名结果中签名分量的求和结果Z的无穷范数小于γ1-β。
本申请实施例通过控制各设备分量根据私钥分量生成并输出公钥分量;根据公钥分量生成目标公钥;控制设备分量生成并输出签名中间矢量;根据签名中间矢量确定第一哈希值;输出第一哈希值至设备分量,以使设备分量根据第一哈希值、私钥分量及签名中间矢量生成并输出签名分量;根据签名分量生成签名结果;根据目标公钥对签名结果进行验证。其中,通过在具有抗量子计算机攻击能力的经典签名算法Fiat-Shamir with Aborts的基础上重新设计,使之支持将私钥分散到多个设备上,并完成最终的签名,解决了传统分散私钥的签名算法容易遭到量子计算机攻击,安全性较差的问题。
图2为一个实施例中用于分散私钥的签名方法的流程示意图。应该理解的是,虽然图2的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,图2中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些子步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。
本申请实施例还提供了一种处理器,处理器用于运行程序,其中,程序运行时执行上述用于分散私钥的签名方法。
本申请实施例还提供了一种用于分散私钥的签名设备,包括上述的处理器。
本申请实施例还提供了一种机器可读存储介质,该机器可读存储介质上存储有指令,该指令在被处理器执行时使得处理器被配置成执行上述的用于分散私钥的签名方法。
在一个实施例中,提供了一种计算机设备,该计算机设备可以是终端,其内部结构图可以如图4所示。该计算机设备包括通过系统总线连接的处理器A01、网络接口A02、显示屏A04、输入装置A05和存储器(图中未示出)。其中,该计算机设备的处理器A01用于提供计算和控制能力。该计算机设备的存储器包括内存储器A03和非易失性存储介质A06。该非易失性存储介质A06存储有操作系统B01和计算机程序B02。该内存储器A03为非易失性存储介质A06中的操作系统B01和计算机程序B02的运行提供环境。该计算机设备的网络接口A02用于与外部的终端通过网络连接通信。该计算机程序被处理器A01执行时以实现一种用于分散私钥的签名方法。该计算机设备的显示屏A04可以是液晶显示屏或者电子墨水显示屏,该计算机设备的输入装置A05可以是显示屏上覆盖的触摸层,也可以是计算机设备外壳上设置的按键、轨迹球或触控板,还可以是外接的键盘、触控板或鼠标等。
本领域技术人员可以理解,图4中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
本申请还提供了一种计算机程序产品,当在数据处理设备上执行时,适于执行初始化有如下方法步骤的程序:控制各设备分量根据私钥分量生成并输出公钥分量;根据公钥分量生成目标公钥;控制设备分量生成并输出签名中间矢量;根据签名中间矢量确定第一哈希值;输出第一哈希值至设备分量,以使设备分量根据第一哈希值、私钥分量及签名中间矢量生成并输出签名分量;根据签名分量生成签名结果;根据目标公钥对签名结果进行验证。
在一个实施例中,生成随机矩阵;输出随机矩阵至各设备分量,以使设备分量根据随机矩阵及私钥分量生成并输出公钥分量。
在一个实施例中,公钥分量通过以下公式得到:
Figure BDA0003405257720000141
其中,ti为设备分量i的公钥分量,A为随机矩阵,
Figure BDA0003405257720000142
为设备分量i的第一预设维度的私钥分量,
Figure BDA0003405257720000143
为设备分量i的第二预设维度的私钥分量。
在一个实施例中,将公钥分量进行求和,得到第一求和结果;将随机矩阵和第一求和结果组合,得到目标公钥。
在一个实施例中,将公钥分量进行求和,得到第一求和结果;将随机矩阵和第一求和结果组合,得到目标公钥。
在一个实施例中,输出随机矩阵至各设备分量,以使设备分量根据随机矩阵生成并输出签名中间矢量。
在一个实施例中,生成第一预设维度的第一随机数矢量;生成第二预设维度的第二随机数矢量;将随机矩阵与第一随机数矢量相乘后,与第二随机数矢量求和,得到签名中间矢量;验证签名中间矢量是否满足第一预设安全条件;在签名中间矢量满足第一预设安全条件的情况下,输出签名中间矢量。
在一个实施例中,对设备分量输出的签名中间矢量进行求和,得到第一矢量;提取第一矢量中的高位信息,得到第二矢量;获取用于签名的签名消息;将第二矢量和签名消息进行哈希运算,得到第一哈希值。
在一个实施例中,根据第一哈希值、私钥分量及签名中间矢量生成签名分量;验证签名分量是否满足第二预设安全条件;在签名分量满足第二预设安全条件的情况下,输出签名分量。
在一个实施例中,签名分量通过以下公式得到:
Figure BDA0003405257720000151
其中,z(i)为设备分量i的签名分量,W(i)为设备分量i的签名中间矢量,C为第一哈希值,
Figure BDA0003405257720000152
为设备分量i的第一预设维度的私钥分量。
在一个实施例中,对签名分量进行求和,得到第二求和结果;
将第一哈希值和第二求和结果进行组合,得到签名结果。
在一个实施例中,根据目标公钥和签名结果确定第三矢量;提取第三矢量的高位信息,得到第四矢量;验证第二求和结果是否满足第三预设安全条件;在第二求和结果满足第三预设安全条件的情况下,获取用于签名的签名消息;将第四矢量和签名消息进行哈希运算,得到第二哈希值;判断第一哈希值与第二哈希值是否相等;在第一哈希值与第二哈希值相等的情况下,判定验证通过;在第一哈希值与第二哈希值不相等的情况下,判定验证失败。
在一个实施例中,第四矢量通过以下公式得到:
W1'=HighBits(AZ-Ct,2γ2);
其中,W1'为第四矢量,A为随机矩阵,Z为签名结果中签名分量的求和结果,C为第一哈希值,t为目标公钥中公钥分量的求和结果,γ2为预设安全参数。
本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
在一个典型的配置中,计算设备包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。
存储器可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。存储器是计算机可读介质的示例。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体,可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括要素的过程、方法、商品或者设备中还存在另外的相同要素。
以上仅为本申请的实施例而已,并不用于限制本申请。对于本领域技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本申请的权利要求范围之内。

Claims (16)

1.一种用于分散私钥的签名方法,其特征在于,包括:
控制各设备分量根据私钥分量生成并输出公钥分量;
根据所述公钥分量生成目标公钥;
控制所述设备分量生成并输出签名中间矢量;
根据所述签名中间矢量确定第一哈希值;
输出所述第一哈希值至所述设备分量,以使所述设备分量根据所述第一哈希值、所述私钥分量及所述签名中间矢量生成并输出签名分量;
根据所述签名分量生成签名结果;
根据所述目标公钥对所述签名结果进行验证。
2.根据权利要求1所述的签名方法,其特征在于,所述控制各设备分量根据私钥分量生成并输出公钥分量,包括:
生成随机矩阵;
输出所述随机矩阵至各设备分量,以使所述设备分量根据所述随机矩阵及私钥分量生成并输出所述公钥分量。
3.根据权利要求2所述的签名方法,其特征在于,所述公钥分量通过以下公式得到:
Figure FDA0003405257710000011
其中,ti为设备分量i的公钥分量,A为所述随机矩阵,
Figure FDA0003405257710000012
为设备分量i的第一预设维度的私钥分量,
Figure FDA0003405257710000013
为设备分量i的第二预设维度的私钥分量。
4.根据权利要求2所述的签名方法,其特征在于,所述根据所述公钥分量生成目标公钥,包括:
将所述公钥分量进行求和,得到第一求和结果;
将所述随机矩阵和所述第一求和结果组合,得到所述目标公钥。
5.根据权利要求2所述的签名方法,其特征在于,所述控制所述设备分量生成并输出签名中间矢量,包括:
输出所述随机矩阵至各设备分量,以使所述设备分量根据所述随机矩阵生成并输出签名中间矢量。
6.根据权利要求5所述的签名方法,其特征在于,所述根据所述随机矩阵生成并输出签名中间矢量,包括:
生成第一预设维度的第一随机数矢量;
生成第二预设维度的第二随机数矢量;
将所述随机矩阵与所述第一随机数矢量相乘后,与所述第二随机数矢量求和,得到所述签名中间矢量;
验证所述签名中间矢量是否满足第一预设安全条件;
在所述签名中间矢量满足所述第一预设安全条件的情况下,输出所述签名中间矢量。
7.根据权利要求5所述的签名方法,其特征在于,所述根据所述设备分量输出的签名中间矢量确定第一哈希值,包括:
对所述设备分量输出的签名中间矢量进行求和,得到第一矢量;
提取所述第一矢量中的高位信息,得到第二矢量;
获取用于签名的签名消息;
将所述第二矢量和所述签名消息进行哈希运算,得到所述第一哈希值。
8.根据权利要求7所述的签名方法,其特征在于,所述根据所述第一哈希值、所述私钥分量及所述签名中间矢量生成并输出签名分量,包括:
根据所述第一哈希值、所述私钥分量及所述签名中间矢量生成所述签名分量;
验证所述签名分量是否满足第二预设安全条件;
在所述签名分量满足所述第二预设安全条件的情况下,输出所述签名分量。
9.根据权利要求8所述的签名方法,其特征在于,所述签名分量通过以下公式得到:
Figure FDA0003405257710000031
其中,z(i)为设备分量i的签名分量,W(i)为设备分量i的签名中间矢量,C为所述第一哈希值,
Figure FDA0003405257710000032
为设备分量i的第一预设维度的私钥分量。
10.根据权利要求2所述的签名方法,其特征在于,所述根据所述签名分量生成签名结果,包括:
对所述签名分量进行求和,得到第二求和结果;
将所述第一哈希值和所述第二求和结果进行组合,得到所述签名结果。
11.根据权利要求2所述的签名方法,其特征在于,所述根据所述目标公钥对所述签名结果进行验证,包括:
根据所述目标公钥和所述签名结果确定第三矢量;
提取所述第三矢量的高位信息,得到第四矢量;
验证所述第二求和结果是否满足第三预设安全条件;
在所述第二求和结果满足所述第三预设安全条件的情况下,获取用于签名的签名消息;
将所述第四矢量和所述签名消息进行哈希运算,得到第二哈希值;
判断所述第一哈希值与所述第二哈希值是否相等;
在所述第一哈希值与所述第二哈希值相等的情况下,判定验证通过;
在所述第一哈希值与所述第二哈希值不相等的情况下,判定验证失败。
12.根据权利要求11所述的签名方法,其特征在于,所述第四矢量通过以下公式得到:
W1'=HighBits(AZ-Ct,2γ2);
其中,W1'为所述第四矢量,A为所述随机矩阵,Z为所述签名结果中所述签名分量的求和结果,C为所述第一哈希值,t为所述目标公钥中所述公钥分量的求和结果,γ2为预设安全参数。
13.一种处理器,其特征在于,被配置成执行根据权利要求1至12中任意一项所述的用于分散私钥的签名方法。
14.一种用于分散私钥的签名设备,其特征在于,包括根据权利要求13所述的处理器。
15.一种机器可读存储介质,该机器可读存储介质上存储有指令,其特征在于,该指令在被处理器执行时使得所述处理器被配置成执行根据权利要求1至12中任一项所述的用于分散私钥的签名方法。
16.一种计算机程序产品,包括计算机程序,其特征在于,所述计算机程序在被处理器执行时实现根据权利要求1至12中任一项所述的用于分散私钥的签名方法。
CN202111509533.9A 2021-12-10 2021-12-10 用于分散私钥的签名方法、设备、存储介质及处理器 Pending CN114187000A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202111509533.9A CN114187000A (zh) 2021-12-10 2021-12-10 用于分散私钥的签名方法、设备、存储介质及处理器

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202111509533.9A CN114187000A (zh) 2021-12-10 2021-12-10 用于分散私钥的签名方法、设备、存储介质及处理器

Publications (1)

Publication Number Publication Date
CN114187000A true CN114187000A (zh) 2022-03-15

Family

ID=80543198

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202111509533.9A Pending CN114187000A (zh) 2021-12-10 2021-12-10 用于分散私钥的签名方法、设备、存储介质及处理器

Country Status (1)

Country Link
CN (1) CN114187000A (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115442052A (zh) * 2022-08-30 2022-12-06 云海链控股股份有限公司 一种协同签名方法、系统、设备及计算机可读存储介质
CN117151713A (zh) * 2023-10-30 2023-12-01 国网浙江省电力有限公司 基于累积前景理论与vikor法的评估交易一体化算力优化方法

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115442052A (zh) * 2022-08-30 2022-12-06 云海链控股股份有限公司 一种协同签名方法、系统、设备及计算机可读存储介质
CN115442052B (zh) * 2022-08-30 2023-06-23 云海链控股股份有限公司 一种协同签名方法、系统、设备及计算机可读存储介质
CN117151713A (zh) * 2023-10-30 2023-12-01 国网浙江省电力有限公司 基于累积前景理论与vikor法的评估交易一体化算力优化方法
CN117151713B (zh) * 2023-10-30 2024-01-09 国网浙江省电力有限公司 基于累积前景理论与vikor法的评估交易一体化算力优化方法

Similar Documents

Publication Publication Date Title
JP7077394B2 (ja) デバイスに匿名性を与えるキー認証ステートメントの生成
Sookhak et al. Auditing big data storage in cloud computing using divide and conquer tables
US11716206B2 (en) Certificate based security using post quantum cryptography
CN114187000A (zh) 用于分散私钥的签名方法、设备、存储介质及处理器
EP3729713B1 (en) Homomorphic encryption for password authentication
US20230379155A1 (en) Identity Information Processing Method, Device, and System
US11757659B2 (en) Post-quantum certificate binding
US20160149708A1 (en) Electronic signature system
WO2017006118A1 (en) Secure distributed encryption system and method
Ponnuramu et al. Data integrity proof and secure computation in cloud computing
CN108028751B (zh) 用于移动主动秘密共享的系统、计算机可读介质和方法
Ukwuoma et al. Post-quantum cryptography-driven security framework for cloud computing
US20220286291A1 (en) Secure environment for cryptographic key generation
CN111262707B (zh) 数字签名方法及验证方法、设备、存储介质
CN114514550A (zh) 将请求分区成区块链的交易
EP4270865A1 (en) Information processing system, control method, information processing device, and control program
CN111092721B (zh) 一种设置访问口令的方法及装置
JP2023551124A (ja) 自己監査ブロックチェーン
US20160292685A1 (en) Authenticating a user with a passcode using a passcode entry table
CN112887097A (zh) 基于sm2椭圆曲线的签名方法、相关装置、及存储介质
US11177945B1 (en) Controlling access to encrypted data
Naveen Kumar et al. Chip-based key distribution technique
Kumar Cloud Security Using Elliptic Curve Cryptography and Diffie Hellman
Tian Digital forensics in the cloud: Encrypted data evidence tracking
HAGOS MOBICLOUD DATA SECURITY FRAMEWORK FOR THE MOBILE BANKING INDUSTRY

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