首页> 中国专利> 数字签名方法和设备、数字签名中密码运算方法和服务器

数字签名方法和设备、数字签名中密码运算方法和服务器

摘要

本发明提供一种数字签名方法和设备,该方法包括:接收服务器发送的参数(e,Xe),其中,Xe=eG,e为服务器产生的真随机数,G为椭圆曲线密码体制的生成元;根据所述参数(e,Xe)和本地持有的参数(ki-1,Xi-1)获取签名参数(ki,Xi),其中,Xi-1=ki-1G;利用签名参数(ki,Xi)执行数字签名。另外还提供一种数字签名中密码运算方法和服务器,该方法包括:依据设定周期产生真随机数e;计算并存储参数(e,Xe);其中,Xe=eG,G为椭圆曲线密码体制的生成元;将参数(e,Xe)发送至执行签名的用户端;其中,用户端为根据参数(e,Xe)和参数(ki-1,Xi-1)获取签名随机数(ki,Xi)并根据(ki,Xi)执行数字签名的客户端。通过本发明技术,在将数字签名算法的外包处理时,避免了服务网络获得用户的密码运算的隐私泄漏,保证了外包密码运算的隐私性,确保签名的安全。

著录项

  • 公开/公告号CN103475473A

    专利类型发明专利

  • 公开/公告日2013-12-25

    原文格式PDF

  • 申请/专利权人 广东数字证书认证中心有限公司;

    申请/专利号CN201310377462.0

  • 发明设计人 张永强;刘镪;梁文晖;

    申请日2013-08-26

  • 分类号H04L9/32(20060101);

  • 代理机构44224 广州华进联合专利商标代理有限公司;

  • 代理人王茹;崔春

  • 地址 528200 广东省佛山市南海区狮山镇南海软件科技园科教路

  • 入库时间 2024-02-19 22:27:24

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2016-10-05

    授权

    授权

  • 2016-09-28

    著录事项变更 IPC(主分类):H04L9/32 变更前: 变更后: 申请日:20130826

    著录事项变更

  • 2014-01-22

    实质审查的生效 IPC(主分类):H04L9/32 申请日:20130826

    实质审查的生效

  • 2013-12-25

    公开

    公开

说明书

技术领域

本发明涉及密码学技术领域,特别是涉及一种数字签名方法和设备、数字 签名中密码运算方法和服务器。

背景技术

椭圆曲线密码体制(ECC)的基本原理是在一个预先定义的椭圆曲线上面 执行点乘运算其中点G是固定参数,k是随机产生的大数。 为了保证数字签名算法自身的安全性,要求k是真正的物理随机数。点乘运算 Q=kG可以分解为点加、倍点、模乘等基本运算,这些基本运算都建立在有限域 Fp的数学基础上。

有限域Fp上的椭圆曲线方程可以存在多种形式,其中典型的椭圆曲线方程 形如y2=x3+ax+b(4a3+27b210modp),在该椭圆曲线上的所有点及无穷远点∞ 构成椭圆曲线点集E(Fp)={(x,y)|x,y∈Fp,y2=x3+ax+b}∪{∞},椭圆曲线点集E(Fp) 的阶为n=#E(Fp)。在椭圆曲线上定义点加运算,则椭圆曲线点集E(Fp)构成一个 Abel群。在点加运算的基础上,可以导出倍点运算、点乘运算,其中点乘运算 (kG)是椭圆曲线密码体制的核心运算。椭圆曲线上的运算可以采用不同的坐 标系来表达,常用的坐标系是仿射坐标系和Jacobi投影坐标系,以下分别加以 介绍。

仿射坐标系:平面上过一定点O作两条相交的坐标轴x和y,它们的交角是ω。 以定点O作为原点,在每条坐标轴上定义长度单位(分别是OE1、OE2),这样就 在平面上建立了一个仿射坐标系。对于平面上任一点M,过M作两坐标轴的平 行线,与坐标轴分别交于M1、M2,它们在两轴的坐标分别标记为x、y,于是 点M就对应有序数组(x,y)。

