CN117978408A - 协同签名算法的检测方法、协同签名设备及可读存储介质 - Google Patents
协同签名算法的检测方法、协同签名设备及可读存储介质 Download PDFInfo
- Publication number
- CN117978408A CN117978408A CN202410364222.5A CN202410364222A CN117978408A CN 117978408 A CN117978408 A CN 117978408A CN 202410364222 A CN202410364222 A CN 202410364222A CN 117978408 A CN117978408 A CN 117978408A
- Authority
- CN
- China
- Prior art keywords
- collaborative
- signature
- public key
- cooperator
- elliptic curve
- 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.)
- Granted
Links
- 238000004422 calculation algorithm Methods 0.000 title claims abstract description 123
- 238000001514 detection method Methods 0.000 title claims abstract description 92
- 238000000034 method Methods 0.000 claims abstract description 74
- 230000008569 process Effects 0.000 claims abstract description 42
- 239000003999 initiator Substances 0.000 claims description 110
- 238000012795 verification Methods 0.000 claims description 23
- 230000009471 action Effects 0.000 claims description 10
- 230000007246 mechanism Effects 0.000 abstract description 27
- 230000000694 effects Effects 0.000 abstract description 6
- 230000005540 biological transmission Effects 0.000 abstract description 2
- 238000005516 engineering process Methods 0.000 abstract description 2
- 238000004590 computer program Methods 0.000 description 10
- 230000006870 function Effects 0.000 description 10
- 238000010586 diagram Methods 0.000 description 8
- 230000004048 modification Effects 0.000 description 5
- 238000012986 modification Methods 0.000 description 5
- 238000004891 communication Methods 0.000 description 4
- 238000012545 processing Methods 0.000 description 4
- 230000000977 initiatory effect Effects 0.000 description 3
- 230000004075 alteration Effects 0.000 description 2
- 238000011156 evaluation Methods 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 238000004364 calculation method Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 230000009545 invasion Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
Landscapes
- Storage Device Security (AREA)
Abstract
本发明涉及数字信息的传输技术领域,尤其涉及一种协同签名算法的检测方法、协同签名设备及可读存储介质。所述方法在检测方,通过在进入协作方检测进程之后,基于随机数和协作方公钥,获取第一椭圆曲线点,并基于预设的消息和密码杂凑算法,获取第一消息摘要;发送第一消息摘要和第一椭圆曲线点至协作方;在接收到协作方返回的第一签名值之后,基于随机数、协作方公钥、第一签名值以及第一消息摘要,获得协同签名值的第一参数;当协同签名值的第一参数与第一签名值的第一参数一致时,输出协作方检测通过提示。验证协作方是否参与了协同签名,实现对协同签名机制的防护效果进行检测,确保协同签名机制达到防护要求,提高被保护的***的安全性。
Description
技术领域
本发明涉及数字信息的传输技术领域,尤其涉及一种协同签名算法的检测方法、协同签名设备及可读存储介质。
背景技术
在对手机应用程序的签名值进行验签操作的过程中,常用的方法是在接收到手机端发送的签名值之后,调用预设的验签算法,对签名值进行验签操作。然而,当采用协同签名机制的数字签名方式时,由于协同签名的共享公钥可以对协同签名的各个参与者的签名结果进行验证,因此,认证***在对手机端发送的签名值进行验签操作时,无法确定该签名值是否是协同签名的签名结果。从而导致协同签名机制的防护效果失效,无法达到协同签名机制的防护要求,使被保护的***存在被非法入侵的安全隐患。
上述内容仅用于辅助理解本发明的技术方案,并不代表承认上述内容是现有技术。
发明内容
本发明的主要目的在于提供一种协同签名算法的检测方法,旨在解决无法检测协同签名的参与方是否参与了协同签名的问题。
为实现上述目的,本发明提供的一种协同签名算法的检测方法,应用于检测方,所述协同签名算法的检测方法包括以下步骤:
获取并保存协作方发送的协作方公钥,并调用随机数生成算法生成随机数;
在进入协作方检测进程之后,基于所述随机数和协作方公钥,获取第一椭圆曲线点,并基于预设的消息和密码杂凑算法,获取第一消息摘要;
发送所述第一消息摘要和所述第一椭圆曲线点至协作方;
在接收到所述协作方返回的第一签名值之后,基于所述随机数、所述协作方公钥、所述第一签名值以及所述第一消息摘要,获得协同签名值的第一参数;
当所述协同签名值的第一参数与所述第一签名值的第一参数一致时,输出协作方检测通过提示。
可选地,所述基于所述随机数、所述协作方公钥、所述第一签名值以及所述第一消息摘要,获得协同签名值的第一参数的步骤包括:
基于所述随机数、所述协作方公钥和所述第一签名值,获得协同椭圆曲线点;
对所述协同椭圆曲线点、所述第一消息摘要与预设基点的阶执行求模运算,获得所述协同签名值的第一参数。
可选地,所述当所述协同签名值的第一参数与所述第一签名值的第一参数一致时,输出协作方检测通过提示的步骤之后,还包括:
获取并保存发起方发送的协同公钥,并进入发起方检测进程;
在发起方发送第二消息摘要和第二椭圆曲线点至所述协作方时,获取所述第二消息摘要和所述第二椭圆曲线点;
当所述协作方发送第二签名值至所述发起方时,获取所述第二签名值;
当所述第二签名值的第一参数与所述协同签名值的第一参数一致时,根据所述协同公钥、所述随机数、所述第二签名值和所述协作方公钥获得第一校验值,并根据所述第二椭圆曲线点、第二签名值、协作方公钥和所述协同公钥获得第二校验值;
当所述第一校验值和所述第二校验值一致时,输出发起方检测通过提示。
可选地,所述根据所述协同公钥、所述随机数、所述第一签名值和所述协作方公钥获得第一校验值的步骤包括:
根据所述协同公钥、所述随机数、所述第一签名值、所述协作方公钥,获得所述协同签名值的第二参数;
调用预设第一校验值生成算法,并将所述协同签名值的第二参数、所述协同公钥以及预设基点输入至所述预设第一校验值生成算法,获得所述第一校验值。
可选地,所述在进入协作方检测进程之后,基于所述随机数和协作方公钥,获取第一椭圆曲线点的步骤包括:
在进入协作方检测进程之后,调用椭圆曲线方程验证所述协作方公钥是否满足所述椭圆曲线方程;
若是,执行所述基于所述随机数和协作方公钥,获取第一椭圆曲线点的步骤;
若否,执行退出协作方检测进程的动作。
可选地,所述在进入协作方检测进程之后,调用椭圆曲线方程验证所述协作方公钥是否满足所述椭圆曲线方程的步骤之后,还包括:
若所述协作方公钥满足所述椭圆曲线方程,检测方发送所述随机数至所述协作方;
所述协作方在接收到所述随机数之后,调用协作方私钥对所述随机数执行签名操作,生成签名结果,并将所述签名结果返回至所述检测方;
所述检测方在接收到所述协作方发送的签名结果之后,调用所述协作方公钥对所述签名结果执行验签操作;
当所述签名结果验签成功时,输出协作方合法的提示;
当所述签名结果验签失败时,输出协作方非法的提示,并执行所述退出协作方检测进程的动作。
此外,为实现上述目的,本发明提供的一种协同签名算法的检测方法,应用于协作方,所述协同签名算法的检测方法包括以下步骤:
在接收到发起方发送的协同密钥对生成请求之后,基于随机数生成算法,获得协作方私钥;
调用预设协作方公钥生成算法,基于所述协作方私钥和预设基点,生成协作方公钥;
发送所述协作方公钥至检测方以及所述发起方;
在接收到所述检测方发送的第一消息摘要和第一椭圆曲线点时,基于所述随机数生成算法,生成加密随机数;
基于所述加密随机数以及所述协作方私钥,对所述第一消息摘要和第一椭圆曲线点执行协同签名操作,生成第一签名值,并发送所述第一签名值至所述检测方。
此外,为实现上述目的,本发明提供的一种协同签名算法的检测方法,应用于发起方,所述协同签名算法的检测方法包括以下步骤:
在发送协同密钥对生成请求至协作方之后,接收协作方发送的协作方公钥,并调用椭圆曲线方程验证所述协作方公钥是否满足所述椭圆曲线方程;
当所述协作方公钥满足所述椭圆曲线方程时,调用随机数生成算法生成发起方私钥;
调用预设发起方公钥生成算法,基于所述发起方私钥和预设基点,生成发起方公钥;
调用预设协同公钥生成算法,基于所述发起方私钥、所述协作方公钥以及所述预设基点,生成协同公钥;
发送所述协同公钥和所述发起方公钥至所述协作方和检测方。
此外,为实现上述目的,本发明还提供一种协同签名设备,所述协同签名设备包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的协同签名算法的检测程序,所述协同签名算法的检测程序被所述处理器执行时实现如上所述的协同签名算法的检测方法的步骤。
此外,为实现上述目的,本发明还提供一种计算机可读存储介质,所述计算机可读存储介质上存储有协同签名算法的检测程序,所述协同签名算法的检测程序被处理器执行时实现如上所述的协同签名算法的检测方法的步骤。
本发明实施例提供协同签名算法的检测方法、协同签名设备及可读存储介质,协作方通过在接收到发起方发送的协同密钥对生成请求之后,生成协作方私钥以及对应的协作方公钥并发送给检测方和发起方,以供检测方检测自身是否参与协同签名,以及供发起方生成协同公钥。通过在接收到所述检测方发送的第一消息摘要和第一椭圆曲线点时,基于加密随机数以及协作方私钥,对第一消息摘要和第一椭圆曲线点执行协同签名操作,生成第一签名值,并发送所述第一签名值至所述检测方,以证明自身参与了协同签名。进而实现检测方可以验证协作方是否参与了协同签名,从而使检测方实现对协同签名机制的防护效果进行检测,确保协同签名机制达到防护要求,提高被保护的***的安全性。在协作方检测通过之后,通过根据协同公钥、随机数、第二签名值和协作方公钥获得第一校验值,并根据第二椭圆曲线点、第二签名值、协作方公钥和协同公钥获得第二校验值,然后通过验证第一校验值与第二校验值是否一致,来确定发起方是否采用协同签名机制进行签名,这样可以基于第二签名值的第二参数与协同签名值的第二参数之间关系的不变性,实现对发起方是否采用协同签名机制进行签名进行检测。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本发明的实施例,并与说明书一起用于解释本发明的原理。为了更清楚地说明本发明实施例的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,对于本领域普通技术人员而言,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例涉及的协同签名设备的硬件运行环境的架构示意图;
图2为本发明协同签名算法的检测方法的第一实施例的流程示意图;
图3为本发明协同签名算法的检测方法的第二实施例的流程示意图;
图4为本发明协同签名算法的检测方法的第三实施例的流程示意图。
本发明目的的实现、功能特点及优点将结合实施例,参照附图作进一步说明。
具体实施方式
本申请协同签名算法的检测方法,在检测方通过获取并保存协作方发送的协作方公钥,并调用随机数生成算法生成随机数;在进入协作方检测进程之后,基于所述随机数和协作方公钥,获取第一椭圆曲线点,并基于预设的消息和密码杂凑算法,获取第一消息摘要;发送所述第一消息摘要和所述第一椭圆曲线点至协作方;在接收到所述协作方返回的第一签名值之后,基于所述随机数、所述协作方公钥、所述第一签名值以及所述第一消息摘要,获得协同签名值的第一参数;当所述协同签名值的第一参数与所述第一签名值的第一参数一致时,输出协作方检测通过提示,验证协作方是否参与了协同签名。以及通过在输出协作方检测通过提示之后,获取并保存发起方发送的协同公钥,并进入发起方检测进程;在发起方发送第二消息摘要和第二椭圆曲线点至所述协作方时,获取所述第二消息摘要和所述第二椭圆曲线点;当所述协作方发送第二签名值至所述发起方时,获取所述第二签名值;当所述第二签名值的第一参数与所述协同签名值的第一参数一致时,根据所述协同公钥、所述随机数、所述第二签名值和所述协作方公钥获得第一校验值,并根据所述第二椭圆曲线点、第二签名值、协作方公钥和所述协同公钥获得第二校验值;当所述第一校验值和所述第二校验值一致时,输出发起方检测通过提示,验证发起方是否参与了协同签名。实现对协同签名机制的防护效果进行检测,确保协同签名机制达到防护要求,提高被保护的***的安全性。
为了更好地理解上述技术方案,下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整地传达给本领域的技术人员。
作为一种实现方案,图1为本发明实施例方案涉及的协同签名设备的硬件运行环境的架构示意图。
如图1所示,该协同签名设备可以包括:处理器101,例如核心处理器,存储器102,通信总线103。其中,存储器102可以是高速的随机存取存储器(Random Access Memory,RAM)存储器,也可以是稳定的非易失性存储器(Non-Volatile Memory,NVM),例如磁盘存储器。存储器102可选的还可以是独立于前述处理器101的存储装置。通信总线103用于实现这些组件之间的连接通信。
本领域技术人员可以理解,图1中示出的结构并不构成对协同签名设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
如图1所示,作为一种计算机可读存储介质的存储器102中可以包括操作***、数据存储模块、网络通信模块、用户接口模块以及协同签名算法的检测程序。
在图1所示的协同签名设备中,处理器101、存储器102可以设置在协同签名设备中,所述协同签名设备通过处理器101调用存储器102中存储的协同签名算法的检测程序,并执行以下操作:
获取并保存协作方发送的协作方公钥,并调用随机数生成算法生成随机数;
在进入协作方检测进程之后,基于所述随机数和协作方公钥,获取第一椭圆曲线点,并基于预设的消息和密码杂凑算法,获取第一消息摘要;
发送所述第一消息摘要和所述第一椭圆曲线点至协作方;
在接收到所述协作方返回的第一签名值之后,基于所述随机数、所述协作方公钥、所述第一签名值以及所述第一消息摘要,获得协同签名值的第一参数;
当所述协同签名值的第一参数与所述第一签名值的第一参数一致时,输出协作方检测通过提示。
在一实施例中,处理器101可以用于调用存储器102中存储的协同签名算法的检测程序,并执行以下操作:
基于所述随机数、所述协作方公钥和所述第一签名值,获得协同椭圆曲线点;
对所述协同椭圆曲线点、所述第一消息摘要与预设基点的阶执行求模运算,获得所述协同签名值的第一参数。
在一实施例中,处理器101可以用于调用存储器102中存储的协同签名算法的检测程序,并执行以下操作:
获取并保存发起方发送的协同公钥,并进入发起方检测进程;
在发起方发送第二消息摘要和第二椭圆曲线点至所述协作方时,获取所述第二消息摘要和所述第二椭圆曲线点;
当所述协作方发送第二签名值至所述发起方时,获取所述第二签名值;
当所述第二签名值的第一参数与所述协同签名值的第一参数一致时,根据所述协同公钥、所述随机数、所述第二签名值和所述协作方公钥获得第一校验值,并根据所述第二椭圆曲线点、第二签名值、协作方公钥和所述协同公钥获得第二校验值;
当所述第一校验值和所述第二校验值一致时,输出发起方检测通过提示。
在一实施例中,处理器101可以用于调用存储器102中存储的协同签名算法的检测程序,并执行以下操作:
根据所述协同公钥、所述随机数、所述第一签名值、所述协作方公钥,获得所述协同签名值的第二参数;
调用预设第一校验值生成算法,并将所述协同签名值的第二参数、所述协同公钥以及预设基点输入至所述预设第一校验值生成算法,获得所述第一校验值。
在一实施例中,处理器101可以用于调用存储器102中存储的协同签名算法的检测程序,并执行以下操作:
在进入协作方检测进程之后,调用椭圆曲线方程验证所述协作方公钥是否满足所述椭圆曲线方程;
若是,执行所述在进入协作方检测进程之后,基于所述随机数和协作方公钥,获取第一椭圆曲线点的步骤;
若否,执行退出协作方检测进程的动作。
在一实施例中,处理器101可以用于调用存储器102中存储的协同签名算法的检测程序,并执行以下操作:
若所述协作方公钥满足所述椭圆曲线方程,检测方发送所述随机数至所述协作方;
所述协作方在接收到所述随机数之后,调用协作方私钥对所述随机数执行签名操作,生成签名结果,并将所述签名结果返回至所述检测方;
所述检测方在接收到所述协作方发送的签名结果之后,调用所述协作方公钥对所述签名结果执行验签操作;
当所述签名结果验签成功时,输出协作方合法的提示;
当所述签名结果验签失败时,输出协作方非法的提示,并执行所述退出协作方检测进程的动作。
在一实施例中,处理器101可以用于调用存储器102中存储的协同签名算法的检测程序,并执行以下操作:
在接收到发起方发送的协同密钥对生成请求之后,基于随机数生成算法,获得协作方私钥;
调用预设协作方公钥生成算法,基于所述协作方私钥和预设基点,生成协作方公钥;
发送所述协作方公钥至检测方以及所述发起方;
在接收到所述检测方发送的第一消息摘要和第一椭圆曲线点时,基于所述随机数生成算法,生成加密随机数;
基于所述加密随机数以及所述协作方私钥,对所述第一消息摘要和第一椭圆曲线点执行协同签名操作,生成第一签名值,并发送所述第一签名值至所述检测方。
在一实施例中,处理器101可以用于调用存储器102中存储的协同签名算法的检测程序,并执行以下操作:
在发送协同密钥对生成请求至协作方之后,接收协作方发送的协作方公钥,并调用椭圆曲线方程验证所述协作方公钥是否满足所述椭圆曲线方程;
当所述协作方公钥满足所述椭圆曲线方程时,调用随机数生成算法生成发起方私钥;
调用预设发起方公钥生成算法,基于所述发起方私钥和预设基点,生成发起方公钥;
调用预设协同公钥生成算法,基于所述发起方私钥、所述协作方公钥以及所述预设基点,生成协同公钥;
发送所述协同公钥和所述发起方公钥至所述协作方和检测方。
基于上述协同签名设备的硬件架构,提出本发明协同签名算法的检测方法的实施例。
需要说明的是,协同签名是一种多方参与的数字签名机制,允许多个参与者在同一签名过程中共同使用各自的私钥进行签名,并通过协商或者共享签名结果来生成最终的签名。协同签名通常分为三个阶段,即协商阶段、签名阶段和验证阶段。协商阶段指的是参与方之间共享各自公钥,以便其他参与方可以验证各自的签名;签名阶段指的是每个参与方使用自己的私钥对数据进行签名,并将签名结果与其他参与方进行共享,每个参与方可以验证其他参与方的签名,并将其他参与方的签名结果与自己的签名结果结合或者合并;验证阶段指的是最终的签名结果可以由任一方通过共享的公钥进行验证,如果验证成功,则表示该签名是有效且可信的。
需要说明的是,本发明的实施例中,检测方对协作方和发起方的检测,是经过协作方和发起方的许可的。
参照图2,在第一实施例中,所述协同签名算法的检测方法应用于检测方,所述协同签名算法的检测方法包括以下步骤:
步骤S100:获取并保存协作方发送的协作方公钥,并调用随机数生成算法生成随机数。
在本实施例中,检测方在开始对协作方进行检测之前,需要先获取协作方公钥。具体地,这里的协作方公钥由协作方生成并发送给检测方。
可选地,这里的随机数大于等于1,小于等于预设的椭圆曲线的基点的阶减一。可以表示为。这里的/>表示随机数,n表示预设的椭圆曲线的基点的阶。
步骤S200:在进入协作方检测进程之后,基于所述随机数和协作方公钥,获取第一椭圆曲线点,并基于预设的消息和密码杂凑算法,获取第一消息摘要。
在本实施例中,检测方在生成随机数之后,检测方在进入协作方检测进程时,调用第一椭圆曲线点生成函数,然后将生成的随机数和预存的协作方公钥输入至第一椭圆曲线点生成函数,以得到第一椭圆曲线点。可选地,这里的第一椭圆曲线点生成函数可以用公式表示为,这里的/>表示第一椭圆曲线点,/>表示随机数,/>表示协作方公钥。需要说明的是,协作方检测进程,指的是检测协作方是否参与协同签名的进程。
调用密码杂凑算法,将预设的消息输入至密码杂凑算法,以得到第一消息摘要。可选地,基于预设的消息和密码杂凑算法,获取第一消息摘要,可以表示为,这里的e表示第一消息摘要,/>( )表示消息摘要长度为v比特的密码杂凑算法,M表示预设的消息。
步骤S300:发送所述第一消息摘要和所述第一椭圆曲线点至协作方。
在本实施例中,检测方在进入协作方检测进程之后,模拟发起方向协作方发送第一消息摘要和第一椭圆曲线点。
步骤S400:在接收到所述协作方返回的第一签名值之后,基于所述随机数、所述协作方公钥、所述第一签名值以及所述第一消息摘要,获得协同签名值的第一参数。
在协同签名中,消息的协同签名值的第一参数是由协作方提供给测评方的,第二参数是通过发送方私钥计算获得的,因此测评方无法计算获得协同签名值的第二参数,也就是说,检测方需要实现在协同签名值的第二参数未知的情况下,验证协作方是否参与了协同签名。
在本实施例中,检测方在模拟发起方向协作方发送第一消息摘要和第一椭圆曲线点之后,接收协作方返回的第一签名值。然后通过对签名值进行验证,以确定协作方是否参与了协同签名。需要说明的是,通过验证第一签名值的第一参数是否与协同签名值的第一参数一致,来确定协作方是否参与了协同签名。其中,可以基于随机数、协作方公钥、第一签名值以及第一消息摘要,获得协同签名值的第一参数。
作为一种可选的实施方式,基于所述随机数、所述协作方公钥和所述第一签名值,获得协同椭圆曲线点;然后对所述协同椭圆曲线点、所述第一消息摘要与预设基点的阶执行求模运算,获得所述协同签名值的第一参数。
具体地,调用协同椭圆曲线点生成函数,将随机数、协作方公钥和第一签名值输入至协同椭圆曲线点生成函数,以获得协同椭圆曲线点。可选地,这里的协同椭圆曲线点生成函数可以表示为,这里的/>表示协同椭圆曲线点,/>表示随机数,r表示第一签名值的第一参数,/>表示第一签名值的第二参数,/>表示协作方公钥,G表示预设的椭圆曲线的基点。
在获得协同椭圆曲线点之后,对协同椭圆曲线点的第一参数与第一消息摘要执行求和动作,得到协同椭圆曲线点的第一参数与第一消息摘要执行的和,再将协同椭圆曲线点的第一参数与第一消息摘要执行的和除以预设基点的阶,得到的余数即为协同签名值的第一参数,可以用公式表示为:,这里的r’表示协同签名值的第一参数,/>表示协同椭圆曲线点的第一参数,n表示预设基点的阶,即预设的椭圆曲线的基点的阶;这里的mod表示取模运算符,为数学运算符号。
这样做的目的是为了实现在协同签名值的第二参数未知的情况下,利用随机数、协作方公钥、第一签名值以及第一消息摘要,获得协同签名值的第一参数,进而实现通过验证协同签名值的第一参数与第一签名值的第一参数是否一致,来验证协作方是否参与了协同签名。
步骤S500:当所述协同签名值的第一参数与所述第一签名值的第一参数一致时,输出协作方检测通过提示。
在本实施例中,在获得协同签名值的第一参数之后,验证协同签名值的第一参数是否与第一签名值的第一参数一致,若一致,则意味着协作方参与了协同签名;若不一致,则意味着协作方未参与协同签名。需要说明的是,在本实施例的协同签名中,协作方若参与了协同签名,协作方执行协同签名操作之后生成的签名值的第一参数,应当与协同签名值的第一参数一致。
在协同签名值的第一参数与第一签名值的第一参数一致时,输出协作方检测通过提示;在协同签名值的第一参数与第一签名值的第一参数不一致时,输出协作方检测未通过提示。
进一步地,在协作方通过检测之后,检测方从发起方获取并保存协同公钥。然后,进入发起方检测进程。需要说明的是,这里的协同公钥是由发起方生成并发送的。这里的发起方检测进程,指的是检测发起方是否采用协同签名机制进行签名的进程。
可选地,检测方在进入发起方检测进程之后,检测发起方是否向协作方发送第二消息摘要和第二椭圆曲线点。在检测到发起方发送第二消息摘要和第二椭圆曲线点至所述协作方时,获取所述第二消息摘要和所述第二椭圆曲线点。这里的第二消息摘要和第二椭圆曲线点,即发起方要求协作方进行协同签名操作的数据。
然后,检测方检测协作方是否向发起方发送第二签名值。在检测到协作方发送第二签名值至所述发起方时,获取所述第二签名值。这里的第二签名值指的是协作方对第二消息摘要和第二椭圆曲线点执行协同签名操作之后,生成的签名结果。
检测方在获取到协作方发送的第二签名值之后,验证第二签名值的第一参数是否与协同签名值的第一参数一致,若一致,则通过第二签名值的第二参数与协同签名值的第二参数之间的关系,验证发起方是否采用协同签名机制进行签名。若不一致,则退出发起方检测进程。
具体地,当所述第二签名值的第一参数与所述协同签名值的第一参数一致时,根据所述协同公钥、所述随机数、所述第二签名值和所述协作方公钥获得第一校验值,并根据所述第二椭圆曲线点、第二签名值、协作方公钥和所述协同公钥获得第二校验值。需要说明的是,这里的第一校验值受协同签名值的第二参数的影响,这里的第二校验值受第二签名值的第二参数的影响,因此可以通过第一校验值与第二校验值之间的关系来确定协同签名值的第二参数与第二签名值的第二参数之间的关系,进而确定发起方是否采用协同签名机制进行签名。
在检测方获得第一校验值和第二校验值之后,通过验证第一校验值与第二校验值是否一致,来确定发起方是否采用协同签名机制进行签名。当所述第一校验值和所述第二校验值一致时,输出发起方检测通过提示;当所述第一校验值和所述第二校验值不一致时,输出发起方检测未通过提示。可以理解的,当发起方采用协同签名机制进行签名时,第二签名值的第二参数与协同签名值的第二参数之间的关系是一定的,因此,通过验证第一校验值与第二校验值的一致性,可以验证发起方是否采用协同签名机制进行签名。这样做的目的是为了基于第二签名值的第二参数与协同签名值的第二参数之间关系的不变性,实现对发起方是否采用协同签名机制进行签名进行检测。
作为一种可选的实施方式,先调用协同签名值的第二参数变形算法,根据所述协同公钥、所述随机数、所述第二签名值、所述协作方公钥,获得所述协同签名值的第二参数;然后,调用预设第一校验值生成算法,并将所述协同签名值的第二参数、所述协同公钥以及预设基点输入至所述预设第一校验值生成算法,获得所述第一校验值。需要说明的是,由于协同签名值的第二参数对检测方来说是未知的,因此通过对协同签名值的第二参数进行变形,来获得协同签名值的第二参数,具体地,协同签名值的第二参数变形算法用公式表示为,这里的s表示协同签名值的第二参数,/>表示随机数,r表示第二签名值的第一参数,/>表示第二签名值的第二参数,/>表示协作方公钥,/>表示协同公钥,G表示预设基点,即预设的椭圆曲线的基点。预设第一校验值生成算法用公式表示为/>,这里的W表示第一校验值。
对于第二校验值,可以将第二椭圆曲线点、第二签名值、协作方公钥和协同公钥输入至预设第二校验值生成算法,以获得第二校验值。其中,预设第二校验值生成算法可以用公式表示为,这里的W’表示第二校验值。
进一步地,检测方在进入协作方检测进程之后,调用椭圆曲线方程验证所述协作方公钥是否满足所述椭圆曲线方程。若是,执行所述基于所述随机数和协作方公钥,获取第一椭圆曲线点的步骤;若否,执行退出协作方检测进程的动作。
椭圆曲线方程在协同签名算法中用于计算签名值和验证签名的有效性。若协作方公钥不满足椭圆曲线方程,将导致协同签名算法的不可预测性和不可靠性,从而影响检测信任度。因此,在进入协作方检测进程的时候,通过验证协作方公钥是否满足椭圆曲线方程,以确保协作方检测的正确性和可靠性。
进一步地,在确定协作方公钥满足椭圆曲线方程之后,检测方发送所述随机数至所述协作方。所述协作方在接收到所述随机数之后,调用协作方私钥对所述随机数执行签名操作,生成签名结果,并将所述签名结果返回至所述检测方。所述检测方在接收到所述协作方发送的签名结果之后,调用所述协作方公钥对所述签名结果执行验签操作。当所述签名结果验签成功时,输出协作方合法的提示;当所述签名结果验签失败时,输出协作方非法的提示,并执行所述退出协作方检测进程的动作。
在收到协作方发送的签名结果后,通过使用协作方公钥对签名结果进行验签操作,以验证签名的有效性。如果验签成功,说明签名结果是由对应的私钥生成的,表示协作方可以被信任。相反,如果验签失败,说明签名结果无效,表明协作方无法被信任,进而退出协作方检测进程。通过发送随机数并由协作方使用其私钥进行签名操作,以验证协作方确实拥有对应的私钥,并且可以正确地对随机数进行签名。进而验证协作方的合法性,确保检测的协作方是具备协同签名权限的协作方。
在本实施例提供的技术方案中,在检测方通过基于生成的随机数和保存的协作方公钥,获取第一椭圆曲线点,并基于预设的消息和密码杂凑算法,获取第一消息摘要;以及将第一消息摘要和第一椭圆曲线点发送至协作方;然后在接收到所述协作方返回的第一签名值之后,基于随机数、协作方公钥、第一签名值和第一消息摘要,获得协同签名值的第一参数;然后在协同签名值的第一参数与所述第一签名值的第一参数一致时,输出协作方检测通过提示。实现在协同签名值的第二参数未知的情况下,验证协作方是否参与了协同签名。进而实现对协同签名机制的防护效果进行检测,确保协同签名机制达到防护要求,提高被保护的***的安全性。在协作方检测通过之后,通过根据协同公钥、随机数、第二签名值和协作方公钥获得第一校验值,并根据第二椭圆曲线点、第二签名值、协作方公钥和协同公钥获得第二校验值,然后通过验证第一校验值与第二校验值是否一致,来确定发起方是否采用协同签名机制进行签名,这样可以基于第二签名值的第二参数与协同签名值的第二参数之间关系的不变性,实现对发起方是否采用协同签名机制进行签名进行检测。
参照图3,基于上述实施例,在第二实施例中,所述协同签名算法的检测方法应用于协作方,所述协同签名算法的检测方法包括以下步骤:
步骤S610:在接收到发起方发送的协同密钥对生成请求之后,基于随机数生成算法,获得协作方私钥;
步骤S620:调用预设协作方公钥生成算法,基于所述协作方私钥和预设基点,生成协作方公钥;
步骤S630:发送所述协作方公钥至检测方以及所述发起方;
步骤S640:在接收到所述检测方发送的第一消息摘要和第一椭圆曲线点时,基于所述随机数生成算法,生成加密随机数;
步骤S650:基于所述加密随机数以及所述协作方私钥,对所述第一消息摘要和第一椭圆曲线点执行协同签名操作,生成第一签名值,并发送所述第一签名值至所述检测方。
在本实施例中,协作方在接收到发起方发送的协同密钥对生成请求之后,基于随机数生成算法生成一个随机数,并将该随机数作为协作方私钥。可选地,该随机数大于等于1,小于等于预设的椭圆曲线的基点的阶减一。可以表示为。这里的/>表示随机数,n表示预设的椭圆曲线的基点的阶。/>
协作方在获得协作方私钥之后,调用预设协作方公钥生成算法,将协作方私钥和预设基点作为预设协作方公钥生成算法的输入参数输入至预设协作方公钥生成算法,获得协作方公钥。用公式表示为,这里的/>表示协作方公钥,G表示预设基点,即预设的椭圆曲线的基点。协作方在获得协作方私钥之后,将协作方公钥发送至检测方以及所述发起方,并将协作方公钥进行保存。
当接收到检测方发送的第一消息摘要和第一椭圆曲线点时,调用随机数生成算法生成加密随机数,然后,基于加密随机数以及协作方私钥,对第一消息摘要和第一椭圆曲线点执行协同签名操作,生成第一签名值,并发送该第一签名值至检测方。
进一步地,当协作方接收到检测方发送的随机数之后,调用协作方私钥对该随机数执行签名操作生成签名结果,然后将签名结果返回至检测方,以证明自身拥有与检测方保存的协作方公钥对应的协作方私钥。
进一步地,当协作方接收到发起方发送的第二消息摘要和第二椭圆曲线点时,执行调用随机数生成算法生成加密随机数,然后,基于加密随机数以及协作方私钥,对第二消息摘要和第二椭圆曲线点执行协同签名操作,生成第二签名值,并发送该第二签名值至发起方的操作。
在本实施例提供的技术方案中,协作方通过在接收到发起方发送的协同密钥对生成请求之后,生成协作方私钥以及对应的协作方公钥并发送给检测方和发起方,以供检测方检测自身是否参与协同签名,以及供发起方生成协同公钥。通过在接收到所述检测方发送的第一消息摘要和第一椭圆曲线点时,基于加密随机数以及协作方私钥,对第一消息摘要和第一椭圆曲线点执行协同签名操作,生成第一签名值,并发送所述第一签名值至所述检测方,以证明自身参与了协同签名。进而实现检测方可以验证协作方是否参与了协同签名,从而使检测方实现对协同签名机制的防护效果进行检测,确保协同签名机制达到防护要求,提高被保护的***的安全性。
参照图4,基于上述实施例,在第三实施例中,所述协同签名算法的检测方法应用于发起方,所述协同签名算法的检测方法包括以下步骤:
步骤S710:在发送协同密钥对生成请求至协作方之后,接收协作方发送的协作方公钥,并调用椭圆曲线方程验证所述协作方公钥是否满足所述椭圆曲线方程;
步骤S720:当所述协作方公钥满足所述椭圆曲线方程时,调用随机数生成算法生成发起方私钥;
步骤S730:调用预设发起方公钥生成算法,基于所述发起方私钥和预设基点,生成发起方公钥;
步骤S740:调用预设协同公钥生成算法,基于所述发起方私钥、所述协作方公钥以及所述预设基点,生成协同公钥;
步骤S750:发送所述协同公钥和所述发起方公钥至所述协作方和检测方。
在本实施例中,发起方向协作方发送协同密钥对生成请求,然后接收协作方返回的协作方公钥。然后,调用椭圆曲线方程验证所述协作方公钥是否满足所述椭圆曲线方程,以验证协作方发送的协作方公钥是否满足协同签名的要求。若协作方公钥不满足椭圆曲线方程,意味着该协作方公钥不能满足协同签名的要求。可选地,当协作方公钥不满足椭圆曲线方程时,执行发送协同密钥对生成请求至协作方的动作,以请求协作方重新生成并发送符合协同签名要求的协作方公钥。
当协作方公钥满足椭圆曲线方程时,调用随机数生成算法生成发起方私钥。可选地,该发起方私钥大于等于1,小于等于预设的椭圆曲线的基点的阶减一。可以表示为。这里的/>表示随机数,n表示预设的椭圆曲线的基点的阶。
发起方在获得发起方私钥之后,调用预设发起方公钥生成算法,将发起方私钥和预设基点作为预设发起方公钥生成算法的输入参数输入至预设发起方公钥生成算法,获得发起方公钥。用公式表示为,这里的/>表示发起方公钥,G表示预设基点,即预设的椭圆曲线的基点。
发起方在获得发起方私钥之后,调用预设协同公钥生成算法,将发起方私钥、协作方公钥以及预设基点作为预设协同公钥生成算法的输入参数输入至预设协同公钥生成算法,获得协同方公钥。用公式表示为,这里的/>表示协同公钥。
发起方在生成协同公钥之后,将协同公钥发送至检测方,以供检测方检测发起方是否采用协同签名机制进行签名。
在本实施例提供的技术方案中,发起方通过验证接收到的协作方公钥是否满足所述椭圆曲线方程,以确保用于生成协同公钥的协作方公钥符合协同签名的要求。通过发起方私钥、预设基点以及预设发起方公钥生成算法,使生成的发起方公钥符合协同签名的要求。通过发起方私钥、协作方公钥、预设基点以及预设协同公钥生成算法生成协同公钥,并将协同公钥发送至检测方,使检测方实现对发起方是否采用协同签名机制进行签名的检测。
此外,本领域普通技术人员可以理解的是实现上述实施例的方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成。该计算机程序包括程序指令,计算机程序可以存储于一存储介质中,该存储介质为计算机可读存储介质。该程序指令被协同签名设备中的至少一个处理器执行,以实现上述方法的实施例的流程步骤。
因此,本发明还提供一种计算机可读存储介质,所述计算机可读存储介质存储有协同签名算法的检测程序,所述协同签名算法的检测程序被处理器执行时实现如上实施例所述的协同签名算法的检测方法的各个步骤。
其中,所述计算机可读存储介质可以是U盘、移动硬盘、只读存储器(Read-OnlyMemory,ROM)、磁碟或者光盘等各种可以存储程序代码的计算机可读存储介质。
需要说明的是,由于本申请实施例提供的存储介质,为实施本申请实施例的方法所采用的存储介质,故而基于本申请实施例所介绍的方法,本领域所属人员能够了解该存储介质的具体结构及变形,故而在此不再赘述。凡是本申请实施例的方法所采用的存储介质都属于本申请所欲保护的范围。
本领域内的技术人员应明白,本发明的实施例可提供为方法、***或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(***)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
应当注意的是,在权利要求中,不应将位于括号之间的任何参考符号构造成对权利要求的限制。单词“包含”不排除存在未列在权利要求中的部件或步骤。位于部件之前的单词“一”或“一个”不排除存在多个这样的部件。本发明可以借助于包括有若干不同部件的硬件以及借助于适当编程的计算机来实现。在列举了若干装置的单元权利要求中,这些装置中的若干个可以是通过同一个硬件项来具体体现。单词第一、第二以及第三等的使用不表示任何顺序。可将这些单词解释为名称。
尽管已描述了本发明的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例做出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明范围的所有变更和修改。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。
Claims (10)
1.一种协同签名算法的检测方法,其特征在于,应用于检测方,所述协同签名算法的检测方法包括以下步骤:
获取并保存协作方发送的协作方公钥,并调用随机数生成算法生成随机数;
在进入协作方检测进程之后,基于所述随机数和协作方公钥,获取第一椭圆曲线点,并基于预设的消息和密码杂凑算法,获取第一消息摘要;
发送所述第一消息摘要和所述第一椭圆曲线点至协作方;
在接收到所述协作方返回的第一签名值之后,基于所述随机数、所述协作方公钥、所述第一签名值以及所述第一消息摘要,获得协同签名值的第一参数;
当所述协同签名值的第一参数与所述第一签名值的第一参数一致时,输出协作方检测通过提示。
2.如权利要求1所述的协同签名算法的检测方法,其特征在于,所述基于所述随机数、所述协作方公钥、所述第一签名值以及所述第一消息摘要,获得协同签名值的第一参数的步骤包括:
基于所述随机数、所述协作方公钥和所述第一签名值,获得协同椭圆曲线点;
对所述协同椭圆曲线点、所述第一消息摘要与预设基点的阶执行求模运算,获得所述协同签名值的第一参数。
3.如权利要求1所述的协同签名算法的检测方法,其特征在于,所述当所述协同签名值的第一参数与所述第一签名值的第一参数一致时,输出协作方检测通过提示的步骤之后,还包括:
获取并保存发起方发送的协同公钥,并进入发起方检测进程;
在发起方发送第二消息摘要和第二椭圆曲线点至所述协作方时,获取所述第二消息摘要和所述第二椭圆曲线点;
当所述协作方发送第二签名值至所述发起方时,获取所述第二签名值;
当所述第二签名值的第一参数与所述协同签名值的第一参数一致时,根据所述协同公钥、所述随机数、所述第二签名值和所述协作方公钥获得第一校验值,并根据所述第二椭圆曲线点、第二签名值、协作方公钥和所述协同公钥获得第二校验值;
当所述第一校验值和所述第二校验值一致时,输出发起方检测通过提示。
4.如权利要求3所述的协同签名算法的检测方法,其特征在于,所述根据所述协同公钥、所述随机数、所述第一签名值、所述协作方公钥以及所述协同公钥获得第一校验值的步骤包括:
根据所述协同公钥、所述随机数、所述第一签名值、所述协作方公钥,获得所述协同签名值的第二参数;
调用预设第一校验值生成算法,并将所述协同签名值的第二参数、所述协同公钥以及预设基点输入至所述预设第一校验值生成算法,获得所述第一校验值。
5.如权利要求1所述的协同签名算法的检测方法,其特征在于,所述在进入协作方检测进程之后,基于所述随机数和协作方公钥,获取第一椭圆曲线点的步骤包括:
在进入协作方检测进程之后,调用椭圆曲线方程验证所述协作方公钥是否满足所述椭圆曲线方程;
若是,执行所述基于所述随机数和协作方公钥,获取第一椭圆曲线点的步骤;
若否,执行退出协作方检测进程的动作。
6.如权利要求5所述的协同签名算法的检测方法,其特征在于,所述在进入协作方检测进程之后,调用椭圆曲线方程验证所述协作方公钥是否满足所述椭圆曲线方程的步骤之后,还包括:
若所述协作方公钥满足所述椭圆曲线方程,检测方发送所述随机数至所述协作方;
所述协作方在接收到所述随机数之后,调用协作方私钥对所述随机数执行签名操作,生成签名结果,并将所述签名结果返回至所述检测方;
所述检测方在接收到所述协作方发送的签名结果之后,调用所述协作方公钥对所述签名结果执行验签操作;
当所述签名结果验签成功时,输出协作方合法的提示;
当所述签名结果验签失败时,输出协作方非法的提示,并执行所述退出协作方检测进程的动作。
7.一种协同签名算法的检测方法,其特征在于,应用于协作方,所述协同签名算法的检测方法包括以下步骤:
在接收到发起方发送的协同密钥对生成请求之后,基于随机数生成算法,获得协作方私钥;
调用预设协作方公钥生成算法,基于所述协作方私钥和预设基点,生成协作方公钥;
发送所述协作方公钥至检测方以及所述发起方;
在接收到所述检测方发送的第一消息摘要和第一椭圆曲线点时,基于所述随机数生成算法,生成加密随机数;
基于所述加密随机数以及所述协作方私钥,对所述第一消息摘要和第一椭圆曲线点执行协同签名操作,生成第一签名值,并发送所述第一签名值至所述检测方。
8.一种协同签名算法的检测方法,其特征在于,应用于发起方,所述协同签名算法的检测方法包括以下步骤:
在发送协同密钥对生成请求至协作方之后,接收协作方发送的协作方公钥,并调用椭圆曲线方程验证所述协作方公钥是否满足所述椭圆曲线方程;
当所述协作方公钥满足所述椭圆曲线方程时,调用随机数生成算法生成发起方私钥;
调用预设发起方公钥生成算法,基于所述发起方私钥和预设基点,生成发起方公钥;
调用预设协同公钥生成算法,基于所述发起方私钥、所述协作方公钥以及所述预设基点,生成协同公钥;
发送所述协同公钥和所述发起方公钥至所述协作方和检测方。
9.一种协同签名设备,其特征在于,所述协同签名设备包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的协同签名算法的检测程序,所述协同签名算法的检测程序配置为实现如权利要求1至8中任一项所述的协同签名算法的检测方法的步骤。
10.一种可读存储介质,其特征在于,所述可读存储介质上存储有协同签名算法的检测程序,所述协同签名算法的检测程序被处理器执行时实现如权利要求1至8任一项所述的协同签名算法的检测方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202410364222.5A CN117978408B (zh) | 2024-03-28 | 2024-03-28 | 协同签名算法的检测方法、协同签名设备及可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202410364222.5A CN117978408B (zh) | 2024-03-28 | 2024-03-28 | 协同签名算法的检测方法、协同签名设备及可读存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN117978408A true CN117978408A (zh) | 2024-05-03 |
CN117978408B CN117978408B (zh) | 2024-06-25 |
Family
ID=90849809
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202410364222.5A Active CN117978408B (zh) | 2024-03-28 | 2024-03-28 | 协同签名算法的检测方法、协同签名设备及可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117978408B (zh) |
Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109274503A (zh) * | 2018-11-05 | 2019-01-25 | 北京仁信证科技有限公司 | 分布式协同签名方法及分布式协同签名装置、软盾*** |
CN109309569A (zh) * | 2018-09-29 | 2019-02-05 | 北京信安世纪科技股份有限公司 | 基于sm2算法的协同签名的方法、装置及存储介质 |
CN110365487A (zh) * | 2019-07-19 | 2019-10-22 | 北京向芯力科技有限公司 | 一种基于sm2算法的协同签名方法与装置 |
CN112422288A (zh) * | 2020-10-26 | 2021-02-26 | 中国科学院大学 | 一种抗能量分析攻击的基于sm2算法的两方协同签名方法 |
CN112653554A (zh) * | 2020-12-30 | 2021-04-13 | 成都卫士通信息产业股份有限公司 | 一种签名方法、***、设备及可读存储介质 |
CN114650135A (zh) * | 2022-04-01 | 2022-06-21 | 浙江大学 | 一种软硬件协同的sm2椭圆曲线密码算法实现方法 |
CN115378615A (zh) * | 2022-09-15 | 2022-11-22 | 博雅中科(北京)信息技术有限公司 | 协同签名方法、装置、电子设备及存储介质 |
CN115499126A (zh) * | 2022-04-27 | 2022-12-20 | 河南省核芯微电子科技有限公司 | 基于sm2密钥分散存储的密钥对生成方法、协作签名方法、解密方法、装置和介质 |
CN116017437A (zh) * | 2023-01-06 | 2023-04-25 | 天津光电安辰信息技术股份有限公司 | 一种适用于移动通信的多方协同签名方法及装置 |
CN116346348A (zh) * | 2023-01-12 | 2023-06-27 | 郑州信大捷安信息技术股份有限公司 | 一种基于sm2算法的协同盲签名方法和*** |
-
2024
- 2024-03-28 CN CN202410364222.5A patent/CN117978408B/zh active Active
Patent Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109309569A (zh) * | 2018-09-29 | 2019-02-05 | 北京信安世纪科技股份有限公司 | 基于sm2算法的协同签名的方法、装置及存储介质 |
CN109274503A (zh) * | 2018-11-05 | 2019-01-25 | 北京仁信证科技有限公司 | 分布式协同签名方法及分布式协同签名装置、软盾*** |
CN110365487A (zh) * | 2019-07-19 | 2019-10-22 | 北京向芯力科技有限公司 | 一种基于sm2算法的协同签名方法与装置 |
CN112422288A (zh) * | 2020-10-26 | 2021-02-26 | 中国科学院大学 | 一种抗能量分析攻击的基于sm2算法的两方协同签名方法 |
CN112653554A (zh) * | 2020-12-30 | 2021-04-13 | 成都卫士通信息产业股份有限公司 | 一种签名方法、***、设备及可读存储介质 |
CN114650135A (zh) * | 2022-04-01 | 2022-06-21 | 浙江大学 | 一种软硬件协同的sm2椭圆曲线密码算法实现方法 |
CN115499126A (zh) * | 2022-04-27 | 2022-12-20 | 河南省核芯微电子科技有限公司 | 基于sm2密钥分散存储的密钥对生成方法、协作签名方法、解密方法、装置和介质 |
CN115378615A (zh) * | 2022-09-15 | 2022-11-22 | 博雅中科(北京)信息技术有限公司 | 协同签名方法、装置、电子设备及存储介质 |
CN116017437A (zh) * | 2023-01-06 | 2023-04-25 | 天津光电安辰信息技术股份有限公司 | 一种适用于移动通信的多方协同签名方法及装置 |
CN116346348A (zh) * | 2023-01-12 | 2023-06-27 | 郑州信大捷安信息技术股份有限公司 | 一种基于sm2算法的协同盲签名方法和*** |
Also Published As
Publication number | Publication date |
---|---|
CN117978408B (zh) | 2024-06-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109309569B (zh) | 基于sm2算法的协同签名的方法、装置及存储介质 | |
JP5497677B2 (ja) | 公開鍵を検証可能に生成する方法及び装置 | |
CN111628868A (zh) | 数字签名生成方法、装置、计算机设备和存储介质 | |
CN107248909A (zh) | 一种基于sm2算法的无证书安全签名方法 | |
JP2018093434A (ja) | トランザクション管理方法、トランザクション管理プログラム及びトランザクション管理装置 | |
CN113743939A (zh) | 基于区块链的身份认证方法、装置及*** | |
CN115208586B (zh) | 一种基于秘密分享的数字签名方法及*** | |
CN112632630A (zh) | 一种基于sm2的协同签名计算方法及装置 | |
CN111630810A (zh) | 密钥交换装置、密钥交换***、密钥交换方法及密钥交换程序 | |
CN111342955A (zh) | 一种通信方法及其设备、计算机存储介质 | |
CN113779606A (zh) | 一种降低隐私泄露风险的信息校验方法及*** | |
CN112653554A (zh) | 一种签名方法、***、设备及可读存储介质 | |
CN112241527A (zh) | 密钥生成方法、***及电子设备 | |
CN114070556A (zh) | 一种门限环签名方法、装置、电子设备及可读存储介质 | |
CN116455580A (zh) | 消息签名方法、装置、设备及可读存储介质 | |
CN117436043A (zh) | 待执行文件的来源验证方法、设备以及可读存储介质 | |
CN111401888B (zh) | 一种生成多重签名钱包的方法及装置 | |
CN111245594B (zh) | 一种基于同态运算的协同签名方法及*** | |
CN112364335B (zh) | 标识身份鉴别方法、装置及电子设备和存储介质 | |
CN111565108B (zh) | 签名处理方法、装置及*** | |
CN111600703B (zh) | 基于sm2的签名方法、***、电子设备及存储介质 | |
CN116170144B (zh) | 智能电网匿名认证方法、电子设备及存储介质 | |
CN112541759A (zh) | 区块链***中基于utxo模型的隐藏交易方法、装置及相关产品 | |
CN111262707B (zh) | 数字签名方法及验证方法、设备、存储介质 | |
CN112948789A (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 |