掌桥专利:专业的专利平台
掌桥专利
首页

技术领域

本发明涉及数据通信技术领域,特别涉及一种数字签名的非交互式传输方法、装置、设备及介质。

背景技术

现有技术中,通过门限方式实现数字签名在电子商务中得到比较普遍的应用,门限的方案也各式各样,但在实际使用中,存在泄露风险或者门限方案构造复杂等问题,并且通过门限方式实现数字签名过程中,还存在计算流程复杂,导致运算效率较低的问题。

由上可见,如何实现数字签名的非交互式传输,从而避免出现数字签名泄漏的风险,降低非交互式传输过程中的计算复杂性,提高运算效率和数字签名传输效率是本领域有待解决的问题。

发明内容

有鉴于此,本发明的目的在于提供一种数字签名的非交互式传输方法、装置、设备及介质,能够实现数字签名的非交互式传输,从而避免出现数字签名泄漏的风险,降低非交互式传输过程中的计算复杂性,提高运算效率和数字签名传输效率。其具体方案如下:

第一方面,本申请公开了一种数字签名的非交互式传输方法,包括:

采用施诺尔签名算法对本地的随机多项式进行计算,以得到组私钥和组随机数;

对所述组私钥和所述组随机数进行分片,得到组私钥分片和组随机数分片;

将所述组私钥分片和所述组随机数分片发送至本地的各计算节点,以便所述计算节点基于预设的共享密钥并利用所述组私钥分片和所述组随机数分片进行签名计算和门限聚合,得到目标签名,以实现数字签名的非交互式传输。

可选的,所述采用施诺尔签名算法对本地的随机多项式进行计算,以得到组私钥和组随机数,包括:

利用本地的多项式节点生成各随机多项式,以便各所述多项式节点采用施诺尔签名算法对相应的所述随机多项式进行组私钥计算,以得到各组私钥,并对所述随机多项式进行组随机数计算,以得到各组随机数。

可选的,所述将所述组私钥分片和所述组随机数分片发送至本地的各计算节点,包括:

获取待签名数据;

将所述待签名数据、所述组私钥分片以及所述组随机数分片发送至本地的各计算节点。

可选的,所述将所述组私钥分片和所述组随机数分片发送至本地的各计算节点,以便所述计算节点基于预设的共享密钥并利用所述组私钥分片和所述组随机数分片进行签名计算和门限聚合,包括:

将所述待签名数据、所述组私钥分片以及所述组随机数分片发送至本地的各计算节点,以便所述计算节点基于所述共享密钥并利用所述组私钥分片和所述组随机数分片对所述待签名数据进行签名计算和门限聚合。

可选的,所述基于预设的共享密钥并利用所述组私钥分片和所述组随机数分片进行签名计算和门限聚合,得到目标签名,包括:

基于所述共享密钥并利用所述组私钥分片和所述组随机数分片对所述待签名数据进行签名计算,以得到各签名数据;

对各所述签名数据中的签名进行门限聚合,以得到目标签名。

可选的,所述基于所述共享密钥并利用所述组私钥分片和所述组随机数分片对所述待签名数据进行签名计算,以得到各签名数据,包括:

采用密钥派生算法,基于所述共享密钥并利用所述组私钥分片和所述组随机数分片对所述待签名数据进行签名计算,以得到各所述签名数据。

可选的,所述得到目标签名之后,还包括:

采用施诺尔签名算法对组私钥进行公钥计算,以得到组公钥;

利用所述组公钥对所述目标签名进行验证。

第二方面,本申请公开了一种数字签名的非交互式传输装置,包括:

计算模块,用于采用施诺尔签名算法对本地的随机多项式进行计算,以得到组私钥和组随机数;

分片模块,用于对所述组私钥和所述组随机数进行分片,得到组私钥分片和组随机数分片;

数字签名传输模块,用于将所述组私钥分片和所述组随机数分片发送至本地的各计算节点,以便所述计算节点基于预设的共享密钥并利用所述组私钥分片和所述组随机数分片进行签名计算和门限聚合,得到目标签名,以实现数字签名的非交互式传输。

第三方面,本申请公开了一种电子设备,包括:

存储器,用于保存计算机程序;

处理器,用于执行所述计算机程序,以实现前述的数字签名的非交互式传输方法。

第四方面,本申请公开了一种计算机存储介质,用于保存计算机程序;其中,所述计算机程序被处理器执行时实现前述公开的数字签名的非交互式传输方法的步骤。

