一种椭圆曲线的代理签名方案的分析与改进

2013-01-19 03:05王玉奇
衡阳师范学院学报 2013年3期
关键词:签名者私钥公钥

王玉奇,李 浪,邹 祎

(衡阳师范学院 计算机科学系,湖南 衡阳 421008)

0 引 言

1996年Mambo[1]等人提出了代理签名的概念,代理签名就是原始签名者可以授权给指定的代理签名者代替其进行有效的签名。人们提出了各种代理签名方案,基于离散对数和素因子分解的代理数字签名方案[2-3]不段出现。2008年杨[4]等人给出了基于椭圆曲线离散对数的代理方案。但该方案存在原始签名者的伪造问题及需要安全信道问题。本文对杨等人的方案采取构造法证明该方案存在的问题。为解决其问题,给出一种改进方案,并对新放方案进行安全分析。

1 杨代理签名方案[4]

杨方案包括系统参数初始化、代理委托授权、代理签名及验证过程四个阶段。方案的协议方为原始签名者A,代理签名者B及签名接收者C。

1.1 系统参数初始化

椭圆曲线参数如下:

q:大素数,q>2160;

E:有限域Fq的上椭圆曲线:y2=x3+ax+b(mod q);a,b是小于q的整数,且满足4a3+27b2≠0(mod q);

G:椭圆曲线E上的基点。阶为n,即nG=O;O为椭圆曲线无穷远点;

h:单向散列函数。

用户A的私钥及公钥分别为:xA,YA=xAG;

用户B的私钥及公钥分别为:xB,YB=xBG.;

用户C选取私钥xC,公钥YC=xCG。

1.2 代理委托过程

原始签名人A将签名权授权委托给代理签名人B,选取随机数K0,并计算K0G,记δ=K0G=(x0,y0),其中x0,y0∈Fq。然后计算:r0=x0(mod n)和σ=(xA+r0k0)(mod n),A将σ通过安全信道发送给B,将δ公开发布,则(σ,δ)为A的委托信息。

代理签名人B收到委托信息(σ,δ)后,验证计算:σG=PA+r0δ。从公开的信息G,δ,PA可验证计算r0=x0(mod n)。如此式成立,则B接受委托信息(σ,δ);若不成立,则B拒绝委托信息(σ,δ)。

1.3 代理签名生成过程

代理签名者B随机选取整数K,K∈Z*n;计算R=KPC=(x,y),r=h(x)-1m(mod n),若r=0,则返回重新选取K;计算s=K+rσ(mod n),若s=0,则返回重新选取K;(r,s,σ)为B对消息m的代理签名。

1.4 代理签名的验证过程

验证者计算X=sG-r(YA+δr0)=(x′,y′)和m=h(Kcx′)r(mod q),其中Kcx′是KcX的横坐标。验证m与接收到m是否相等。验证过程的正确性:

2 杨代理签名方案分析

上述代理签名方案存在原始签名人的伪造攻击:代理者选取随机数K,计算R=KYc=(x,y),r=h(x)-1mmod q和s=K+rσ(mod q),而原始签名者A知道秘密信息σ,也可以选取随机数K′进行同样的计算出(r′,s′),从而很容易伪造代理签名,签名验证者的验证过程不需要发生任何变化。

3 改进的代理签名方案

3.1 系统参数

新方案的系统参数同原方案,见1.1

3.2 代理授权过程

(1)原始签名者A随机选取一个整数λA∈[1,n-1],计算P=λAG=(xP,yP),rA=xPmod n,e1=h(m,rA),sA=xAe1+λA(mod n),然后将(m,P,sA)秘密发送给代理签名者B,这里(P,sA)实质上是A对m的授权信息。

(2)B收到(m,P,sA)授权信息后,先计算rA=xPmod n,e1=h(m,rA),然后验证P+YAe1=sAG是否成立,若成立则说明授权合法[5]。

3.3 代理签名过程

对消息m,B利用代理权生成的代理签名过程如下[6]:

B首先利用授权信息sA生成代理签名之私钥x=sAxB-1mod n,然后随机选取一个整数KB∈[1,n-1],计算Q=KBYB=(xQ,yQ),r=xQmod n,e2=h(m,r),s=xe2+KB(mod n),(m,p,Q,s)为代理签名结果,B将其发送给签名验证者。

3.4 代理签名验证

验证者收到代理签名(m,P,Q,s)后,利用原始签名者A授权信息公钥和代理签名者B的代理签名公钥验证代理签名,过程如下:

计算rA=xPmod n,r=xQmod n,e1=h(m,rA),e2=h(m,r),然后验证等式sYB=Q+e2(P+e1YA)是否成立,如果等式成立,则C认为B代理A所做的代理签名合法,否则拒绝签名[7]。

等式正确性如下:

以知条件:s=xe2+KB(mod n),x=sAxB-1mod n,Q=KBYB,,sA=xAe1+KA(mod n)

则等式Q+e2(P+e1YA)=Q+e2(kAG+e1xAG)=Q+e2(kA+e1xA)G=Q+e2sAxB-1xBG=kBYB+e2xkBYB=sYB

4 安全性分析

4.1 代理签名权可验证性

在代理授权过程中,因为(m,P,Q,s)是原始签名者A对信息m的签名,包含原始签名者的私钥信息,其他人没有原始签名者的私钥从而不可伪造出委托授权信息。由验证等式sAG=YAe1+P可确定该代理签名是原始签名者委托授权的合法的代理签名。根据代理签名结果,验证者只能从原始签名者和代理签名者的公钥计算得到验证代理签名所需的公钥,利用该公钥计算才可以确定该签名是否是B代理A形成的合法代理盲签名。

4.2 代理签名不可伪造性

代理签名的不可伪造性,在代理签名方案中,代理签名者B利用私钥xB产生代理签名所需的私钥x=sAxB-1mod n,xB是保密的,其他任何人不可能伪造xB,从而不能假冒代理签名者B生成的代理签名[8];而授权参数sA=xAe1+KA(mod n),是由原始签名者的私钥xA产生,只有接收到A授权的代理签名者B才能生成有效地代理签名,伪造的代理授权在验证时是无法通过的。

4.3 代理签名传输信道的安全问题

方案中代理授权为(m,P,sA),其中(P,sA)实质上原始签名者A对信息m的签名值,原始签名者的私钥xA决定代理授权参数sA。而代理私钥x=sAxB-1modn,也包含了由A的私钥产生不可窜改的授权参数sA,以及B的私钥xB。窃听者D即使截获了代理授权值,也无法伪造代理签名私钥,这样假冒代理签名者B生成代表A的代理签名也就是无法实现。因而该方案不需要安全传输信道的支持。

5 结束语

本文介绍了杨青等人提出的一种的代理签名方案,并证明该方案依然存在原始签名人伪造攻击缺陷,由于伪造缺陷,该方案不能应用于电子现金、电子投票等领域。针对该代理签名的缺陷,本文对原方案进行该进,产生新的代理签名方案。新方案解决原方案缺陷,签名信息不需要借助安全传输信道,代理签名所要求的安全特性完全满足;新方案比杨青等人的方案具有更高的实用性和安全性。

[1]MAMBOM,USUDA K,OKAMOTO E.Proxy signature:delegation of the power to signmessages[J].IE ICE Trans on Fundamentals of E lectronics Comm uni-cations and Computer Sciences,1996,E79A(9):1338-1354.

[2]祁明,HARN L.基于离散对数的若干新型代理签名方案[J].电子学报,2000,28(11):114-115.

[3]SHAO Zu-hua.Proxy signature schemes based on factoring[J].Information Processing Letters,2003,85(3):137-143.

[4]杨青,辛小龙,戢伟.基于椭圆曲线的数字签名和代理数字签名[J].计算机工程,2008,12(23):147-149

[5]胡兰兰,郑康锋,李剑,等.一种改进的椭圆曲线安全代理签名方案[J].计算机应用研究,2010,2(2):685-688.

[6]黄辉,秦静,李丽.一个改进的代理盲签名方案[J].计算机应用,2007,27(6):1539-1541.

[7]左为平,李海峰.一种安全的椭圆曲线代理签名方案[J].佳 木 斯 大 学 学 报:自 然 科 学 版,2007,25(4):495-497.

[8]杨伟强,徐秋亮.典型代理签名方案的分析与改进[J].计算机工程与应用,2004,40(9):152-154.

猜你喜欢
签名者私钥公钥
清扫机器人避障系统区块链私钥分片存储方法
比特币的安全性到底有多高
基于改进ECC 算法的网络信息私钥变换优化方法
劳动者代签名 用人单位应否支付双倍工资
一种基于混沌的公钥加密方案
一种基于虚拟私钥的OpenSSL与CSP交互方案
基于变形ElGamal签名体制的强盲签名方案
HES:一种更小公钥的同态加密算法
SM2椭圆曲线公钥密码算法综述
一种安全的匿名代理数字签名方案