Jacobi投影坐标系:Jacobi投影坐标系下的点(X,Y,Z)与仿射坐标系下的点 (x,y)一一对应。给定仿射坐标系下的座标(x,y),转换成Jacobi投影坐标系下的 坐标为(X,Y,Z),其中X=x、Y=y、Z=1;给定Jacobi投影坐标系下的坐标(X,Y,Z), 转换成仿射坐标系下的座标为(x,y),且满足x=X/Z2、y=Y/Z3。同时,仿射坐 标系下的无穷远点∞和Jacobi投影坐标系下的点(1,1,0)对应。

在椭圆曲线上任取两点P(x1,y1)、Q(x2,y2),令O表示无穷远点,定义点加运 算R(xR,yR)=P+Q,其运算规则如下:

(1)P+O=O+P=P;

(2)-P=(x1,-y1),P+(-P)=O;

(3)若Q≠-P,则xR=λ2-x1-x2yR=λ(x1-xR)-y1,

其中,当x1≠x2λ=y2-y1x2-x1,当x1=x2λ=3x12+a2y1.

在椭圆曲线上任取点P(x,y),令O表示无穷远点,定义倍点运算R(xR,yR)=2P。 倍点运算等同于点加运算中P=Q,其运算规则如下:

(1)若y=0,则R=2P=O;

(2)若y≠0,则xR=λ2-2xyR=λ(x-xR)-y,其中λ=3x2+a2y.

上述点加、倍点运算公式均定义在有限域Fp上,其中包含有限域上的加法、 乘法和求逆等运算。在有限域Fp上,加法、乘法均为模p运算,譬如任意x,y∈Fp, 则加法定义为z=(x+y)modp,z∈Fp。所述求逆运算是指给出任意点x∈Fp,找出 另一个点y∈Fp使得条件xy=1满足。在有限域Fp上,求逆运算比乘法运算复杂度 更高,而转换成Jacobi投影坐标则可以避免求逆运算,因此在工程应用中更多 地采用Jacobi投影坐标系。

Jacobi投影坐标系中,在椭圆曲线上任取两点P(X1,Y1,Z1)、Q(X2,Y2,Z2),点 加运算R(X3,Y3,Z3)=P+Q的运算规则为:

X3=(Y2Z13-Y1)2-(X2Z12+X1)(X2Z12-X1)2Y3=(Y2Z13-Y1)[X1(X2Z12-X1)2-X3]-Y1(X2Z12-X1)3Z3=Z1(X2Z12-X1)

Jacobi投影坐标系中,在椭圆曲线上任取点P(X1,Y1,Z1),倍点运算 R(X3,Y3,Z3)=2P的运算规则为:

X3=(3X12+aZ14)2-8X1Y12Y3=(3X12+aZ14)(4X1Y12-X3)-8Y14Z3=2Y1Z1

在上述数学基础上,可以执行点乘运算对于任意整数 k=(kt-1,…,k1,k0)2,G∈E(Fp),令O表示无穷远点,kG按以下步骤计算:

(1)Q←O;

(2)Forifrom0tot-1do

a)Ifki=1thenQ←Q+G

b)G←2G

(3)输出Q。

可以看出,利用点加、倍点运算即可完成点乘运算Q=kG。

基于点乘运算,可以构建椭圆曲线密码体制(ECC)的其他算法及协议, 譬如数字签名的产生及其验证算法(ECDSA、SM2等)。数字签名算法具有很 多实际用途,可以在通信协议中表明用户的身份,也可以用在X.509数字证书 中用来证实该证书是有特定数字认证机构(CA)所签发。

在主流的数字签名算法(如DSA、ECDSA等)中,签名输出结果与用户私 钥具有线性关系。要保证数字签名算法的安全性,必须满足两个基本条件:

(1)保护用于签名的私钥d;

(2)保证参数k是真随机数,并且不被泄露。

