私钥生成方法、设备和存储介质技术

技术编号:25995480 阅读:20 留言:0更新日期:2020-10-20 19:05
本发明专利技术提供一种私钥生成方法、设备和存储介质,该方法包括:判断当前用户的私钥是否符合第一签名算法的签名算法规则:是,则将私钥确认为当前用户的第一签名算法的私钥;否,则对私钥进行第一运算以计算第一数值;在所计算的第一数值不满足签名算法规则时,对所计算的第一数值进行第一运算以再次计算第一数值,并返回判断所计算的第一数值是否满足签名算法规则;所计算的第一数值满足签名算法规则时,将所计算的第一数值确认为第一签名算法的私钥。本申请减少因支持多种签名算法而产生的私钥账户数量。

【技术实现步骤摘要】
私钥生成方法、设备和存储介质
本申请涉及区块链
,具体涉及一种私钥生成方法、设备和存储介质。
技术介绍
密钥空间是加密密钥大小的范围。例如secp的密钥空间是0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEBAAEDCE6AF48A03BBFD25E8CD0364140,而bls的密钥空间是0x73eda753299d7d483339d80809a1d80553bda402fffe5bfeffffffff00000001;不同签名算法的方案不一定兼容。已知私钥生成公钥,公钥生成地址,即一个私钥账户的地址其实是与私钥关联的;若区块链系统支持多种签名算法,则一个用户需要因为支持多种签名算法而产生多个私钥账户,管理很不方便,容易丢失。
技术实现思路
鉴于现有技术中的上述缺陷或不足,期望提供一种减少因支持多种签名算法而产生的私钥账户数量的私钥生成方法、设备和存储介质。第一方面,本专利技术提供一种适用于客户端的私钥生成方法,上述方法包括:响应于系统支持第一签名算法,判断当前用户的私钥是否符合第一签名算法的签名算法规则:是,则将私钥确认为当前用户的第一签名算法的私钥;否,则对私钥进行第一运算以计算第一数值;判断所计算的第一数值是否满足签名算法规则:否,则对所计算的第一数值进行第一运算以再次计算第一数值,并返回判断所计算的第一数值是否满足签名算法规则;是,则将所计算的第一数值确认为第一签名算法的私钥。第二方面,本专利技术还提供一种设备,包括一个或多个处理器和存储器,其中存储器包含可由该一个或多个处理器执行的指令以使得该一个或多个处理器执行根据本专利技术各实施例提供的私钥生成方法。第三方面,本专利技术还提供一种存储有计算机程序的存储介质,该计算机程序使计算机执行根据本专利技术各实施例提供的私钥生成方法。本专利技术诸多实施例提供的私钥生成方法、设备和存储介质通过判断当前用户的私钥是否符合第一签名算法的签名算法规则:是,则将私钥确认为当前用户的第一签名算法的私钥;否,则对私钥进行第一运算以计算第一数值;在所计算的第一数值不满足签名算法规则时,对所计算的第一数值进行第一运算以再次计算第一数值,并返回判断所计算的第一数值是否满足签名算法规则;所计算的第一数值满足签名算法规则时,将所计算的第一数值确认为第一签名算法的私钥的方法,减少因支持多种签名算法而产生的私钥账户数量。附图说明通过阅读参照以下附图所作的对非限制性实施例所作的详细描述,本申请的其它特征、目的和优点将会变得更明显:图1为本专利技术一实施例提供的一种私钥生成方法的流程图。图2为本专利技术一实施例提供的一种设备的结构示意图。具体实施方式下面结合附图和实施例对本申请作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释相关专利技术,而非对该专利技术的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与专利技术相关的部分。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。下面将参考附图并结合实施例来详细说明本申请。在现有区块链技术中,客户端使用secp签名算法对一笔交易内容进行签名后生成交易并发往区块链系统。密钥空间是加密密钥大小的范围。例如secp的密钥空间是0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEBAAEDCE6AF48A03BBFD25E8CD0364140,而bls的密钥空间是0x73eda753299d7d483339d80809a1d80553bda402fffe5bfeffffffff00000001;不同签名算法的方案不一定兼容。区块链系统的功能逐渐多样化,区块链系统需要兼容多种不同签名算法。图1为本专利技术一实施例提供的一种私钥生成方法的流程图。如图1所示,在本实施例中,本专利技术提供一种适用于客户端的私钥生成方法,上述方法包括:S11:判断当前用户的私钥是否符合第一签名算法的签名算法规则:是,则执行步骤S12:将私钥确认为当前用户的第一签名算法的私钥;否,则执行步骤S13:对私钥进行第一运算以计算第一数值;S141:判断所计算的第一数值是否满足签名算法规则:否,则执行步骤S142:对所计算的第一数值进行第一运算以再次计算第一数值,并返回判断所计算的第一数值是否满足签名算法规则;是,则执行步骤S143:将所计算的第一数值确认为第一签名算法的私钥。具体地,假设第一签名算法为bls签名算法,第一运算为哈希运算;现有用户a、用户b、用户c,对应的客户端为客户端A、客户端B、客户端C;用户a的私钥secp_a符合bls签名算法的签名算法规则;用户b的私钥secp_b不符合bls签名算法的签名算法规则,hash(secp_b)符合bls签名算法的签名算法规则;用户c的私钥secp_c不符合bls签名算法的签名算法规则,hash(hash(secp_c))符合bls签名算法的签名算法规则;以当前客户端为客户端A为例;A执行步骤S11,断用户a的私钥secp_a是否符合bls签名算法的签名算法规则:由于符合,则执行步骤S12:将secp_a确认为用户a的bls签名算法的私钥。以当前客户端为客户端B为例;B执行步骤S11,判断用户b的私钥secp_b是否符合bls签名算法的签名算法规则:由于不符合,则执行步骤S13:对secp_b进行哈希运算以计算第一数值hash(secp_b);B执行步骤S141,判断hash(secp_b)是否满足bls签名算法的签名算法规则:由于hash(secp_b)符合bls签名算法,则执行步骤S143:将hash(secp_b)确认为用户b的bls签名算法的私钥。以当前客户端为客户端B为例;C执行步骤S11,判断用户c的私钥secp_c是否符合bls签名算法的签名算法规则:由于不符合,则执行步骤S13:对secp_c进行哈希运算以计算第一数值hash(secp_c);C执行步骤S141,判断hash(secp_c)是否满足签名算法规则:不满足,则执行步骤S142:对hash(secp_c)进行哈希运算以再次计算第一数值hash(hash(secp_c)),并返回S141;C执行步骤S141,判断hash(hash(secp_c))是否满足签名算法规则;由于hash(hash(secp_c))符合bls签名算法的签名算法规则,则将hash(hash(secp_c))确认为用户c的bls签名算法的私钥。上述实施例以第一签名算法为bls签名算法,第一运算为哈希运算;现有用户a、用户b、用户c,对应的客户端为客户端A、客户端B、客户端C;用户a的私钥secp_a符合bls签名算法的签名算法规则;用户b的私钥secp_b不符合bls签名算法的签名算法规则,hash(secp_b)符合本文档来自技高网...

