基于两种难题的有序多重签名方案

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

基于两种难题的有序多重签名方案
王川
【摘要】In this paper, in order to meet requirement of the practical MIS, after studies the inadequacy of the existing multi-signature algorithm, presents a new sequential multi-signature scheme based on two difficult mathematics problems. Compare and analysis with some existing schemes, it can be concluded that the new scheme has been strengthened on security, and the efficiency of calculation is also improved.% 本文以信息管理系统的实际应用需要出发,在研究了现有多重签名算法方案的不足之处后,提出了一种新的基于两种难题的有序多重签名方案。

通过将新方案与现有的一些方案进行对比分析后,可以得到结论是,新方案安全性上得到增强,同时在计算效率上也有所改进。

【期刊名称】《数字技术与应用》
【年(卷),期】2012(000)011
【总页数】3页(P184-186)
【关键词】信息管理系统;数字签名;多重签名;RSA;ElGamal
【作者】王川
【作者单位】长沙学院教务处湖南长沙 410003
【正文语种】中文
【中图分类】TP309
1、引言
单位都是多级管理组织结构,上下级之间、部门内部、部门之间经常有文件的传递,部门领导或经办人在审阅文件时要对文件进行签字。

以高校综合教务管理系统为例,在高校教务管理系统中,就有很多审批手续要在系统中实现,比如:培养方案的制定、教材的制定、教室管理、调(停)课管理、成绩管理等。

在这些工作流程中,从被审批的信息的产生到审批的各个步骤,都一定要保证信息和审批流程的真实性和不可抵赖性。

在管理信息系统的开发中,为了保证在网络化的环境中对信息的审批具有可验证性和不可否认性,就需要使用数字签名技术来实现对信息的电子签名。

如果简单地使用RSA签名算法或ElGamal签名算法进行签名来实现对审批信息的签名,那么就会使签名产生过程和验证过程变得非常复杂:审批流程中需要教研室主任、院系主任、教务处正副领导、副校长按顺序对审批信息进行签名,那么审批流程中每个参与者都会产生一个签名,并且每个参与者在签名前都要对他前面审批人的签名进行验证。

因此,在每位参与者签名完毕后,一条信息就对应了多个签名。

若是需要对信息的审批最后进行验证,就需要对审批中每一个签名都进行验证,全部验证通过后才能承认审批流程有效。

多重签名算法可以解决我们的问题,多重签名可以让所有审批人对一条信息审批的数字签名都放在一个签名中,也就是说,一条信息在整个签名流程中只对应于一个签名,并且每位经理在签名前只需验证签名一次。

如果某个人要对签名进行验证,也只需要对签名完成后生成的那一个签名进行验证即可。

2、现有多重签名算法的一些不足之处
在多重签名算法中,基于ElGamal型的多重签名算法是研究和使用最为广泛的算法。

但是现有的一些ElGamal型多重签名算法方案,如李子臣的方案[1]、杜海涛的方案[2]都有一些不足之处。

这些不足之处也是许多近几年提出来的多重签名方
案共同存在的问题。

下面我们简要地来讨论一下这些不足之处:
(1)在李子臣的有序多重签名方案中,系统初始化时,ElGamal公钥和私钥是每个用户自己产生的。

但是没有任何人对其他人的公钥进行验证,因而方案容易受到类似于文献[3]中方法的攻击。

若是攻击者是签名序列中的最后一个签名者,他可以利用这种方法计算出该签名群体的私钥,再利用这个群体的私钥成功伪造该群体的多重签名。

(2)对杜海涛的方案,我们可以使用下面的攻击方法进行攻击,并能成功伪造有序多重签名或广播多重签名。

杜海涛的有序多重数字签名方案的验证公式都是具体的攻击步骤如下:①攻击者可以容易获得参数g,p等参数和U1,U2,…,Un 的公钥yj(j=1,2,…,n)。

②攻击者选择一个sn ′,攻击者通过公式可以计算出R′。

③计算S′=s′×R′,则(R′,n S′)则是对消息m′伪造的有序多重数字签名。

证明过程:因为两边都求R次幂的运算,得到′,S′)满足多重签名的验证公式所以攻击者可以通过此攻击方法对消息m′能够成功伪造U1,U2,…,Un的有序多重数字签名。

(3)大部分多重数字签名的安全性仅仅依赖于一类数学难题:基于因式分解问题或离散对数问题。

一旦该类数学难题被攻破,现有的基于该类数学难题的数字签名应用都将会变得不堪一击,特别是那些重要的应用,将会面临着巨大的风险和危机。

将两类数学难题一起使用是一个比较好的解决方案,因为两类数学难题被同时攻破的可能性很低,但是目前基于两类数学难题的多重签名方案并不多。

Harn曾经提出了一种同时基于因式分解和离散对数的数字签名方案[4],但是该方案的运行效率低,且不能用于多重数字签名。

本文设计了一种基于两种难题的有序多重签名方案,该方案解决了上述的三个方面的问题,在安全性上得到了提高,同时又保证了效率。

3、有序多重数字签名方案
在本方案中,系统中有一个可信任的签名中心SC负责分配签名者的密钥,有n个
签名者U1,U2,…,Un按预定的次序参与多重签名过程。

签名发起者将待签名的消息m和签名者的次序要求首先交给SC,再由SC负责管理整个有序多重签名流程和验证最后的多重签名。