其中,随机数k与私钥d有同样的保密要求,因为攻击者获知了随机数k, 则可以反过来计算出私钥d。如果泄露私钥及相关参数,会给用户带来不可估量 的损失,因此必须确保随机数k安全地产生、存储、销毁。

由于数字签名的复杂度高,对于本身不具备大规模运算能力的节点(如某 些嵌入式设备),则可能需要将数字签名算法的执行过程外包给所连接的服务网 络。但将密码学运算进行外包时,则可能会导致服务网络获得用户的密码运算 的隐私泄露,难以保证运算的隐私性,无法确保签名的安全。

发明内容

基于此,有必要针对现有技术将公钥密码体制中的密码学运算进行外包时, 难以保证运算的隐私性的问题,提供一种数字签名方法和设备。

一种数字签名方法,包括如下步骤:

接收服务器发送的参数(e,Xe),其中,Xe=eG,所述e为服务器产生的真随 机数,G为椭圆曲线密码体制的生成元;

根据所述参数(e,Xe)和本地持有的参数(ki-1,Xi-1)获取签名参数(ki,Xi),其中, ki-1为随机数,Xi-1=ki-1G;

利用所述签名参数(ki,Xi)执行数字签名。

一种数字签名设备,包括:

参数接收模块,用于接收服务器发送的参数(e,Xe),其中,Xe=eG,所述e为 服务器产生的真随机数,G为椭圆曲线密码体制的生成元;

签名参数获取模块,用于根据所述参数(e,Xe)和本地持有的参数(ki-1,Xi-1)获 取签名参数(ki,Xi),其中,ki-1为随机数,Xi-1=ki-1G;

数字签名模块,用于利用所述签名参数(ki,Xi)执行数字签名。

上述数字签名方法和设备,由执行数字签名的用户端本地和执行外包的运 算服务器共同导出随机数,密码学运算部分同时外包给服务器来完成,在用户 端根据共同导出的随机数获取签名参数并完成数字签名过程,在将数字签名算 法的外包处理时,避免了服务网络获得用户的密码运算的隐私泄漏,保证了外 包密码运算的隐私性,确保签名的安全。

另外,有必要针对上述导致数字签名的成本较高、大量用户并发执行签名 运算时处理能力差的问题,提供一种数字签名中密码运算方法和服务器。

一种数字签名中密码运算方法,包括如下步骤:

依据设定周期产生真随机数e;

计算并存储参数(e,Xe);其中,Xe=eG,G为椭圆曲线密码体制的生成元;

将所述参数(e,Xe)发送至执行签名的用户端;其中,所述用户端为根据所述 参数(e,Xe)和本地持有的参数(ki-1,Xi-1)获取签名参数(ki,Xi)并根据(ki,Xi)执行数 字签名的客户端,ki-1为随机数,Xi-1=ki-1G。

一种数字签名中密码运算服务器,包括:

随机数产生模块,用于依据设定周期产生真随机数e;

参数获取模块,用于计算并存储参数(e,Xe);其中,Xe=eG,G为椭圆曲线 密码体制的生成元;

参数发送模块,用于将所述参数(e,Xe)发送至执行签名的用户端;其中,所 述用户端为根据所述参数(e,Xe)和本地持有的参数(ki-1,Xi-1)获取签名参数(ki,Xi) 并根据(ki,Xi)执行数字签名的客户端,ki-1为随机数,Xi-1=ki-1G。

上述数字签名中密码运算方法和服务器,由外包的服务网络产生真随机数 并完成密码学运算部分,将运算结果发送至执行签名的用户端,执行数字签名 的用户端根据自身在本地持有的参数(ki-1,Xi-1)和服务网络发送的参数(e,Xe)获取 签名参数(ki,Xi),从而利用签名参数(ki,Xi)完成数字签名过程,在将数字签名算 法的外包处理时,避免了服务网络获得用户的密码运算的隐私泄漏,保证了外 包密码运算的隐私性,可以确保签名的安全。

附图说明