可见,本申请提供了一种数字签名的非交互式传输方法,包括采用施诺尔签名算法对本地的随机多项式进行计算,以得到组私钥和组随机数;对所述组私钥和所述组随机数进行分片,得到组私钥分片和组随机数分片;将所述组私钥分片和所述组随机数分片发送至本地的各计算节点,以便所述计算节点基于预设的共享密钥并利用所述组私钥分片和所述组随机数分片进行签名计算和门限聚合,得到目标签名,以实现数字签名的非交互式传输。本申请提出了采用施诺尔签名算法实现数字签名的非交互式传输,通过对随机多项式的计算得到组私钥和组随机数,将组私钥和组随机数进行分片并发送至各计算节点,计算节点基于共享密钥进行签名计算和门限聚合,得到最终的目标签名,实现数字签名的非交互式传输,从而避免出现数字签名泄漏的风险,通过引入共享密钥,实现非交互的签名计算和门限聚合,提升数字签名传输的效率,降低非交互式传输过程中的计算复杂性,提高运算效率。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。

图1为本申请公开的一种数字签名的非交互式传输流程图;

图2为本申请公开的另一种数字签名的非交互式传输流程图;

图3为本申请公开的一种数字签名的非交互式传输装置结构示意图;

图4为本申请提供的一种电子设备结构图。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

现有技术中,通过门限方式实现数字签名在电子商务中得到比较普遍的应用,门限的方案也各式各样,但在实际使用中,存在泄露风险或者门限方案构造复杂等问题,并且通过门限方式实现数字签名过程中,还存在计算流程复杂,导致运算效率较低的问题。由上可见,如何实现数字签名的非交互式传输,从而避免出现数字签名泄漏的风险,降低非交互式传输过程中的计算复杂性,提高运算效率和数字签名传输效率是本领域有待解决的问题。

参见图1所示,本发明实施例公开了一种数字签名的非交互式传输方法,具体可以包括:

步骤S11:采用施诺尔签名算法对本地的随机多项式进行计算,以得到组私钥和组随机数。

本实施例中,利用本地的多项式节点生成各随机多项式,以便各所述多项式节点采用施诺尔签名算法对相应的所述随机多项式进行组私钥计算,以得到各组私钥,并对所述随机多项式进行组随机数计算,以得到各组随机数。

步骤S12:对所述组私钥和所述组随机数进行分片,得到组私钥分片和组随机数分片。

具体的,利用多项式节点P

步骤S13:将所述组私钥分片和所述组随机数分片发送至本地的各计算节点,以便所述计算节点基于预设的共享密钥并利用所述组私钥分片和所述组随机数分片进行签名计算和门限聚合,得到目标签名,以实现数字签名的非交互式传输。

本实施例中,获取待签名数据,将所述待签名数据、所述组私钥分片以及所述组随机数分片发送至本地的各计算节点,以便所述计算节点基于预设的共享密钥并利用所述组私钥分片和所述组随机数分片进行签名计算和门限聚合,得到目标签名。

本申请计算节点中的共享密钥Key会定期进行更新。

具体的,在获取到待签名数据M之后,将待签名数据、组私钥分片以及组随机数分片发送至本地的各计算节点,计算节点进行签名计算和门限聚合,具体进行签名公式为:S

其中,t为各节点间共享密钥的派生。派生算法包含但不限于:

t=Hash(待签名数据M||Key);

