消息签名方法、装置、设备及可读存储介质制造方法及图纸

技术编号:38226181 阅读:9 留言:0更新日期:2023-07-25 17:56
本申请公开了一种消息签名方法、装置、设备及可读存储介质,涉及信息安全技术领域。所述消息签名方法包括以下步骤:获取待签名消息、伪随机数和所述待签名消息的私钥;根据所述待签名消息、所述伪随机数和所述私钥,生成对应的第一随机数;根据所述第一随机数和预设椭圆曲线对所述待签名消息进行签名,生成所述待签名消息的签名信息。本申请通过待签名消息、伪随机数和所述待签名消息的私钥,生成对应的第一随机数作为随机数用于椭圆曲线签名算法进行签名,从而减轻了随机数之间的相关性,降低了数据安全风险。降低了数据安全风险。降低了数据安全风险。

【技术实现步骤摘要】
消息签名方法、装置、设备及可读存储介质


[0001]本申请涉及信息安全
,尤其涉及一种消息签名方法、装置、设备及可读存储介质。

技术介绍

[0002]随着区块链技术的兴起,其对金融、智能制造、供应链、物流等领域带来了深入的影响,并驱动新一轮技术变革和应用变革。出于安全性与私密性的考虑用户在区块链网络中提交交易时,需采用签名算法对交易内容进行签名。椭圆曲线数字签名算法作为一种常见的签名算法,也是目前主流区块链中使用到的签名算法。
[0003]椭圆曲线数字签名算法中有一个步骤涉及到选取一个随机数。目前常用的方式是通过PRNG(Pseudo Random Number Generator,伪随机数生成器)直接生成一个随机数,该随机数本身具有较高的随机性和秘密性以保证安全性。
[0004]虽然椭圆曲线数字签名算法本身的安全性非常高,但由于该随机数终究是由PRNG通过特定方式生成的伪随机数,因此依旧存在PRNG生成伪随机数的特定方式而导致随机数出现相关性的情况。随机数相关这种情况出现的可能性虽然很低,但由于其在区块链网络中大量高频使用的情况,其安全风险不可小觑。此时,随机数相关这种情况出现将可能导致签名者的私钥被泄露,从而产生数据的安全风险。

技术实现思路