图1为一个实施例的数字签名方法的流程图;

图2为一种椭圆曲线密码体制中的ECDSA算法计算签名值的流程图;

图3为一种基于本发明的数字签名方法实现的SM2签名算法计算签名值的 流程图;

图4为一个实施例的数字签名设备结构示意图;

图5为一个实施例的数字签名中密码运算方法流程图;

图6为一个实施例的数字签名中密码运算服务器的结构示意图。

具体实施方式

下面结合附图对本发明的数字签名方法的具体实施方式作详细描述。

参见图1所示,图1为一个实施例的数字签名方法的流程图,主要包括如 下步骤:

步骤S101,接收服务器发送的参数(e,Xe),其中,Xe=eG,所述e为服务器 产生的真随机数,G为椭圆曲线密码体制的生成元。

在本步骤中,所述服务器为执行外包的外包密码运算的服务器,该服务器 可以持续产生真随机数e并计算Xe,当需要执行签名运算操作时,向服务器提出 外包申请,在此过程中,可以设置为只需要验证身份,无需提交请求参数,即 可以接收由服务器返回已计算和存储的参数(e,Xe),为了避免第三方获得参数 (e,Xe)并进行分析攻击,参数需在预先建立的安全信道中传递。

步骤S102,根据所述参数(e,Xe)和本地持有的参数(ki-1,Xi-1)获取签名参数 (ki,Xi),其中,ki-1为随机数,Xi-1=ki-1G。

在本步骤中,将执行签名用户端本地持有的参数(ki-1,Xi-1)与所接收的服务器 发送参数(e,Xe)进行相关运算,得到用于执行签名的签名参数(ki,Xi)。

在一个实施例中,对于参数(ki-1,Xi-1),第一次进行签名时(i=1),则参数 (ki-1,Xi-1)为(k0,X0),k0为执行签名的用户端初始化阶段产生的高质量的真随机数, 在此后的签名过程中,参数(ki-1,Xi-1)为上一次签名所使用的签名参数。

本实施例中,除了初始化阶段之外,用户端无需持有高质量的真随机数, 无需配备专用的真随机数发生器,仅需要执行简单的运算,如若干次点加、倍 点运算,避免了复杂的点乘运算操作。

对于真随机数k0及其相关参数(k0,X0),执行签名的用户端与服务器之间也可 以通过执行标准协议(如ECDH)来导出共享密钥sk,由服务器计算Xsk=sk□G并 将Xsk返回给用户端,使得用户端获得初始化的真随机数k0=sk及与其相关的参 数(k0,X0)。在这种情况下,用户端无需配备专用的真随机数发生器,也能够产 生高质量的真随机数k0及参数(k0,X0)。

步骤S103,利用所述签名参数(ki,Xi)执行数字签名。

在本步骤中,签名参数(ki,Xi)及签名私钥只在本地使用,确保了数字签名算 法的安全性。

上述数字签名方法,由执行数字签名的用户端和服务器共同导出随机数, 将密码学运算部分外包给服务器来完成,同时在用户端根据共同导出的随机数 获取签名参数并完成数字签名过程,在将数字签名算法的外包处理时,避免了 服务网络获得用户的密码运算的隐私泄漏,保证了外包密码运算的隐私性,确 保签名的安全。

而且,执行签名的用户端无需配备专用的真随机数发生器,降低了签名成 本、提高了签名效率。避免了复杂的点乘运算操作,降低了签名成本、提高了 签名效率。而且签名私钥只在执行签名的用户端使用,也可以进一步确保数字 签名算法的安全。

进一步地,由于服务器可以采用云计算技术进行动态扩展,具有海量计算 能力、海量存储、动态扩展等技术优势,用来执行密码学运算的性价比更高, 大量用户并发执行签名运算时处理能力强。

在一个实施例中,在步骤S103中获取签名参数的方法,可以包括如下:

将所述参数(e,Xe)和参数(ki-1,Xi-1)进行线性操作获得签名参数(ki,Xi);即