e=Hash(R

门限聚合签名:S=∑S

其中,i是从1到k;Δ

本实施例中,采用施诺尔签名算法对本地的随机多项式进行计算,以得到组私钥和组随机数;对所述组私钥和所述组随机数进行分片,得到组私钥分片和组随机数分片;将所述组私钥分片和所述组随机数分片发送至本地的各计算节点,以便所述计算节点基于预设的共享密钥并利用所述组私钥分片和所述组随机数分片进行签名计算和门限聚合,得到目标签名,以实现数字签名的非交互式传输。本申请提出了采用施诺尔签名算法实现数字签名的非交互式传输,通过对随机多项式的计算得到组私钥和组随机数,将组私钥和组随机数进行分片并发送至各计算节点,计算节点基于共享密钥进行签名计算和门限聚合,得到最终的目标签名,实现数字签名的非交互式传输,从而避免出现数字签名泄漏的风险,通过引入共享密钥,实现非交互的签名计算和门限聚合,提升数字签名传输的效率,降低非交互式传输过程中的计算复杂性,提高运算效率。

参见图2所示,本发明实施例公开了一种数字签名的非交互式传输方法,具体可以包括:

步骤S21:采用施诺尔签名算法对本地的随机多项式进行计算,以得到组私钥和组随机数。

步骤S22:对所述组私钥和所述组随机数进行分片,得到组私钥分片和组随机数分片。

步骤S23:将待签名数据、所述组私钥分片以及所述组随机数分片发送至本地的各计算节点,以便所述计算节点基于所述共享密钥并利用所述组私钥分片和所述组随机数分片对所述待签名数据进行签名计算,以得到各签名数据,对各所述签名数据中的签名进行门限聚合,以得到目标签名。

本实施例中,以便所述计算节点采用密钥派生算法,基于所述共享密钥并利用所述组私钥分片和所述组随机数分片对所述待签名数据进行签名计算,以得到各所述签名数据,然后采用施诺尔签名算法对组私钥进行公钥计算,以得到组公钥;利用所述组公钥对所述目标签名进行验证。

具体的验证过程为:采用Schnorr(施诺尔签名)算法对组私钥进行公钥计算,以得到组公钥,各多项式节点P

计算组公钥为:

组随机数承诺

公开Y和R,最后利用所述组公钥对所述目标签名进行验证。

计算e=Hash(R

验证等式:g

本申请能够抵抗单节点故障导致系统不可用;抵抗中心化被攻击泄露安全风险;并且构造Schnorr的数字签名的非交互式传输算法简洁,运算效率高;引入共享密钥,实现非交互的门限前面,提升签名过程的效率;算法适配性强,支持国密SM2算法,是一种椭圆曲线公钥密码算法。

本实施例中,采用施诺尔签名算法对本地的随机多项式进行计算,以得到组私钥和组随机数;对所述组私钥和所述组随机数进行分片,得到组私钥分片和组随机数分片;将所述组私钥分片和所述组随机数分片发送至本地的各计算节点,以便所述计算节点基于预设的共享密钥并利用所述组私钥分片和所述组随机数分片进行签名计算和门限聚合,得到目标签名,以实现数字签名的非交互式传输。本申请提出了采用施诺尔签名算法实现数字签名的非交互式传输,通过对随机多项式的计算得到组私钥和组随机数,将组私钥和组随机数进行分片并发送至各计算节点,计算节点基于共享密钥进行签名计算和门限聚合,得到最终的目标签名,实现数字签名的非交互式传输,从而避免出现数字签名泄漏的风险,通过引入共享密钥,实现非交互的签名计算和门限聚合,提升数字签名传输的效率,降低非交互式传输过程中的计算复杂性,提高运算效率。

参见图3所示,本发明实施例公开了一种数字签名的非交互式传输装置,具体可以包括:

计算模块11,用于采用施诺尔签名算法对本地的随机多项式进行计算,以得到组私钥和组随机数;

分片模块12,用于对所述组私钥和所述组随机数进行分片,得到组私钥分片和组随机数分片;

数字签名传输模块13,用于将所述组私钥分片和所述组随机数分片发送至本地的各计算节点,以便所述计算节点基于预设的共享密钥并利用所述组私钥分片和所述组随机数分片进行签名计算和门限聚合,得到目标签名,以实现数字签名的非交互式传输。

本实施例中,采用施诺尔签名算法对本地的随机多项式进行计算,以得到组私钥和组随机数;对所述组私钥和所述组随机数进行分片,得到组私钥分片和组随机数分片;将所述组私钥分片和所述组随机数分片发送至本地的各计算节点,以便所述计算节点基于预设的共享密钥并利用所述组私钥分片和所述组随机数分片进行签名计算和门限聚合,得到目标签名,以实现数字签名的非交互式传输。本申请提出了采用施诺尔签名算法实现数字签名的非交互式传输,通过对随机多项式的计算得到组私钥和组随机数,将组私钥和组随机数进行分片并发送至各计算节点,计算节点基于共享密钥进行签名计算和门限聚合,得到最终的目标签名,实现数字签名的非交互式传输,从而避免出现数字签名泄漏的风险,通过引入共享密钥,实现非交互的签名计算和门限聚合,提升数字签名传输的效率,降低非交互式传输过程中的计算复杂性,提高运算效率。

在一些具体实施例中,所述计算模块11,具体可以包括:

计算模块,用于利用本地的多项式节点生成各随机多项式,以便各所述多项式节点采用施诺尔签名算法对相应的所述随机多项式进行组私钥计算,以得到各组私钥,并对所述随机多项式进行组随机数计算,以得到各组随机数。

在一些具体实施例中,所述分片模块12,具体可以包括:

待签名数据获取模块,用于获取待签名数据;

数据及分片发送模块,用于将所述待签名数据、所述组私钥分片以及所述组随机数分片发送至本地的各计算节点。

在一些具体实施例中,所述数字签名传输模块13,具体可以包括:

签名计算及门限聚合模块,用于将所述待签名数据、所述组私钥分片以及所述组随机数分片发送至本地的各计算节点,以便所述计算节点基于所述共享密钥并利用所述组私钥分片和所述组随机数分片对所述待签名数据进行签名计算和门限聚合。

在一些具体实施例中,所述数字签名传输模块13,具体可以包括:

签名计算模块,用于基于所述共享密钥并利用所述组私钥分片和所述组随机数分片对所述待签名数据进行签名计算,以得到各签名数据;

门限聚合模块,用于对各所述签名数据中的签名进行门限聚合,以得到目标签名。

在一些具体实施例中,所述数字签名传输模块13,具体可以包括:

签名计算具体模块,用于采用密钥派生算法,基于所述共享密钥并利用所述组私钥分片和所述组随机数分片对所述待签名数据进行签名计算,以得到各所述签名数据。

在一些具体实施例中,所述数字签名传输模块13具体可以包括:

公钥计算模块,用于采用施诺尔签名算法对组私钥进行公钥计算,以得到组公钥;

验证模块,用于利用所述组公钥对所述目标签名进行验证。

图4为本申请实施例提供的一种电子设备的结构示意图。该电子设备20,具体可以包括:至少一个处理器21、至少一个存储器22、电源23、通信接口24、输入输出接口25和通信总线26。其中,所述存储器22用于存储计算机程序,所述计算机程序由所述处理器21加载并执行,以实现前述任一实施例公开的由电子设备执行的数字签名的非交互式传输方法中的相关步骤。

本实施例中,电源23用于为电子设备20上的各硬件设备提供工作电压;通信接口24能够为电子设备20创建与外界设备之间的数据传输通道,其所遵循的通信协议是能够适用于本申请技术方案的任意通信协议,在此不对其进行具体限定;输入输出接口25,用于获取外界输入数据或向外界输出数据,其具体的接口类型可以根据具体应用需要进行选取,在此不进行具体限定。

另外,存储器22作为资源存储的载体,可以是只读存储器、随机存储器、磁盘或者光盘等,其上所存储的资源包括操作系统221、计算机程序222及数据223等,存储方式可以是短暂存储或者永久存储。

其中,操作系统221用于管理与控制电子设备20上的各硬件设备以及计算机程序222,以实现处理器21对存储器22中数据223的运算与处理,其可以是Windows、Unix、Linux等。计算机程序222除了包括能够用于完成前述任一实施例公开的由电子设备20执行的数字签名的非交互式传输方法的计算机程序之外,还可以进一步包括能够用于完成其他特定工作的计算机程序。数据223除了可以包括数字签名的非交互式传输设备接收到的由外部设备传输进来的数据,也可以包括由自身输入输出接口25采集到的数据等。

结合本文中所公开的实施例描述的方法或算法的步骤可以直接用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(RAM)、内存、只读存储器(ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、CD-ROM、或技术领域内所公知的任意其它形式的存储介质中。

进一步的,本申请实施例还公开了一种计算机可读存储介质,所述存储介质中存储有计算机程序,所述计算机程序被处理器加载并执行时,实现前述任一实施例公开的数字签名的非交互式传输方法步骤。

最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。

以上对本发明所提供的一种数字签名的非交互式传输方法、装置、设备及存储介质进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。

相关技术
  • 基于非授权传输的数据传输方法、装置、设备和存储介质
  • 一种信号传输方法、装置、电子设备以及计算机可读存储介质
  • 一种消息传输方法、装置、设备及介质
  • 一种事务信息的传输方法、系统、装置、计算设备和介质
  • 一种数据传输方法、装置、电子设备及存储介质
  • 数据传输方法、非暂时性存储介质、数据传输设备、光刻装置和制造产品的方法
  • 数据传输方法、非暂时性存储介质、数据传输设备、光刻装置和制造产品的方法
技术分类

06120116493774