[0005]本申请的主要目的在于提供一种消息签名方法,旨在解决现有方法中椭圆曲线数字签名算法的随机数出现相关的情况,导致私钥泄露造成数据的安全风险的技术问题。
[0006]为实现上述目的,第一方面,本申请提供一种消息签名方法,所述消息签名方法包括:
[0007]获取待签名消息、伪随机数和所述待签名消息的私钥;
[0008]根据所述待签名消息、所述伪随机数和所述私钥,生成对应的第一随机数;
[0009]根据所述第一随机数和预设椭圆曲线对所述待签名消息进行签名,生成所述待签名消息的签名信息。
[0010]根据第一方面,所述根据所述待签名消息、所述伪随机数和所述私钥,生成对应的第一随机数的步骤,包括:
[0011]将所述待签名消息、所述伪随机数和所述私钥按照预设拼接规则进行拼接,生成对应的字节序列;
[0012]对所述字节序列做哈希运算,获得所述字节序列对应的第一整数值,并将所述第一整数值作为第一随机数。
[0013]根据第一方面,或者以上第一方面的任意一种实现方式,所述根据所述第一随机数和预设椭圆曲线对所述待签名消息进行签名,生成所述待签名消息的签名信息的步骤,包括:
[0014]根据所述第一随机数和所述预设椭圆曲线上预设基点,确定第一解点坐标;
[0015]基于所述预设基点的阶次对所述第一解点坐标的横坐标做取余处理得到第一签名值;
[0016]对所述待签名消息做哈希运算得到第一哈希值,并根据所述第一哈希值、所述第一随机数、所述私钥和所述第一签名值,确定对应的第二签名值;
[0017]将所述第一签名值和所述第二签名值构成所述待签名消息的签名信息。
[0018]根据第一方面,或者以上第一方面的任意一种实现方式,所述根据所述第一哈希值、所述第一随机数、所述私钥和所述第一签名值,确定对应的第二签名值的步骤,包括:
[0019]对所述第一哈希值按照预设固定长度进行截取,获得第二整数值;
[0020]基于预设运算规则对所述第一随机数、所述第二整数值、所述私钥和所述第一签名值进行运算得到第二签名值。
[0021]根据第一方面,或者以上第一方面的任意一种实现方式,在所述基于所述预设基点的阶次对所述第一解点坐标的横坐标做取余处理得到第一签名值的步骤之后,包括:
[0022]判断所述第一签名值是否为零;
[0023]若所述第一签名值为零,则对所述第一随机数做哈希运算得到新的第一随机数,并执行步骤:根据所述第一随机数和所述预设椭圆曲线上预设基点,确定第一解点坐标;
[0024]若所述第一签名值不为零,则执行步骤:对所述待签名消息做哈希运算得到第一哈希值,并根据所述第一哈希值、所述第一随机数、所述私钥和所述第一签名值,确定对应的第二签名值。
[0025]根据第一方面,或者以上第一方面的任意一种实现方式,在所述对所述待签名消息做哈希运算得到第一哈希值,并根据所述第一哈希值、所述第一随机数、所述私钥和所述第一签名值,确定对应的第二签名值的步骤之后,包括:
[0026]判断所述第二签名值是否为零;
[0027]若所述第二签名值为零,则对所述第一随机数做哈希运算得到新的第一随机数,并执行步骤:根据所述第一随机数和所述预设椭圆曲线上预设基点,确定第一解点坐标;
[0028]若所述第二签名值不为零,则执行步骤:将所述第一签名值和所述第二签名值构成所述待签名消息的签名信息。
[0029]根据第一方面,或者以上第一方面的任意一种实现方式,在所述根据所述第一随机数和预设椭圆曲线对所述待签名消息进行签名,生成所述待签名消息的签名信息的步骤之后,所述消息签名方法还包括:
[0030]获取第二整数值和所述私钥对应的公钥,其中所述第二整数值为对所述待签名消息做哈希运算得到的第一哈希值按照预设固定长度进行截取确定的整数值;
[0031]将所述第二整数值、所述公钥和所述签名信息发送至验证端,以使所述验证端对所述签名信息进行验证。
[0032]第二方面,本申请提供了一种消息签名装置,所述消息签名装置包括:
[0033]获取模块,用于获取待签名消息、伪随机数和所述待签名消息的私钥;
[0034]生成模块,用于根据所述待签名消息、所述伪随机数和所述私钥,生成对应的第一随机数;
[0035]签名模块,用于根据所述第一随机数和预设椭圆曲线对所述待签名消息进行签
名,生成所述待签名消息的签名信息。
[0036]根据第二方面,生成模块,还用于:
[0037]将所述待签名消息、所述伪随机数和所述私钥按照预设拼接规则进行拼接,生成对应的字节序列;
[0038]对所述字节序列做哈希运算,获得所述字节序列对应的第一整数值,并将所述第一整数值作为第一随机数。
[0039]根据第二方面,或者以上第二方面的任意一种实现方式,签名模块,还用于:
[0040]根据所述第一随机数和所述预设椭圆曲线上预设基点,确定第一解点坐标;
[0041]基于所述预设基点的阶次对所述第一解点坐标的横坐标做取余处理得到第一签名值;
[0042]对所述待签名消息做哈希运算得到第一哈希值,并根据所述第一哈希值、所述第一随机数、所述私钥和所述第一签名值,确定对应的第二签名值;
[0043]将所述第一签名值和所述第二签名值构成所述待签名消息的签名信息。
[0044]根据第二方面,或者以上第二方面的任意一种实现方式,签名模块,还用于:
[0045]对所述第一哈希值按照预设固定长度进行截取,获得第二整数值;
[0046]基于预设运算规则对所述第一随机数、所本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种消息签名方法,其特征在于,所述消息签名方法包括以下步骤:获取待签名消息、伪随机数和所述待签名消息的私钥;根据所述待签名消息、所述伪随机数和所述私钥,生成对应的第一随机数;根据所述第一随机数和预设椭圆曲线对所述待签名消息进行签名,生成所述待签名消息的签名信息。2.如权利要求1所述的消息签名方法,其特征在于,所述根据所述待签名消息、所述伪随机数和所述私钥,生成对应的第一随机数的步骤,包括:将所述待签名消息、所述伪随机数和所述私钥按照预设拼接规则进行拼接,生成对应的字节序列;对所述字节序列做哈希运算,获得所述字节序列对应的第一整数值,并将所述第一整数值作为第一随机数。3.如权利要求1所述的消息签名方法,其特征在于,所述根据所述第一随机数和预设椭圆曲线对所述待签名消息进行签名,生成所述待签名消息的签名信息的步骤,包括:根据所述第一随机数和所述预设椭圆曲线上预设基点,确定第一解点坐标;基于所述预设基点的阶次对所述第一解点坐标的横坐标做取余处理得到第一签名值;对所述待签名消息做哈希运算得到第一哈希值,并根据所述第一哈希值、所述第一随机数、所述私钥和所述第一签名值,确定对应的第二签名值;将所述第一签名值和所述第二签名值构成所述待签名消息的签名信息。4.如权利要求3所述的消息签名方法,其特征在于,所述根据所述第一哈希值、所述第一随机数、所述私钥和所述第一签名值,确定对应的第二签名值的步骤,包括:对所述第一哈希值按照预设固定长度进行截取,获得第二整数值;基于预设运算规则对所述第一随机数、所述第二整数值、所述私钥和所述第一签名值进行运算得到第二签名值。5.如权利要求3所述的消息签名方法,其特征在于,在所述基于所述预设基点的阶次对所述第一解点坐标的横坐标做取余处理得到第一签名值的步骤之后,包括:判断所述第一签名值是否为零;若所述第一签名值为零,则对所述第一随机数做哈希运算得到新的第一随机数,并执行步骤:根据所述第一随机数和所述预设椭圆曲线上预设基点,确定第一解点坐标;若所述第一签名值不为零,则执行步骤:对所...

【专利技术属性】
技术研发人员:简海波桂宏昱王恩凯田翔许强沈书航张骁商松庞同庆
申请(专利权)人:无锡吉利区块链科技有限公司
类型:发明
国别省市:

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

1