Γ:{(ki-1,Xi-1),(e,Xe)}→(ki,Xi)

其中,Γ表示为线性操作;

例如:

k1=2(k0+e),

X1=2(X0+Xe)=2(k0G+eG)=2(k0+e)G=k1G

通过上述线性操作得到签名参数(ki,Xi),用于执行签名运算。

在本实施例中,由执行签名的用户端和服务器分别导出的随机数通过一个 线性操作,仅需要执行简单的运算即可获得签名参数,在避免了传递随机数导 致的攻击和有效利用了服务器的运算能力的同时,避免了用户端要进行复杂的 运算操作,降低了运算成本。

需要声明的是,在获取签名参数的方法中,并不限定于上述线性操作方式, 也可以采用其它形式的运算操作来完成。

在一个实施例中,在步骤S103中获取签名参数的方法,还可以包括如下:

首先,获取并存储服务器返回的N个(e,Xe)的历史数据,其中N≥2。

然后,根据所述(e,Xe)的历史数据导出签名参数(kn,Xn),其中, n为当次签名对应的随机数序号,α为设定系数,k0为初始化 的真随机数。

在本实施例中,通过计算可以得到(k1,X1)、(k2,X2)、……(kn,Xn),这样,服 务器只需要按照设定速率产生真随机数e,并向各个执行签名的用户端发送e, 用户端根据e即可以导出随机数kn并计算Xn,这样避免了在大量用户并发执行签 名运算时导致服务器的运算负载过重,提高了运算效率。

为了更加清晰本发明的数字签名方法,下面列举基于本发明实现的根据 ECDSA签名算法来计算签名值的应用实例。

参见图2所示,本应用实例中,是对于域参数D=(q,FR,a,b,G,n,h),使用密 钥d对消息m签名,执行如下步骤:

步骤S201,接收服务器发送的参数(e,Xe),其中,Xe=eG,e为服务器产生 的真随机数,G为椭圆曲线密码体制的生成元。

步骤S202,根据参数(e,Xe)和参数(ki-1,Xi-1)计算签名参数(ki,Xi)。

步骤S203,将签名参数表达为坐标形式,Xi=kiG=(x1,y1),并将x1转换为整 数

步骤S204,计算r=x1modn,如果r=0则回到步骤S202,否则执行步骤S205。

步骤S205,计算k-1modn。

步骤S206,计算SHA-1(m),并将该位串转换为整数e,其中,SHA-1为安全 哈希算法(Secure Hash Algorithm)。

步骤S207,计算s=k-1(e+dr)modn,如果s=0,则回到步骤S202,否则执 行步骤S208。

步骤S208,输出签名结果(r,s)。

为了更加清晰本发明的数字签名方法,下面列举基于本发明实现的根据国 家密码管理局公布的SM2签名算法来计算签名值的应用实例。

步骤S301,接收服务器发送的参数(e,Xe),其中,Xe=eG,e为服务器产 生的真随机数,G为椭圆曲线密码体制的生成元。

步骤S302,根据参数(e,Xe)和参数(ki-1,Xi-1)计算签名参数(ki,Xi)。

步骤S303,将签名参数表达为坐标形式,Xi=kiG=(x1,y1)。

步骤S304,计算Hv(ZA||M),并将该位串转换为整数e,其中ZA是关于用户 的可辨别标识、部分椭圆曲线系统参数和用户公钥的杂凑值,Hv代表消息摘要 长度为v比特的密码杂凑函数,ZA=SHA256(ENTLA||IDA||a||b||xG||yG||xA||yA)。

步骤S305,计算r=(e+x1)modn,如果r=0,则回到步骤S302,否则执行步 骤S306。

步骤S306,计算s=((1+d)-1·(k-dr))modn,如果s=0,则回到步骤S302,否 则执行步骤S307。

步骤S307,输出签名结果(r,s)。

下面结合附图对本发明的数字签名设备的具体实施方式作详细描述。