具体签名过程:首先SC将消息发给签名次序中的第一个签名者,第一个签名者签名后将消息和签名传给后面的签名者,后面签名者依次对消息签名,并按照签名次序将消息和签名向下一位传递,最后一位签名者将多重签名提交给SC,最后由SC对多重签名进行验证。

3.1 系统初始化
(1) SC产生签名参数。

①选取N=p'×q',p′=2p′′+1,q′=2q′′+1,其中p′、q′、p′′、q′′都是大素数。

②选取一个大素数P,使其满足N|P-1。

③g是阶为n的GF(P)的本原元,即一个碰撞自由的单向hash函数H:GF(N)-->GF(N)。

⑤重发次数t。

(2)SC给自己和每一位签名者Ui(i=1,2,…,n)分配RSA和ElGamal两类密钥。

①任选xs∈[1, N-1]作为SC在ElGamal中的私钥,计算作为公钥。

②选择SC在RSA中的公钥e,保s证gcd(φ(N),es)=1并且1<es<φ(N),通过
esds=1modφ(N)计算的私钥ds。

③用上述方法为每一位签名者Ui(i=1,2,…,n)分配在RSA中的公钥ei和私钥di,分配在ElGamal中的公钥yi和私钥xi,通过安全渠道将私钥di和xi交给Ui。

(3)SC将P,N,g,H,t,ys,es,yi(i=1,2,…,n)和ei(i=1,2,…,n)放入公共文件中,每一位签名者都得到上述参数。

3.2 预处理
(1)每一位签名者Ui(i=1,2,…,n)随机选取参数ki∈ [1,N-1],计算将r发送给SC。

SC收到所有的r后,计ii算然后将R′发送给所有的签名者Ui(i=1,2,…,n)。

(2)SC设定签名的起始时间标志T,要求签名者Ui(i=1,2,…,n-1)必须在△Ti时间内签名并将其发送给下一个人签名者,Un必须在△Tn时间内完成签名并将其发送
SC。

SC给签名者Ui(i=2,3,…,n)发送(T,△Ti-1)。

所有的签名者Ui(i=2,3,…,n)计算
Ti-1=T+△Ti-1,SC计算Tn=T+△Tn。

时间关系如图1所示。

图1 时间关系图I
3.3 签名产生过程
(1)SC将m传送给第一位签名者U1。

(2)U1收到SC送来的m后进行如下操作:
综上所述,可知该有序多重数字方案是正确的。

4、优点和比较
(1)李子臣方案只是基于离散对数问题的安全性,而本方案是同时基于因式分解问
题和离散对数问题的安全性的,只要因式分解问题和离散对数问题没有同时被攻破就能保证方案的安全性,而这两类难题被同时攻破的可能性是很低的。

所以本方案的安全性比较高。

(2)本方案中各位签名者的密钥由签名中心集中统一分配,可以有效的避免文献[4]
中的攻击方法。

(3)通过签名验证公式易知,本文第2节第3点所提出来的攻击方法对本方案攻击
无效。

(4)本方案引入重发机制以提高效率,这样可以避免一些多重签名方案中因为网络
故障超时或者传输途中数据信号受到干扰造成的签名失败。

同时对签名中心和每一位签名者的重发次数都进行了限制,这样做有效地限制了攻击者的尝试次数,增强了系统的稳定性和安全性。

(5)一些多重签名方案不能抵抗重放攻击。

本方案在签名文件中加入了时间标志T,可以有效地抵抗重放攻击。

同时对每一位签名者都设定了签名的时间限制△Ti,防
止签名超时,增加了攻击者攻击成功的难度。

(6)为了研究本方案的改进后的效率,下面将本方案与李子臣方案的计算量作对比,分别见表1所示。

表中的各符号的意义如下:Th代表模N的单向哈希运算,Tm
代表乘法运算,Te代表幂运算,TR代表RSA加密或解密运算。

预处理过程是在服务器端预先计算的一种优化,它不会占用客户端的计算时间,因此预处理的计算量不会影响用户的签名或验证的速度。

下面只比较两种算法方案中签名产生过程和验证过程的计算量来评价优劣。

通过两种方案的对比可以发现,本有序多重签名方案的签名产生过程和验证过程的计算量与李子臣方案相比要少一些。

因此,新方案并没有因为基于两种数学难题而降低运行效率。

5、结语
本文为多方签字的应用设计了基于两种难题的有序多重签名方案。

通过上述分析可知,新方案与现有的一些方案相比,在安全性上得到增强,同时在运算效率方面也有所改进。

未来研究将主要集中在算法效率的改进上,借此来提高多方签字的速度。

参考文献
【相关文献】
[1]李子臣,杨义先.ElGamal多重数字签名方案[J].北京邮电大学学报,1999,22(2):30-34.
[2]杜海涛,张青坡,钮心忻,杨义先.一个新的离散对数有序多重签名方案.计算机工程与应用
[J],2007,43(2):148-150.
[3]韩小西,王贵林,鲍丰,任奎.针对基于离散对数多重签名方案的一种攻击[J].计算机学
报,2004,27(8):1147-1152.
[4]HARN L.Public-key cryptosystem design based on factoring and discrete
Logarithms[J].IEEE Proc Compute Digit Tech.1994.141(3):193-195.。

相关文档
最新文档