第38卷 V01.38 第9期 NO.9 计算机工程
Computer Engineering 2012年5月
May 2012
・安全技术・ 文章编号:10oo—_3428(20l2)09-__013l—03 文献标识码:A 中圈分类号{TP309 门限混合代理多重签名方案 王勇兵 (河北师范大学附属民族学院,石家庄050091)
摘要:混合代理多重签名要求所有签名人共同产生签名,使方案的灵活性和实用性受限。针对该问题,通过引入门限签名,提出一个 (t,n)l'J限混合代理多重签名方案,在一个签名人组成的签名群中,只需f个或t个以上的签名人同意就可以完成签名。理论分析结果表明, 该方案满足不可伪造性、不可否认性、可鉴别性、混合代理多重签名性和门限签名性,且效率高于原方案。 关健词:数字签名;代理签名;代理多重签名;多重代理多重签名;混合代理多重签名;门限签名
Threshold Hybrid Proxy Multi-signature Scheme WANGYong-bing (Nationalities College,Hebei Normal University,Shijiazhuang 050091,China) [Abstract]Flexibility and practicability of hybrid proxy multi—signature are restricted bythe property that all of the signers produce signature together.In order to solve the problem,this paper proposes a(t,n)Threshold Hybrid Proxy Multi—signature(THPM)scheme combing with the threshold signature.A THPM is collaboratively generated by some original signers and some proxy signers on behalf of their original signers in the scheme.Only when t or more than t signers agree,the threshold number group members can produce a valid THPM in the signing group.Theoretical analysis proves that THPM not only has unforgeability,nonrepudiablity,distinguishability and quality ofhybrid proxy multi—signature and threshold signature,but also is more efficient than original scheme. !Key words]digital signature;proxy signature;proxy multi--signature;multi-proxy multi・-signature;hybrid proxy multi--signature;threshold signature DOh 10.3969/j.issn.1000—3428.2012.09.039
l概述 代理签名¨J作为一种特殊的数字签名体制,允许原始签 名人将签名权委托给指定的代理签名人行使,常用于原始签 名人由于某些原因无法行使签名的场合。代理签名广泛应用 于电子现金、电子投票和电子商务等领域,引起了人们极大 的关注。一般的代理签名往往考虑的是一个原始签名人和一 个代理签名人的特殊情形,比较理想化,不适合实际应用。 为了满足实际要求,代理多重签名[2-3] 多重代理签名l4 J和
多代理多签名 随即被提出。 在代理多重签名中,代理签名人可以代替多个原始签名 人生成有效的代理签名,它考虑的是所有原始签名人同时委 托签名权的庆幸,在实际生活中,可能只有一部分原始签名 人需要委托签名权,其他原始签名人现场参与签名。为此, 文献[7]提出一种混合代理多重签名方案,其中,每个原始签 名人都有指定的代理签名人,实际签名是由部分原始签名人 和部分代理签名人共同产生的。文献[8】基于双线性对提出了 一个新的混合代理多重签名方案,其中,部分原始签名人将 签名权委托给同一个代理签名人,代理签名由一个代理签名 人和部分原始签名人合作产生。但该方案有以下3个问题: (1)该方案是基于身份密码体制设计的,原始签名人和代理签 名人的密钥由可信中心托管,方案的安全性完全依赖可信中 心的诚实性和安全性,在开放的网络环境中是不可行的。 (2)签名长度与签名人数有关,在签名( ,tip, , , )中
和 是公开的,可以去掉,即使签名为(U,r, ,‘尸, ), 签名长度仍然与原始签名人和代理签名人的人数有关。(3)要 求参与签名的原始签名人和代理签名人一起合作才能产生有
效的代理签名,若有不合作的签名人,则签名将无法正常进 行,方案的灵活性和实用性受到限制。 针对以上问题,本文将门限签名引入混合代理多重签名 中,提出了一个(t,n)门限混合代理多重签名方案。该方案适 用于以下场合:在一个大公司有多个部门,每个部门都设有 部门经理,并且为了协调各部门业务的开展,另设部门协调 经理一名,当一部分部门经理出差时,便可以把签名权委托 给协调经理,文件由协调经理和其他不出差的部门经理共同 签署。由于对文件内容不满意,有些签名人可能拒绝签名, 这样,公司的正常运转必将受到影响。这时只需要一定数量 的签名人参与签名,文件就可以生效。 2预备知识 2.1双线性对映射 设g是一个大素数,G1和G,分别为引喻加法循环群和乘
法循环群,尸为q的生成元, ,b∈ z 。双线性对是一个映 射e:q xq ,具有如下性质: (1)双线性性:对任意的 , , ,Q2∈Gl,有: P( + , )= ( , )P( , ) e( , 十 )=e( , ) ( , ) (口 ,bQ,)= ( , ) (2)非退化性:存在尸,9∈ ,使得 (尸1Q)≠1。
基金项目:河北省教育厅科研基金资助项目(Z2011155);河北师范 大学科研基金资助项目(L2010Q15) 作者倚介:王勇兵(1981一),男,讲师、硕士,主研方向:密码学 牧稿日期:2011-08-31 E—mail:wyb723@yahoo.corn.cn 132 计算机工程 2012年5月5日 (3)可计算性:对所有的P,Qe GI,存在计算e(P,Q)的有 效算法。 2.2复杂性假设 (1)离散对数问题(DLP):给定P,Q∈Gi,找到一个整数 n∈月z:,满足O:nP。 (2)判定Difie—Hellman问题(DDHP):对于口,b,cE Z:, 给定P,aP,bP,cPe GI,判定c=ab是否成立。 (3)计算Diffie・Hellman问题(CDHP):对于a,b∈月z , 给定P,aP,bP∈GI,计算abP。 2.3 Shamir(t,n)门限秘密分享方案 一个(t,n)t'3限秘密分享方案是指把密钥 按照某种方式 分配给 个用户保存,使得一个用户中的t个或t个以上用户 一起合作可以恢复密钥5,而少于t个用户不能得到密钥 的任何信息。方案过程如下: (1)选择大素数q和一个t-1次多项式: 厂( )= +alx+a2x +…+at一1x卜 modq 其中,f(O)= ;ai∈R z:(f=l,2,…,t一1)。 (2)分享密钥 :设n个用户的身份为xi(i=l,2,…,t一1), 则每个用户的秘密份额为s =f(xi)modq。 (3)恢复密钥 :t个或t个以上用户一起合作,就可以 利用Lagrange插值公式恢复 :
, f 一 =∑厂(t)n——Lmodq
, ’, ≠ t一
3门限混合代理多重签名方案 本文方案的参与方包括:G ={4, ,…,4+ }为l+m个 原始签名人组成的集合,G :{AI, ,…,4}为,个需要委托 授权的原始签名人集合,GA ={4 ,…, )为m个实际 参与签名的原始签名人集合,曰为G 的代理签名人, 为 签名验证人。整个方案由系统初始化阶段、代理授权阶段、 签名密钥生成阶段、签名生成阶段和签名验证阶段。 3.1系统初始化阶段 设群Gl是阶为大素数q、生成元为P的循环加群。群
是阶为q的循环乘法群。定义双线性对映射e:GlxGl G2。 H :{0,1} '÷G1是一个安全的单向hash函数。原始签名人4 :l,2,…,l+m)选择私钥 z;,并计算公钥 = P, 其身份信息为 ;代理签名人B选择私钥x ∈ z:,并计算 公钥 =xBP,其身份信息为 。 3.2代理授权阶段 假设wi(i=1,2,…,z)是原始签名人4(j.=172,…,z)给代理 签名人 的授权证书,其中包括4( 172,…,,)和 的身份信 息、代理权限和代理期限等信息。授权协议如下: (1)原始签名人4(i=l,2,…,,)随机选择I∈z:,计算
Ri:riP,SA,=
(I+ )日 ( ),公开 和Ri,并通过安全信
道将S 发送给代理签名人B。 (2)代理签名人B收到 后验证: P( ,P)=e( , ( ) P(H1( , )) 是否成立,若等式成立,则通过验证,然后计算代理密钥:
=∑ Hi( lJ..・f ) _一 公开代理公钥 =卯。
3.3签名密钥生成阶段 记 =m+l,设m个实际参与签名的原始签名人 和 代理签名人 组成的签名群为S:{ , ,…, }。并记 :x4.】, = ∥…, 一 = = 。签名密钥生成的具体 步骤如下: (1)签名人 随机选择 ∈z:,计算并广播 Jp。
(2) 计算屈= + ,并随机选择t-1次多项式: ( )= +ai1 +q2 +・・・+ait—lx卜 modq 其中,ail∈ z:(,=1,2,…,t-1)。然后计算并公开Au=auP。 (3) 计算 ( ,)并通过安全信道发送给D,( ≠i)。 (4) 收到fj(IDi)后,验证fj(ID ̄)P= ,若验证 通过,则计算签名密钥ci=羔fj(,D),并公开签名公钥 =ciP。 3.4签名生成阶段 设待签的消息为m,签名群S= , ,…,S )中任意f个 签名人对消息m进行签名的过程如下:
(1)签名人 计算 =, - IDj ,并计算部分签名