参见图4所示,图4为一个实施例的数字签名设备结构示意图,主要包括:

参数接收模块,用于接收服务器发送的参数(e,Xe),其中,Xe=eG,所述e为 服务器产生的真随机数,G为椭圆曲线密码体制的生成元;

签名参数获取模块,用于根据所述参数(e,Xe)和本地持有的参数(ki-1,Xi-1)获 取签名参数(ki,Xi),其中,ki-1为随机数,Xi-1=ki-1G;

数字签名模块,用于利用所述签名参数(ki,Xi)执行数字签名。

在一个实施例中,所述签名参数获取模块进一步用于将所述参数(e,Xe)和参 数(k0,X0)进行线性操作获得签名参数(k,X)。

在一个实施例中,所述签名参数获取模块获取签名参数(ki,Xi)的方法包括:

获取并存储服务器返回的N个(e,Xe)的历史数据,其中N≥2;

根据所述(e,Xe)的历史数据导出签名参数(kn,Xn),其中,n 为当次签名对应的随机数序号,α为设定系数,k0为初始化的真随机数。

本发明的数字签名设备与本发明的数字签名方法一一对应,在上述数字签 名方法的实施例阐述的技术特征及其有益效果均适用于数字签名设备的实施例 中,特此声明。

下面结合附图对本发明的数字签名中密码运算方法的具体实施方式作详细 描述。

参见图5所示,图5为一个实施例的数字签名中密码运算方法流程图,主 要包括如下步骤:

步骤S501,依据设定周期产生真随机数e。

在本步骤中,所述设定的周期可以为2次/秒,主要是在数字签名过程中, 将密码运算进行外包时,由外包的服务网络产生真随机数,在此过程中,可以 结合云计算系统技术,利用云服务器产生真随机数并完成密码学运算部分。

步骤S502,计算并存储参数(e,Xe);其中,Xe=eG,G为椭圆曲线密码体制 的生成元。

在本步骤中,主要是由外包的服务网络完成密码学运算部分。

步骤S503,将所述参数(e,Xe)发送至执行签名的用户端;其中,所述用户端 为根据所述参数(e,Xe)和本地持有的参数(ki-1,Xi-1)获取签名参数(ki,Xi)并根据 (ki,Xi)执行数字签名的客户端,ki-1为随机数,Xi-1=ki-1G。

在本步骤中,对于执行签名的客户端本地持有的参数(ki-1,Xi-1),在第一次签 名时,则参数(ki-1,Xi-1)为(k0,X0),k0为用户端初始化阶段产生的高质量的真随机 数,在此后的签名过程中,参数(ki-1,Xi-1)为上一次签名所使用的签名参数。

对于真随机数k0及其相关参数(k0,X0),执行签名的用户端与服务网络之间也 可以通过执行标准协议(如ECDH)来导出共享密钥sk,由服务网络计算Xsk=sk□G 并将Xsk返回给用户端,使得用户端获得初始化的真随机数k0=sk及与其相关的 参数(k0,X0)。在这种情况下,用户端无需配备专用的真随机数发生器,也能够 产生高质量的真随机数k0及参数(k0,X0)。

当用户端进行密码运算外包申请时,服务网络发送参数(e,Xe)至执行签名的 用户端,在此过程中,可以设置为只需要验证用户端的身份,无需用户端提交 任何参数。同时,为了避免第三方获得参数(e,Xe)并进行分析攻击,则参数需要 在预先建立的安全信道中传递。

上述数字签名中密码运算方法,由外包的服务网络产生真随机数并完成密 码学运算部分,将运算结果发送至执行签名的用户端,执行数字签名的用户端 根据自身在本地持有的参数(ki-1,Xi-1)和服务网络发送的参数(e,Xe)获取签名参数 (ki,Xi),从而利用签名参数(ki,Xi)完成数字签名过程,执行签名的用户端无需配 备专用的真随机数发生器,就可以根据签名参数和签名私钥完成数字签名过程, 降低了签名成本、提高了签名效率。同时,利用该密码运算方法,在将数字签 名算法的外包处理时,避免了服务网络获得用户的密码运算的隐私泄漏,保证 了外包密码运算的隐私性,确保签名的安全。