【技术保护点】
1.一种私钥生成方法,其特征在于,适用于客户端,所述方法包括:/n判断当前用户的私钥是否符合第一签名算法的签名算法规则:/n是,则将所述私钥确认为当前用户的所述第一签名算法的私钥;/n否,则对所述私钥进行第一运算以计算第一数值;/n判断所计算的第一数值是否满足所述签名算法规则:/n否,则对所计算的第一数值进行第一运算以再次计算第一数值,并返回所述判断所计算的第一数值是否满足所述签名算法规则;/n是,则将所计算的第一数值确认为所述第一签名算法的私钥。/n

【技术特征摘要】
1.一种私钥生成方法,其特征在于,适用于客户端,所述方法包括:
判断当前用户的私钥是否符合第一签名算法的签名算法规则:
是,则将所述私钥确认为当前用户的所述第一签名算法的私钥;
否,则对所述私钥进行第一运算以计算第一数值;
判断所计算的第一数值是否满足所述签名算法规则:
否,则对所计算的第一数值进行第一运算以再次计算第一数值,并返回所述判断所计算的第一数值是否满足所述签名算法规则;
是,则将所计算的第一数值确认为所述第一签名算法的私钥。


2.根据权利要求1所述的方法,其特征在于,所述第一运算为哈希运算。


3.根据权利要求1所述的方法,其特征在于,还包括:

【专利技术属性】
技术研发人员:马登极王志文吴思进
申请(专利权)人:杭州复杂美科技有限公司
类型:发明
国别省市:浙江;33

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

1