另外,可以结合云计算系统技术来进行密码运算,由于云计算系统是基于 主流的通用服务器硬件来构建,云服务器的动态扩展性能好,具有海量计算能 力、海量存储、动态扩展等技术优势,用来执行密码学运算的性价比高,大量 用户并发执行签名运算时处理能力强。

在一个实施例中,步骤S503中的从密码运算请求选择相应的参数的方法, 包括如下步骤:

a)获取每个用户端已获得的最后一个参数(e_prev,Xe_prev);

b)从存储的(e,Xe)参数中查找出该用户端未使用的参数(e_next,Xe_next);

c)将该用户端未使用的参数(e_next,Xe_next)发送至执行签名的用户端。

具体的,通过持续产生(e,Xe)参数序列,并且记录每个用户端已获取的最后 一个(e_prev,Xe_prev)参数。当用户端进行外包申请时,仅仅返回该用户端从未使 用过的参数(e_next,Xe_next),如果参数序列已经不存在该用户端尚未使用过的数 据,再产生新的随机参数。

本实施例中,通过上述方法,使得新的用户端可以使用历史产生的真随机 数,无需为每一个用户都实时计算(e,Xe)参数,这样可以避免在大量用户并发执 行签名运算时导致外包的服务网络运算负载过重的问题,可以进一步提高运算 性能,提升大量用户并发执行签名运算时处理能力。

下面结合附图对本发明的数字签名中密码运算服务器的具体实施方式作详 细描述。

参见图6所示,图6为一个实施例的数字签名中密码运算服务器的结构示 意图,主要包括:

随机数产生模块,用于依据设定周期产生真随机数e;

参数获取模块,用于计算并存储参数(e,Xe);其中,Xe=eG,G为椭圆曲线 密码体制的生成元;

参数发送模块,用于将所述参数(e,Xe)发送至执行签名的用户端;其中,所 述用户端为根据所述参数(e,Xe)和本地持有的参数(ki-1,Xi-1)获取签名参数(ki,Xi) 并根据(ki,Xi)执行数字签名的客户端,ki-1为随机数,Xi-1=ki-1G。

在一个实施例中,所述参数返回模块包括:

末次参数获取单元,用于获取每个用户端已获得的最后一个参数 (e_prev,Xe_prev);

参数查找单元,用于从存储的(e,Xe)参数中查找出该用户端未使用的参数 (e_next,Xe_next);

参数发送单元,用于将该用户端未使用的参数(e_next,Xe_next)发送至执行签 名的用户端。

本发明的数字签名中密码运算服务器与本发明的数字签名中密码运算方法 一一对应,在上述数字签名中密码运算方法的实施例阐述的技术特征及其有益 效果均适用于数字签名中密码运算服务器的实施例中,特此声明。

综合上述实施例的内容,通过本发明的数字签名技术及数字签名中密码运 算技术,可以构建一个由多个用户端和基于云计算系统实现的服务器组成的数 字签名技术方案,执行数字签名的每个用户端可以将密码学运算外包给云计算 系统来完成,通过服务端、用户端共同导出随机数的方式,避免了传递随机数 受到攻击,除了初始化阶段之外,用户端不需要产生高质量的真随机数,因此, 用户端无需配备专用的真随机数发生器,降低了签名成本、提高了签名效率, 而且可以有效利用云计算系统的强大计算能力,大量用户并发执行签名运算能 力强,同时在将数字签名运算外包地过程中,密码运算的隐私性可以得到保证。

以上所述实施例仅表达了本发明的几种实施方式,其描述较为具体和详细, 但并不能因此而理解为对本发明专利范围的限制。应当指出的是,对于本领域 的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和 改进,这些都属于本发明的保护范围。因此,本发明专利的保护范围应以所附 权利要求为准。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号