代理多重签名

关键词: 签名者 代理 签名 数字签名

代理多重签名(精选八篇)

代理多重签名 篇1

1 椭圆曲线密码体制的数字签名

定义在GF(2m)(要求m>160)上的非超奇异椭圆曲线E,选择E(GF(2m))上的一个基点G,求出G的阶n(使nG=O的最小的素数n),根据SHA-1选择一单向安全Hash函数h(·)。用户U随机选择一个整数d,计算公钥Y=dG mod n,用户公布(E(GF(2m)),a,b,G,n,h)保密d。则基于有限域GF(2m)上非超奇异椭圆曲线的数字签名可描述如下:

用户U在区间[1,n-1]中随机选择k,计算R=kG mod n=(xR,yR),r=xRmod n;

计算e=h(m,r),s=k+ed mod n,然后将签名对(r,s)发送给验证者V。

验证者V验证过程:收到对信息m的签名对(r,s)后,计算e=h(m,r),

验证等式:sG=Ye+R。若等式成立,则接受签名;否则签名无效。

2 代理多重签名方案

2.1 初始化

系统参数:Fq,E,G,n,h。

Fq:是定义的有限域(q=2m,m>160)

E:是Fq上的非奇异的安全椭圆曲线;

G:是E上的一个阶为素数n的公开有理点,称为基点,其中G∈E(Fq);

n:素数,是G的阶,n>2160且n>4q1/2;

h:{0,1}*→{0,1}160是一种安全的hash函数;

(XAi,YAi):原始签名人Ai(i=1,…,L)的私钥公钥对,其中:YAi=XAiG mod n,YAi公开。

(XB,YB):代理签名人B的私钥公钥对,其中:YB=XBG mod n,YB公开。

mw:是在代理阶段由A1,A2,…,AL和B协商生成的代理授权证书,主要包含原始签名人A1,A2,…,AL的ID、代理签名人B的ID、授权范围和期限等信息。

2.2 委托过程

1)原始签名人Ai(i=1,…,L)随机选取一个整数ki∈[2,n-1],计算:

Pi=kiG mod n,e1=h(mw),si=XAie1+kimod n

然后将授权参数(mw,Pi,si)秘密地发送给代理签名人B。

2)验证授权参数的合法性

B收到(mw,Pi,si)后,首先检查授权证书mw,之后计算e1=h(mw),然后验证等式siG=YAie1+Pi是否成立,若成立则说明授权合法。

3)代理多重签名授权参数计算

当所有的(mw,Pi,si)通过验证后,B计算:

则(mw,P,s)是A1,A2,…,AL对B的代理多重签名授权参数。

2.3 代理多重肓签名生成

如果签名请求者V有某个消息m要求代理签名人B代表A1,A2,…,AL生成代理多重肓签名,则过程如下:

1)代理签名人B,随机选择k,1

2)签名请求者V接收到r后,随机选择a、b∈[1,n-1],计算:

r+bG+aP=(x,y)

t1=x mod n,c=h(m||t1)

c′=c-a

然后将c′发送给B。

3)B收到c′后,计算:

代理签名之私钥d=s XB-1mod n;

e2=h(cˊ,r)

C=k+e2d mod n

则对消息m的代理多重肓签名为(mw,(P,s),R,C),并将其发送给签名请求者V。

2.4 代理多重肓签名验证

签名请求者收到代理多重肓签名(mw,(P,s),R,C)后,首先检查授权证书mw,之后利用原始签名人Ai(i=1,…,L)的所有公钥、代理签名者B的授权参数和代理签名者B的公钥来验证代理多重肓签名。

验证步骤如下:

1)计算:

2)验证等式:CYB=R+Pe2+YAe1e2是否成立

如果等式成立则认为B所做的代理多重肓签名有效,否则无效。

等式的正确性如下:

可知等式CYB=R+Pe2+YAe1e2成立。

3 安全性分析

3.1 可验证性

根据代理多重肓签名(mw,(P,s),R,C),签名请求者利用所有原始签名人Ai和代理签名人B的公钥验证等式CYB=R+Pe2+YAe1e2是否成立,若等式成立则能够确信该签名是B代理所有原始签名人生成的有效代理多重肓签名。由授权证书mw及委托过程中对(Pi si)的验证,验证者能够确信这个代理多重肓签名是所有原始签名人Ai授权认可的代理肓签名。

3.2 强可区分性

代理多重肓签名(mw,(P,s),R,C)中包含授权证书mw,因而与原始签名人的多重肓签名有明显的区别。如果多个代理人或者对同一代理人进行多次不同的授权,由于在每次代理签名委托过程中每个ki是随机选择的,因此每次得到代理授权参数Pi不同,再加上授权证书中的授权信息的不同,从而可以很容易地将不同代理人的代理肓签名和同一代理人根据不同的授权进行的代理肓签名进行分开。

3.3 强不可伪造性

1)代理多重肓签名授权参数(mw,P,s)的不可伪造性。

在委托过程中,每个原始签名人Ai使用随机整数ki和自己的私钥来生成授权参数(mw,Pi,si)。代理签名人或其他攻击者要想从(Pi,si)或验证等式siG=YAie1+Pi中得到原始签名人的私钥和随机数ki,就必须解决椭圆曲线离散对数问题,这在计算上是不可行的。由于每位原始签名人的签名授权参数(mw,Pi,si)不可伪造,因此(mw,P,s)也不可伪造。

2)代理多重肓签名(m,mw,(P,s),R,C)的不可伪造性。

在代理多重签名生成过程中,代理私钥d=s XB-1mod n中既包含既了代理签名人B的私钥XB,又包含了代理多重的授权参数s,即使其他人知道了s,但其他任何人由于不知道XB,都不能假冒代理签名人B生成代理多重肓签名。

3.4 强不可抵赖性

在委托过程中,每位原始签名人Ai,都用自己的私钥通过si=XAie1+kimod n签发授权(mw,Pi,si),而在验证授权合法的公式siG=YAie1+Pi中又加入了原始签名人Ai的公钥,因此原始签名人Ai不可抵赖其授权。

3.5 身份证实性

对于有效的代理多重肓签名(mw,(P,s),R,C),授权证书中包含代理签名人的身份信息。代理签名验证时要用到代理授权参数P和代理签名人B的公钥YB。因此原始签名人和任何验证者在验证代理签名时都能确定代理签名人的身份。

4 结束语

椭圆曲线密码体制具有计算量小、处理速度快、安全性高、密钥短小、带宽要求低等优点,本文提出了一种基于椭圆曲线安全代理多重肓签名方案,经分析是既保证了代理签名人的权利又保证了授权人的权利,同时能有效抵御伪造攻击,保护代理人的合法利益,是一种安全的代理多重肓签名,同时具备强代理多重肓签名方案所应用的性质,且无须安全信道,具有更强的抗攻击性和较高的实用价值。

参考文献

[1]Ambo M,Usuda K,Okamoto E.Proxy signature:delegation of the power to sign messages[J].IEICE Trans on Fundamentals of ElectronicsCommunications and Computer Scie nces,1996,E79A(9):1338-1354.

[2]伊丽江,白国强,肖国镇.代理多重签名:一类新的代理签名方案[J].电子学报.2001,29(4):569-570.

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

[4]LEE B,KIM H,KIM K.Strong proxy signature and its applications[C]//Proc of Symposium on Cryptography and Information Security,2001.

[5]纪家慧,李大兴.新的代理多签名体制[J].计算机研究与发展,2004,141(14):715-719.

[6]吴旭辉,沈庆浩.一种代理多签名体制的安全性分析[J].通信学报,2005,26(7):119-122.

微商代理励志个性签名 篇2

1、生命力的意义在于拚搏,因为世界本身就是一个竞技场。

2、只要有勇气,整片蓝天便是你的。

3、也许,心动都不是恋爱,心定才是。

4、构成天才的决定因素就应是勤奋。有几分勤学苦练是成正比例的。

5、道路坎坷事不期,疾风劲草练男儿。

6、人的潜能是一座无法估量的丰富的矿藏,只等着我们去挖掘。

7、要想成为强乾,决不能绕过挡道的荆棘也不能回避风雨的冲刷。

8、没有激流就称不上勇进,没有山峰则谈不上攀登。

9、每个会编写一句有哲理话的人,都有这一段故事。

10、很希望自己是一棵树,守静,向光,安然,触着流云和微风,窃窃的欢喜。

11、不用看到我就躲,因为你根本没入我的眼。

12、如果为了安全而不和大海在一起,船就失去了存在的意义。

13、蝴蝶如要在百花园里得到飞舞的欢乐,那首先得忍受与蛹决裂的痛苦。

14、只有做强势的女人,才能有彪悍的命运!

15、一个有信念者所开发出的力量,大于个只有兴趣者。

16、天再高又怎样,踮起脚尖就更接近阳光。

17、梦里能到达的地方,脚步也能到达。

18、如果把才华比作剑,那么勤奋就是磨刀石。

19、努力的最大意义,是让自己随时有能力跳出自己厌恶的圈子。

20、撞脸撞衫无所谓,怕的是撞见你和她站在一起。

21、好好扮演自己的角色,做自己该做的事。

22、如果放不下过去,就别奢望有美好的未来。

23、志在山顶的人,不会贪念山腰的风景。

24、要纠正别人之前,先反省自己有没有犯错。

25、常说口里顺,常做手不笨。最淡的墨水,也胜过最强的记性。

26、不飞则已,一飞冲天;不鸣则已,一鸣惊人。

27、爱的力量大到可以使人忘记一切,却又小到连一粒嫉妒的沙石也不能容纳。

28、如果你没有触及到我的底线,无论怎样我都会笑着给你台阶下。

29、不管多么险峻的高山,总是为不畏艰难的人留下一条攀登的路。

30、生命总有挫折,但那不是尽头,只是提醒你,该转弯了。

31、昨天只是今天的记忆;明天却是今天的梦想。

32、君志所向,一往无前,愈挫愈勇,再接再厉。

33、开始很美,过程很累,结局很悲,清醒很难。

34、驾驭命运的舵是奋斗。不抱有一丝幻想,不放弃一点机会,不停止一日努力。

35、谎言像一朵盛开的鲜花,外表美丽,生命短暂。

36、一个不想爬山的人,谁也不能背他爬山。

37、人之所以会心累,就是常常徘徊在坚持和放弃之间,举棋不定。

38、修行是对自己良心的交待,不是做给别人看的。

39、你要以乐观的态度看待这个世界,你会发现世界是如此得美好!

40、萤火虫的光点虽然微弱,但亮着便是向黑暗挑战。

41、信心孕育信心,从胜利走向胜利。

42、无言以对的时候,沉默就是最好的解释。

43、拒绝严峻的冶炼,矿石并不比被发掘前更有价值。

44、经过大海的一番磨砺,卵石才变得更加美丽光滑。

45、瀑布跨过险峻陡壁时,才显得格外雄伟壮观。

46、没有不进步的人生,只有不进取的人!

47、只要能收获甜蜜,荆棘丛中也会有蜜蜂忙碌的身影。

48、半生花开,半世花落。这山长水远的道路,终究是要自己走下去。

49、鹰有时会飞得比鸡还低,但鸡永远飞不到鹰那样高。

50、任何一件事情,只要心甘情愿,总是能够变得简单。

51、大多数人想要改造这个世界,但却罕有人想改造自己。

52、不抱有一丝幻想,不放弃一点机会,不停止一日努力。

53、没有一种不通过蔑视,忍受和奋斗就可以征服的命运。

54、生活的激流已经涌现到万丈峭壁,只要再前进一步,就会变成壮丽的瀑布。

55、无人护我当软妹子,只能自学成女汉子!

56、自然界没有风风雨雨,大地就不会春华秋实。

57、现在站在什么地方不重要,重要的是你往什么方向移动?

58、挫折会来,也会过去,热泪会流下,也会收起,没有什么可以让你气馁的。

59、为成功找方法,不为失败找借口。

60、一个人除非自己有信心,否则带给别人信心。

61、踏平坎坷成大道,推倒障碍成浮桥,熬过黑暗是黎明。

62、即使道路坎坷不平,车轮也要前进;即使江河波涛汹涌,船只也航行。

63、夜雨染成天水碧。有些人不需要姿态,也能成就一场惊鸿。

64、舍得不曾舍得的舍得会舍得。习惯不曾习惯的习惯会习惯。

65、不开心睡一觉,就让它过去吧。伤心还好,伤胃就不好了。

66、痛苦是人生的拐杖,它使强者更强,弱者更弱。

67、没有一颗珍珠的闪光,是靠别人涂抹上去的。

68、只会幻想而不行动的人,永远也体会不到收获果实时的喜悦。

69、学问不经过平时的学习和积累,不能成名。

70、人生因追求而精彩,生命因坚强而美丽。

71、拼了命的不让身边的人难过,却发现,受伤的原来是我自己。

72、别小看任何人,越不起眼的人。往往会做些让人想不到的事。

73、不如意的时候不要尽往悲伤里钻,想想有笑声的日子吧。

74、点能够相同,但是选取了不一样的拐点,终点就会大大不一样!

75、没有创造的生活不能算生活,只能算活着。

76、去做你害怕的事,害怕自然就会消逝。

77、远大的目标非常重要,一定要有成功的企图心,而且越大越好。

78、勤奋是你生命的密码,能译出你一部壮丽的史诗。

79、即使没有人为你鼓掌,也要优雅的谢幕,感谢自己的认真付出。

代理多重签名 篇3

数字签名技术是一种身份认证技术,是数字化的印章技术。它和我们平时生活当中的印章一样具有身份认证功能。数字签名技术是当今信息化社会发展的需要,它的用途非常广泛,比如在电子商务和电子政务领域。现实中的需求又促进了数字签名技术的多样化发展,比如在一个公司或者某个政府部门,当一份文件需要多个人同时批示签字时,则有多个签名者要对同一份文件进行数字签名,这便是多重数字签名。又当签名人不方便自己签名而授权其他人替自己行使签名权时便产生了代理签名。多重签名和代理签名的结合又可以产生更为复杂的签名方案。比如代理多重签名方案[1,2],它是指两个以上的原始签名者将他们的签名权同时指派给同一个或者各自对应的代理签名者,代理签名者代表多个原始签名者实现他们的多重签名。代理多重签名在现实生活中也是比较常见的。例如,一个公司发表的声明涉及到财务部、开发部、销售部、售后服务部等部门,需要这些部门签名认可,如果这类声明较多,这些部门指定一个他们都信赖的人或部门代表他们签名。与这些部门共同生成多重签名相比,其效率大大提高[3]。

文献[4]提出一种类似代理多重数字签名的新型签名方案,即有代理的多重数字签名方案。它与代理多重数字签名主要区别是原始签名者的代理签名人不一定是同一个人,并且在一次代理多重数字签名过程中,签名的参与者允许有部分是原始签名人,而另一部分是代理签名人。该新型签名方案根据如下的现实背景意义提出。在实际的多重签名过程中,应该经常会遇到这种情况:某几个原始签名人不在家,需要这些签名人的代理签名人和其他的原始签名人一起对某个消息进行多重签名。这种情况是代理多重签名方案和普通多重签名方案不能解决的。在现实环境下,对这种签名方案的需求可能比对代理多重签名方案和普通的多重签名方案的需求更多些,因此需要一种新的签名方案来解决这个问题。在该签名方案中,如果当所有的签名人全是原始签名人时,该签名方案就是一种普通的多重签名方案。如果当所有的签名人全是代理签名人时,该签名方案就变为一种代理多重签名方案。因此普通的多重签名和代理多重签名是有代理的多重签名的一种特殊形式。由于这种签名方案的适用范围要比代理多重签名和普通的多重签名广,研究这种签名有助于代理多重签名和普通的多重签名的研究。有助于发现两种签名之间的联系从而促进将一个领域的研究成果尽快应用到另一个领域[2]。

椭圆曲线上的密码体制比在有限域上的密码体制具有更小的密钥量、更快的速度和更高安全性等优点[5],因此倍受密码学界的高度重视,密码学界普遍认为它将替代RSA成为通用的公钥密码体制。最近几年椭圆曲线已经成为学界广泛研究和讨论的热点。利用椭圆曲线的离散对数问题可以构造各种数据加密算法、密钥交换协议和数字签名方案等,可见椭圆曲线上的密码体制具有广泛的应用价值。因此,研究基于椭圆曲线上的签名方案具有重大的意义。

本文基于椭圆曲线的离散对数困难问题提出了两个有代理的多重数字签名方案,分别是有代理的广播多重签名方案和有代理的有序多重签名方案。并对两个方案的安全性做了详细的分析和讨论。本文提出的两个方案无论对于签名者还是验证者,在计算量方面较文献[4]和文献[6,7]的两个方案有明显的优势,并且因为本文的两个方案,基于椭圆曲线的离散对数困难问题,在安全性方面也有明显优势。本文的两个方案理论上满足代理多重签名方案和普通多重签名方案的安全性要求。

1 有代理的广播多重签名方案

该签名方案有如下几个参与者:消息发送者UI,签名者Ai,其代理人为Bi,签名收集者UC和签名验证者UVUI将消息同时发送到Ai(i=1,2,…,n)进行签名,Ai或者其代理人将签名消息发送给签名收集者UC,UC收到签名消息后验证签名的有效性,如果有效,对签名进行整理并产生多重签名,然后将多重签名发送到UV进行验证。UI不参加数字签名。

1.1 系统参数

待签名消息m;p是一个大素数,GF(p)是含有p个元素的有限域,选取定义在有限域GF(p)上的一条安全椭圆曲线E:y2=x3+ax+b (a,bGF(p)),p是一个大于2160的大素数,保证有理点群上的离散对数问题是难解的,且该曲线不是超奇异的。GE的基点(即),签名者Ai(i=1,2,…,n)的私钥为xi∈[1,p-1](保密),相应的公钥为Yi=xiGmodp;签名者Ai的代理签名人为Bi(i=1,2,…,n),对应的私钥为αi∈[1,p-1],公钥为βi=αiGmodpH( )为一个单向的无碰撞的哈希函数。令消息摘要e=H(m)。

1.2 代理委托过程

原始签名人Ai(i=1,2,…,n)随机选取一个数ki∈[1,p-1],并且保证ki不能重复使用,计算Ki=kiGmodpσi¯=(xi+ki)emodp,并将(Κi,σi¯)秘密地发送给Bi(i=1,2,…,n);Bi验证等式Gσi¯=(Yi+Κi)emodp是否成立,如果不成立,则拒绝接受授权。否则Bi计算σi=σi¯+αiemodpσiBi的签名密钥。

1.3 签名生成过程

设签名者Ai(i=1,2,…,n)在对消息进行多重数字签名时,其中有t(0≤tn)个用户是委托其代理人进行签名的,不失一般性,设这t(0≤tn)个签名人为这n个签名人的前t个人。

Step1UIm发送给每一个签名者。

Step2 每个签名人随机选取ui∈[1,p-1](ui保密),计算ri=uiGmodp,并将ri发送给其他的签名者。

Step3 每个签名人计算R=i=1nrimodp;如果R+e=0modp或者R+e=1modp,则返回Step2。

Step4 如果签名者是代理人,则计算si=(R+e)σi+uimodp,如果签名者是原始签名人则si=(R+e)xi+uimodp

Step5 若签名人为原始签名人则发送(m,(si,ri))给Uc作为他的签名消息,若是代理签名人则发送(m,(si,ri),Ki)给Uc作为他的签名消息。

1.4 单用户签名验证过程

Uc收到签名(m,(si,ri))或((m,(si,ri),Ki) ( i=1,2,…,n)后进行以下操作:

Step1 计算R=i=1nrimodp;

Step2 验证签名消息的有效性,如果第i个签名人是代理签名人,则验证:

Gsi-ri=(R+e)(Yi+βi+Ki)emodp (1)

如果第i个签名人是原始签名人,则验证:

Gsi-ri=(R+e)Yimodp (2)

若等式成立,签名有效,继续产生多重签名;否则签名无效,终止签名。

1.5 多重签名产生过程

Uc计算S=s1+s2+…+snmodp,(R,S)为消息的多重签名。签名收集者UC将(R,S)发送到签名验证者Uv

1.6 多重签名验证过程

当签名验证者Uv收到消息(m,(R,S))后,检查R+e=0modp或者R+e=1modp是否成立,如果成立,则验证失败。否则验证等式:

GS-R=(R+e)(ei=1t(Yi+βi+Κi)+j=t+1nYj)modp(3)

若等式成立,则该有代理的广播多重签名是有效的。

1.7 正确性证明

(1) 式(1)的正确性证明

Gsi-ri=G((R+e)σi+ui)-rimodp

=G((R+e)(σi¯+αie)+ui)-rimodp=G(R+e)(xie+kie+αie)+Gui-rimodp=(R+e)(Yi+βi+Κi)emodp

因此验证式(1)是正确的。

(2) 式(2)的正确性证明

Gsi-ri=G((R+e)xi+ui)-rimodp

=(R+e)Yi+Gui-rimodp

=(R+e)Yimodp

因此验证式(2)是正确的。

(3) 式(3)的正确性证明

GS-R=G(s1+s2+…+sn)-Rmodp

=G(i=1tsi+j=t+1nsj)-Rmodp=G(i=1t((R+e)σi+ui)+j=t+1n((R+e)xi+uj))-Rmodp=(R+e)(ei=1t(Yi+βi+Κi)+j=t+1nYj)+Gi=1nui-Rmodp=(R+e)(ei=1t(Yi+βi+Κi)+j=t+1nYj)modp

因此验证式(3)是正确的。

1.8 安全性分析

如果t=0,该方案变成普通的基于椭圆曲线的广播多重数字签名方案。

如果t=n,该方案变成一种代理多重数字签名方案。

如果t=n,且Bi(i=1,2,…,n)为同一个人,则该方案是一种多人委托给同一个人进行的签名方案。

由于该签名方案综合了代理签名方案和多重签名方案的特点,因此它的安全性也要同时满足两种签名方案的安全性要求。下面对其安全性进行具体的分析

(1) 基本不可伪造性 在上述签名方案中,每位签名者Ai都有私钥xi和公钥Yi=xiGmodp,任何攻击者包括Bi欲从每一位签名者公开的公钥Yi求解其私钥xi相当于求解椭圆曲线的离散对数问题。任何攻击者包括Bi不能伪造原始签名人Ai的普通数字签名是显然的。一般攻击者更加不可能伪造Ai参与有代理的多重数字签名。下面证明Bi不能伪造Ai进行有代理的多重数字签名:

Bi要想伪造Ai进行有代理的多重数字签名,但Bi不知道Ai的私钥xi,因此不可能通过Ai的签名公式产生的有效签名si。又若Bi想通过验证公式(2)式求解si则将面临求解椭圆曲线的离散对数困难问题。Bi只能选择siui使得(2)式成立。也即选择siui使得si-ui=(R+e)ximodp成立。由于Bi不知道Ai的私钥xi,Bi只知道(Κi,σi¯),但是若Bi想根据Ki求出ki则将面临求解椭圆曲线的离散对数困难问题。Bi得不到ki则不能根据σi¯解出xi。那么只有当R+e=0modp时才能确定siui的值,但在签名的生成过程中不会出现R+e=0modp的情况,因此Bi不能伪造Ai进行有代理的多重数字签名。因此该签名方案满足签名的基本不可伪造性,它可以保证原始签名人Ai的基本安全要求。

(2) 代理签名的强不可伪造性 除Bi外任何其他人包括原始签名人Ai本身都不能生成Ai的有效的代理数字签名。因为要产生Ai的代理签名需要有两个条件。一是截获Ai发送给Bi(Κi,σi¯),并且知道是Ai发送的,因为攻击者需要用到Ai的公钥判断是否是Ai的授权委托;二是Bi的私钥,因为签名密钥的产生需要用到Bi的私钥。只有Bi才具备这两个条件能生成代理签名密钥σi,所以除了Bi以外,任何第三方(包括Ai)都不能伪造Bi的代理的多重签名。一般攻击者不能伪造Bi的代理签名是显然的,下面证明原始签名人Ai不能伪造Bi进行有代理的多重数字签名:

Ai要想伪造Bi进行有代理的多重数字签名,Ai需要选择siui使得验证公式(1)式成立。也即选择siui使得si-ui=(R+e)(xi+αi+ki)modp成立。由于Ai不知道Bi的私钥αi,因此只能R+e=0modp成立时,才能求得siui的值。而在签名过程中,明确规定了不能出现R+e=0modp的情况,因此Ai无法伪造Bi进行有代理的多重数字签名。因此该签名方案满足代理签名的强不可伪造性,它可以保证代理签名人的安全要求。

(3) 代理签名的可区分性 由签名公式可知,任何代理签名人Bi生成的代理签名与其原始签名人Ai生成的普通签名有明显的区别。代理签名人Bi签名时利用的是由自己的签名私钥αi和授权σi¯共同生成的代理签名密钥σi,即σi=σi¯+αiemodp。而原始签名人Ai签名时利用的是自己的私钥xi。而且代理签名人发送给签名收集者的签名结果时要比原始签名人的发送签名结果多一部分,即Ki。由于Ki=kiGmodp,而且规定了ki不能重复使用,显然不同的代理签名人的Ki是不同的。因此不同的签名人的签名结果是可区分的。

(4) 签名的强不可否认性 因为除Bi外任何其他人包括原始签名人Ai都不能获得的Bi私钥和代理签名密钥,从而不能产生有效的代理签名。因此除Bi外任何人都不能生成Ai的有效代理数字签名。结合该方案前面的三点安全性特点和签名的验证公式可知,代理签名人Bi在代表原始签名人Ai产生了有效的代理数字签名后,他就不能向任何其他人否认他所生成的有效代理签名。

(5) 不可抵赖性 由前面四个安全性特点可推导出:在该签名方案中任何签名人(无论是原始签名人Ai还是代理签名人Bi)在生成一个数字签名后,不能再对它加以否认。

(6) 密钥依赖性 在这个签名体制中,由代理委托过程可知代理签名人Bi的签名密钥σi是由原始签名人Ai计算σi¯=(xi+ki)emodpσi=σi¯+αiemodp得来的,因此,代理签名人的签名密钥是依赖于原始签名人的密钥的。对签名人是原始签名人Ai的情况,siAi的私钥xi的函数,即它依赖于xi;对签名人是代理签名者的情况,siAi的私钥xiBi的私钥σi的函数,即它依赖于xiσi

(7) 可注销性 原始签名人Ai如果想收回给代理签名人Bi的代理签名权,那么他只需要向大家广播一条消息,宣布Ki不再有效,从而σi也失效,生成的代理签名也失效了。

(8) 身份可识别性 签名收集者UC和原始签名人Ai看到一个有效的签名消息((m,(si,ri),Ki)后,可以根据Ki确定代理签名人Bi的身份。首先当代理签名人Bi生成他的签名消息后,他必须将签名消息(m,(si,ri)和Ki发送给签名收集者UC,若签名收集者UC没有接收到Ki,他将采用原始签名人的验证公式去验证Bi的签名的有效性,由签名生成过程和验证过程可知,该验证结果必然是无效的,因此Bi必须发送Ki给签名收集者UC。又若有攻击者获取了Ki从而发送一个伪造的签名给签名收集者UC,但由于该攻击者无法获取的代理签名人Bi签名密钥σi,那么由签名的验证过程可知,该伪造的签名必然不能通过验证。综上所述,原始签名人Ai的有效代理签名必然是其代理签名人Bi所生成。利用这个性质,原始签名人Ai可以对代理签名人Bi进行监督,使代理签名人Bi不能在不被发现的情况下滥用他的签名权利。

(9) 如果系统攻击者企图通过消息签名和验证公式求解原始签名人或者代理签名人的私钥或随机数,其难度不低于求解椭圆曲线离散对数问题。在消息签名公式中欲求得原始签名人Ai或代理签名人Bi的私钥或者随机数则必须首先知道二者之一,但求解其中任何一个都将面临椭圆曲线的离散对数问题。由单个用户的签名验证公式可知攻击者无法从消息签名和验证公式求解出签名人私钥和随机数,在多重签名方案中也如此。

(10) 多重签名的不可伪造性 若有系统攻击者欲伪造最终的多重签名(m,(R,S)),则其难度必然不低于求解椭圆曲线的离散对数问题。由于R的公开性和确定性,通过验证公式计算的满足条件的s′必然是相应的消息m的签名消息s,即s′=s。所以攻击者无法伪造对于他自己有利的消息m′的签名。为防止攻击者发送对于他自己有利的消息m′给验证者以伪造m′的签名消息,可以给消息拥有者也分配一对私钥和公钥。消息拥有者以其私钥将消息加密的方式将消息发送出去,如果消息接收方可以通过消息拥有者的公钥对收到的消息进行解密则继续签名,否则丢弃。那么攻击者通过验证过程构造出来的签名消息为无效签名消息。

(11) 该方案能够抵抗内部合谋伪造攻击 如果部分不诚实签名者勾结伪造一个签名,那么他们的签名必然不能通过验证者的验证。由于最终签名的验证公式中要用到消息摘要e,那么当有部分签名人使用了不同的消息摘要e′ 时,必然无法通过最后的验证。因此,除了参与该签名方案的原始签名人和代理签名人共同完成签名以外,任何其他人都不能生成有效的有代理的多重数字签名。

2 有代理的有序多重签名方案

2.1 系统参数和初始化

参数同上述基于广播的有代理的多重签名方案,消息发送者UI预先设计一种签名顺序,并将这种签名顺序(A1,A2,…An)发送给每一位签名者和签名验证者UV

2.2 委托过程

与上述基于广播有代理的多重签名方案的委托过程相同。

2.3 签名产生过程

Step1UI计算e=H(m)判断emodp是否为0,若为0,则m=m//一个空格,否则转Step2。

Step2UI将消息m发送到第一位签名者A1,A1随机选取u1∈[1,p-1],计算r1=u1Gmodp,计算:

s1={eσ1+u1modpBiex1+u1modpAi(4)

将(m,(s1,R1))发给下一个签名人,若签名人为代理签名人B1,则还需要发送K1给下一个签名人。

Step3 第i个签名者收到(m,(si-1,ri-1)),首先对签名消息进行验证:

Zi=e(Yi+Ki+βi) 由Bi代理签名

YiAi签名 (5)

第i个签名者的验证等式为:

Gsi-1=ej=1i-1Ζj+j=1i-1rjmodp(6)

如果验证式(6)成立,第i个签名者认为前i-1个人对消息的签名有效;否则认为签名无效,拒绝继续对消息签名。

Step4 第i个签名者随机选取ui∈[1,p-1],计算ri=uiGmodp,计算:

si=si-1+i+uimodpBi签名时

si-1+exi+uimodpAi签名时 (7)

如果i<n,则将(m,(si,ri))发送给下一个签名人,若签名人为代理签名人Bi,则还需要发送Ki给下一个签名人,返回Step3。如果i=n,则 (m,(si,ri))就是生成的有代理的有序多重数字签名。

2.4 签名验证过程

当Uv收到(m,(sn,rn))时,用式(8)验证:

Gsn=ej=1nΖj+j=1nrjmodp(8)

如果式(8)成立,则对消息m的有代理的有序多重签名有效;否则签名无效。

2.5 正确性证明

首先证明式(6)的正确性:

vi={σiBixiAi(9)

又由式(7)和式(4)可以知道:

将以上各式相加可得:

si-1=ej=1i-1vj+j=1i-1ujmodp

:Gsi-1=G(ej=1i-1vj+j=1i-1uj)modp=eGj=1i-1vj+j=1i-1rjmodp

由式(9)、式(5)和σi的计算公式可得:

Gvi={GσiGxi={G(σi¯+αie)Yi={G((xi+ki)e+αie)Yi={e(Yi+Κi+βi)Yi=Ζi

那么对任意的i有:

Gj=1i-1vj=j=1i-1Ζj

因此式(6)是正确的。而式(8)只是式(6)的一个特殊形式,即i=n时,式(6)变为式(8)。因此本有序多重签名方案是正确的。

2.6 安全性分析

此处与上述有代理的广播多重签名方案的安全性分析类似,在此不再重复。

3 效率分析

首先与文献[4]相比,本文提出的两个方案是基于椭圆曲线离散对数困难问题,而文献[4]的两个方案都是基于普通的离散对数困难问题,方案中有大量的模乘和模幂运算。因此,在委托、签名和验证过程中本文提出的方案较文献[4]中的方案在计算量上明显要小得多。文献[6]根据DSA签名方案在椭圆曲线上构造了有代理的多重签名方案,但方案签名过程和验证过程都比较复杂,而且有多处要求对消息摘要求逆运算。本文提出的两个方案避免了模幂运算,只有少量的模乘运算,大量运用了计算简单的模加运算。而且本文的方案基于椭圆曲线离散对数困难问题构造,可以用较短的密钥实现基于离散对数的签名方案同等的安全性。表1给出了本文方案与文献[4]和文献[6]中的方案在委托、签名和验证阶段的各种运算的计算总量对比。有代理的有序多重签名方案的运算总量的对比情况大致相同,在此不再赘述。假设在一次有代理的广播多重数字签名过程中,共有n个签名人,其中有t个代理签名人和n-t个原始签名人参加了签名。

根据表1可以看出本文提出的方案较文献[4]的方案不仅模乘运算量要小而且省略大量的模幂运算,较文献[6]的方案则主要体现在省略了较多的模乘运算和约n次的求逆运算。所以本文提出的有代理的多重数字签名方案效率更高,实用性更好。

4 结 论

本文研究了有代理的多重签名方案,这种签名允许部分签名人委托其代理人进行签名,在现实中比普通多重签名方案和代理多重签名方案有更广泛的应用。因此研究有代理的多重签名更具有应用价值,而且有利于普通多重签名方案和代理多重签名方案的研究。然后本文基于椭圆曲线的离散对数困难问题提出了两个有代理的多重签名方案,并对两个方案的安全性和效率做了详细的讨论。两个方案安全性较高、计算简单,效率较好,从理论上分析可知能抵抗系统攻击者的各种攻击。

参考文献

[1]Y Li,G Bai,G Xiao.Proxy multi-signature scheme a newtype of proxysignature scheme[J].Electronics Letters,2000,36(6):527-528.

[2]王晓明,符方伟.一种代理多重数字签名方案的安全性分析[J].通信学报,2002,23(4):98-102.

[3]鲁荣波,何大可,王常吉.改进的代理多重签名方案[J].计算机应用研究,2007,24(12):165-170.

[4]王连海,王英龙.基于DLP的有代理的多重数字签名方案研究[J].通信学报,2005,26(12):37-42.

[5]Koblitz N.Elliptic Curve Cryptosystem[J].Mathematics of Computa-tion,1987,48:203-209.

[6]于成尊,王彩芬,刘军龙,等.基于椭圆曲线的有代理的多重签名[J].计算机应用研究,2006,23(10):113-115.

[7]王连海,徐秋亮.基于椭圆曲线密码体制的代理签名方案研究[J].计算机应用研究,2004,21(4):122-126.

[8]Sun HM,Hsieh B T.On the security of some proxy signature scheme[EB/OL].http://eprint.iacr.org/2003/068.

[9]Wang G,Bao F,Zhou J,Deng R H.Security analysis of some proxysignatures[A].Information Security Cryptology ICIS[C].Spriger-Verlag,2004,305-319.

[10]纪家惠,李大兴.新的代理多签名体制[J].计算机研究与发展,2004,41(4):715.719.

基于离散对数防欺诈的多重签名方案 篇4

数字签名是现代通信中实现消息认证的一种重要手段。随着电子商务的迅猛发展,数字签名的应用也越来越广泛。普通的数字签名是由一个用户对文档进行签名。而多重签名则是由多个用户对文档进行签名,它在处理团体内部事务中发挥着不可替代的作用。

自C.Boyd提出第一个多重签名方案以来,各种多重签名方案相继出现。文献[1]提出了基于Meta-ElGamal的多重签名方案,此方案具有签名长度不受团体成员人数影响的特点,但却存在内部欺诈问题。为了避免这种内部欺诈,许多学者都开展了相应的研究[2,3,4,5]。文献[2,3]提出了增设签名中心,由中心和签名者一起生成密钥的解决方案。文献[4]对文献[2]中的签名方案进行了分析,发现这种改进的方案仍然是不安全的,并提出改进意见。上述这些方案的实现都是在签名成员已知签名明文的基础上进行的,文献[5]提出了一种多重签名方案,此方案能在签名成员顺序知道明文的前提下完成签名,但对其安全性进行分析后,发现该方案的参数选取需要格外慎重,否则会出现伪造签名的可能。

在研究各签名方案的基础上,利用文献[4]的改进思想,给出一种多重签名方案,此方案不仅具有参数选取方便、防止内部欺诈的特点,而且能适用于签名成员顺序接收明文,并决定是否签名的实际情况。

1 新方案的构成

1.1 密钥的生成

设有一个包含n个成员的群体A={U1,U2,…,Un},群体成员将依次获取待签名的明文,并根据所获取的明文内容决定是否进行签名。

可信中心选取一个大素数p,并在GF(p)中选择一个本原元g,单向函数f()以及单向hash函数h()作为系统参数公开。

1.1.1 签名者的密钥生成

(1)每个签名者Ui(i=1,2,,n)选择一个随机数xui∈Z*p-1,计算yui=gxui mod p发送给中心。中心选择一随机数li∈Z*p-1,计算yi=yuigli,并将li,yi秘密发送给Ui

(2)Ui计算yi的承诺yi=f(yi),并公布。

(3)在所有签名者的承诺都公布以后,Ui计算其私钥xi=xui+li mod(p-1),并将yi公开,作为其公钥,密藏xi作为其私钥。

群体的公钥则设置

1.1.2 接收者的密钥生成

接收者选择一随机数t∈Z*p-1,计算T=gt mod p,公开T作为其公钥,密藏t作为其私钥。

1.2 多重签名的生成

1.2.1 初始化

(1)每个签名者Ui(i=1,2,,n)选择一个随机数ki∈Z*p-1,计算ri=gki mod p,ri的承诺ri=f(ri),并公布各自的承诺。

(2)当所有签名者的承诺都公布以后,各签名者Ui再公布其ri,使得每个签名者可计算

1.2.2 多重数字签名的生成

假定成员U1生成消息m,并发起对消息的签名,所有签名者可以任意的顺序依次接收消息m,并决定是否签名。为了符号上的简洁,不妨设签名次序为U2,U3,…,Un

step1 由签名者U1生成消息m,并签名。令S0=0,利用秘密参数k1及密钥x1对m作ElGamal签名

S1′ = h(m)x1 -Rk1 mod (p-1)。

S1′加入S0:S1 = S0 + S1′。

step2 U1选取异于k1,x1的数a1∈Z*p-1,对m进行ElGamal加密

A1=ga1mod p,

M1 = my2a1mod p。

将参数{S1,A1,M1}传递给下一个签名者U2。

step3当签名者Uj(j=2,3,,n)接收到参数{Sj-1,Aj-1,Mj-1}后,作如下处理:

(1)解密运算

(2) 利用下式验证之前签名者签名的正确性

(3) 根据验证结果及解密得到的明文内容决定是否进行签名,若不同意,则退出并作终止处理。若同意签名则转入(4)。

(4) Uj利用秘密参数kj及密钥xjm作ElGamal签名

如果j<n,则进入(5),否则,转入(6)。

(5) Uj选取异于kj,xj的数aj∈Z*p-1,计算

将参数{Sj,Aj,Mj}传给下一个签名者Uj+1,依次类推。

(6) 签名者Un选取异于kn,xn的数an∈Z*p-1,计算

将参数{R,Sn,A,M}作为n个成员对消息m的签名传送给消息接收者。

1.3 多重签名的验证

接收者在收到多重签名{R,Sn,A,M}后,首先解密,如下:

接着,验证签名的有效性,如下:

2 新方案的安全性分析

(1)每个签名成员利用秘密参数ki及密钥xim进行签名。因此,保护kixi的安全是至关重要的。攻击者通过公开信息riyi分别求出kixi面临着求离散对数问题。因而,在不能有效计算离散对数的前提下,两个参数是安全的;此外,xi=xui+li mod(p-1),签名中心成员已知li,但无法知道xui,因而,签名中心和攻击者合谋也不能计算出xi;在签名过程中,需要公开传递参数Si,Si是两个秘密参数的线性组合,在两个参数保持随机性的情况下,不能得到关于它们数值的可利用信息。

由新方案的密钥生成过程可以看出,子密钥的生成是由可信中心参与产生的。这样就弥补了子密钥的产生完全由签名者自己选择的漏洞,保证了子密钥产生的随机性,有效避免了文献[2]中所述的攻击。

在各签名者Ui公布其公开子密钥yi之前,都要先公布yi的承诺,这样保证了各签名者都是在已经产生了子密钥的情况下,才知道其他成员的子密钥。同样,各签名成员都是在公布完签名参数ri的承诺后,才公布参数ri的。承诺的公布有效避免了文献[2]存在的安全问题。

综上所述,新方案的签名过程是安全的,并且能完全有效地防止文献[1]中存在的内部欺诈。

(2)签名过程中,每个成员将参数{Sj,Aj,Mj}传递给下一个签名者,其中(Aj,Mj)是m的ElGamal体制下的密文,只有Uj+1能用自己的私钥解密得到明文。这样,既实现了各签名者顺序己知明文,并决定是否签名的过程,而且实现了明文在传递过程中的保密性。

3 结 论

针对一般的基于离散对数的多重签名方案存在内部欺诈的情况,本方案通过增设可信中心及公布位承诺等措施,解决了相应的安全问题。在进行签名的过程中,通过数据的加密传送,保证了系统的安全,并实现了签名成员顺序接收明文,决定是否签名的过程。

摘要:基于离散对数问题的困难性,给出一种防欺诈的多重签名方案。该方案具有防止内部欺诈的特点,同时能适用于签名成员顺序接收明文,并决定是否对明文进行签名的实际情况。

关键词:多重签名,离散对数,单向函数,位承诺

参考文献

[1]Harn L.New digital signature scheme based on discrete logarithm.Electronics Letters,1994;30(5):396—398

[2]陆浪如,曾俊杰,匡友华,等.一种新的基于离散对数多重签名方案及其分布式计算.计算机学报,2002;25(12):1417—1420

[3]罗敏,施荣华,李璇.一种改进的有序多重数字签名方案.计算机工程与应用,2004;40(25):129—130

[4]韩小西,王贵林,鲍丰,等.针对基于离散对数多重签名方案的一种攻击.计算机学报,2004;27(8):1147—1152

[5]郑志华,徐秋亮.一个安全有效的多重数字签名方案.计算机工程与应用,2003;39(4):75—76

椭圆曲线在多重盲签名中的应用 篇5

椭圆曲线密码体制是公钥密码学领域的一个重要课题。1985年,Neal Koblitz和Victor Miller分别提出椭圆曲线密码体制,引起了当时信息安全界的极大关注。椭圆曲线密码体制不是像RSA密码体制或ElGamal密码体制那样建立在一个大整数分解或素域乘法群离散对数问题之上,而是建立在由椭圆曲线上的点构成Abel群加法群所构造的离散对数计算困难性的基础之上的[1,2]。椭圆曲线密码体制具有更小的密钥量、更快的速度、更高的安全性等优点,不仅能够对信息进行加密,而且还能用来构造数字签名方案,盲签名方案以及多重盲签名方案等。因此,研究基于椭圆曲线上的签名方案具有重大的意义。

鉴于目前多重盲签名方案的研究成果很少,本文在这方面做了一些探索,设计了三个基于椭圆曲线的多重盲签名方案。该方案使得多个签名人能够同时对盲化的消息实施签名,是建立在目前还没有有效求解方法的非超奇异椭圆曲线上,安全性是基于椭圆曲线离散对数问题的难解性基础之上。

1相关知识

1.1盲签名

盲签名是由D. Chaum[3]在Crypto'82首先提出的,是一种特殊的数字签名方法,在电子投票和数字货币协议中有广泛的应用。一般地,盲签名具有以下两个特征:①消息的内容对签名者保密,②签名者后来看到消息和签名时不能与盲消息和盲签名联系起来。如今,找到一种可证明安全的高效算法对盲签名来说依然是一个重要的研究方向。

1.2多重数字签名

数字签名是日常生活中手写签字的模拟,能够实现用户对消息的认证[4]。在数字签名过程中,有时需要多个用户对同一消息进行签名和认证,比如在电子现金系统中对大额电子现金的签发需要多个人对现金的发放进行签字,目的是在保护用户隐私权的同时,进一步加强电子现金的安全性。我们把能够实现多个用户对同一消息进行签名的数字签名称为多重数字签名。根据签名过程的不同,多重数字签名方案可分为两类:有序多重数字签名方案和广播多重数字签名方案。

1.3有限域上的椭圆曲线[5]

椭圆曲线是指亏格为1的平面代数曲线,通常用E表示。一般地,可以用Weierstrass方程描述:y2+a1xy+a3y=x3+a2x2+a4x+a6,其中aiF,i=1,2,3,4,6,F是一个域,可以是有理数域,复数域或有限域GF(Pr)。满足上面的点(x,y)及一个特殊的无穷远点O就构成椭圆曲线。若GE上的任意一点,则G的阶定义为满足nG=O的最小整数n椭圆曲线有很多完美的结果,而密码学界使用椭圆曲线的目的在于:椭圆曲线上可以提供无数的有限Abel群,并且由于这种群的结构丰富,易于实际计算。从而可以用于构造密码算法,这也是本文选用椭圆曲线构建多重盲签名方案的目的。

1.4椭圆曲线离散对数问题

E为基于有限域GF(q)的一条椭圆曲线,GE上的一点,则椭圆曲线离散对数问题为:给定PE,求解整数x,使得P=xG成立。这里的xG表示数乘,即xG相加。

椭圆曲线离散对数问题被认为比大整数分解问题及有限域GF(q)上的离散对数问题更难。目前,对于有限域上的非超奇异椭圆曲线离散对数问题还没有有效的解法,因此,本文用来建立多重盲签名方案所采用的椭圆曲线是非奇异的,其安全性建立在椭圆曲线离散对数问题的难解性之上。

2基于椭圆曲线的多重盲签名方案

2.1多重盲签名方案一

(1) 系统初始化

U为消息发送者,Si(i=1,2,…,n)为消息签名者。选取定义在有限域GF(q)上的一条安全椭圆曲线E:y2=x3+ax+b(a,bGF(q),q是一个大于2160的大素数,保证有理点群上的离散对数问题是难解的),且该曲线是非超奇异的;选取一个基点GE(GF(q))ord(G)=n,即nG=O;H是一个可将任何位串转化为整数的单向哈希函数。系统将椭圆曲线E,基点G,H,Q公开,d保密。待签消息为m,Rx()表示取点的x坐标。

(2) 签名产生过程

第一步:签名人Si(i=1,2,…,n)随机选取一整数di∈RZ*n作为其私钥,并且计算Qi=diG作为其公钥;

第二步:签名人Si(i=1,2,…,n)随机选取一整数ki∈RZ*n,分别计算pi=kiG,并共同计算P=i=1nPi,发送P给用户U;

第三步:用户U随机选取α,βRZ*n,计算r=αG-βΡ+i=1nQi=(x,y),并记rx=xmodn,ry=ymodn,若rx=0或ry=0,则重复第三步;

第四步:用户U计算m˜=rxΗ(mry)-βmodn,发送m˜Si(i=1,2,…,n);

第五步:签名人Si(i=1,2,…,n)分别计算s˜i=di+m˜kimodn,并共同计算s′=i=1ns˜i,发送s′给U;

第六步:用户U计算s=s′+αmodn,则(r,s)为消息m的多重盲签名。

(3) 签名验证过程

验证者可以进行如下操作,对Si(i=1,2,…,n)签名(m,(r,s))进行验证。

第一步:计算sG-rxH(m,ry)P;

第二步:若rx=Rx(sG-rxH(m,ry)P)modn成立,则签名正确;否则,签名不正确。

下面分析以上多重盲签名方案一的安全性。

(1) 签名的正确性

根据sG=i=1nQi+m˜Ρ,得:

sG=sG+αG=i=1nQi+m˜Ρ+αG=i=1nQi+

(rxH(m,ry)-β)P+αG=ryH(m,ry)P+αG-βP+i=1nQi

所以sG-rxH(m,ry)P=αG-βP+i=1nQi,即rx=Rx(sG-rxH(m,ry)P)modn

(2) 签名的盲性

盲化方程为m˜=rxΗ(m,ry)-βmodn,消息m隐含于该方程中,签名人要恢复m,就必须知道αG-βG+i=1nQiβ,问题等价于计算ECDLP。因此在难于计算离散对数的前提下,该方案具有强盲性。

(3) 签名的不可伪造性

签名方程为s′=i=1ns˜i,其中s˜i=di+m˜kimodn,该方程可以 看作关于diki的二元方程,若签名人Si(i=1,2,…,n)保护得当,则第三者无法得到di。则消息密钥ki使用一个安全的随机数或伪随机数获得,因此第三者要伪造多重盲签名是不可能的。

2.2多重盲签名方案二

(1) 系统初始化

系统初始化同方案一,与方案一不同的是本方案中我们假定明文消息m已经通过消息编码方案嵌入到椭圆曲线的一个点Pm中,记为Pm=(mx,my)∈E(GF(q))。关于椭圆曲线消息编码方案可参看文献[4,6]。

(2) 签名产生过程

第一步:签名人Si(i=1,2,…,n)随机选取一整数diRZ*n作为其私钥,并且计算Qi=diG作为其公钥;

第二步:签名人Si(i=1,2,…,n)随机选取一整数kiRZ*n,分别计算Pi=kiG,并共同计算P=i=1nΡi=(xp,yp),r˜=xpmodn,若(r˜n)=1,则发送P给用户U,否则重复第二步;

第三步:用户U随机选择αRZ*n,计算A=P+αi=1nQi=(xA,yA),记r=xAmodn,若r=0,重复第三步;

第四步:用户U计算m˜=αmyrr˜modn,发送m˜Si(i=1,2,…,n);

第五步:签名人Si(i=1,2,…,n)分别计算s˜i=dim˜+r˜kimodn并共同计算s′-i=1ns˜i,发送s′给U;

第六步:用户U计算s=sr-1r˜-1modn,则(r,s)为消息m的多重盲签名。

(3) 签名验证过程

验证者可以进行如下操作,对Si(i,1,2,…,n)签名(m,(r,s))进行验证。

第一步:计算sm-1yG+(1-(rmy)-1)P;

第二步:若r=Rx(sm-1yG+(1-(rmy)-1)P)modn成立,则签名正确;否则签名不正确。

下面分析多重盲签名方案二的安全性,其中签名的盲性和不可伪造性与方案一类似,不再赘述。这里仅证明签名的正确性。

根据sG=m˜i=1nQi+r˜Ρ,得

smy-1G+(1-(rmy)-1)Ρ=sr-1r˜-1my-1G+Ρ-(rmy)-1Ρ=(i=1ns˜i)r-1r˜-1my-1G+Ρ-(rmy)-1Ρ=i=1n(dim˜+r˜ki)r-1r˜-1m-1yG+Ρ-(rmy)-1Ρ=Ρ+αi=1nQi

所以r=Rx(sm-1yG+(1-(rmy )-1)P)modn

2.3多重盲签名方案三

(1) 系统初始化

系统初始化同方案一,与方案一不同的是本方案中我们选取两个E(GF(q))上的阶为n的基点G1,G2。

(2) 签名产生过程

第一步:签名人Si(i=1,2,…,n)随机选取整数di1,di2RZ*n作为其私钥,并且计算Qi=d1iG1+d2iG2作为其公钥;

第二步:签名人Si(i=1,2,…,n)随机选取整数ki1,ki2RZ*n,分别计算Pi=k1iG1+k2iG2,并共同计算P=i=1nPi=(xp,yp),记r˜=xpmodn,若(r˜n)=1。则发送P给用户U,否则重复第二步;

第三步:用户U随机选择α,β,τRZ*n,计算A=P+αG1+βG2+τi=1nQi=(xA,yA),记r=xAmodn,若r=0,重复第三步;

第四步:用户U计算m˜=β-1(α+rr˜Η(m))modn,发送m˜Si(i=1,2,…,n);

第五步:签名人Si(i=1,2,…,n)分别计算:

s˜i1=(di1ki2-di2ki1)-1ki2m˜+(di2ki1-di1ki2)-1ki1modns˜i2=(di1ki2-di2ki1)-1di2m˜+(di2ki1-di1ki2)-1di1modn

并共同计算s′1=i=1ns˜i1s2=i=1ns˜i2,发送s′1,s′2给U;

第六步:用户U计算s1=s′1β+τmodn,s2=s′2βmodn,则(r,s1,s2)为消息m的多重盲签名。

(3) 签名验证过程

验证者可以进行如下操作,对Si(i=1,2,…,n)签名(m,(r,s1,s2))进行验证。

第一步:计算s1i=1nQi-s2Ρ-rr˜Η(m)G1+Ρ;

第二步:若r=Rx(s1i=1nQi-s2Ρ-rr˜Η(m)G1+Ρ)modn成立,则签名正确;否则,签名不正确。

下面分析多重盲签名方案三的安全性,其中签名的盲性和不可伪造性与方案一类似,不再赘述。这里仅证明签名的正确性。

根据

{Q=i=1nQi=i=1n(di1G1+di2G2)Ρ=i=1nΡi=i=1n(ki1G1+ki2G2)

可得

{G1=(di1ki2-di2ki1)-1(ki2Q-di2Ρ)G2=(di2ki1-di1ki2)-1(ki1Q-di1Ρ)

从而siQ-s2Ρ=m˜G1+G2,则

s1Q-s2Ρ=βs1Q+τQ-βs2Ρ=β(m˜G1+G2)+τQ=(α+rr˜Η(m))G1+βG2+τQ=αG1+βG2+τQ+rr˜Η(m)G1

从而s1Q-s2Ρ-rr˜Η(m)G1+Ρ=Ρ+αG1+βG2+τQ

s1i=1nQi-s2Ρ-rr˜Η(m)G1+Ρ=Ρ+αG1+βG2+τQ

所以r=Rx(s1i=1nQi-s2Ρ-rr˜Η(m)G1+Ρ)modn

3结束语

在本文中,我们设计了三种基于椭圆曲线上的多重盲签名方案,并从理论上对其安全性进行了简要的分析。这些方案的安全性是建立在椭圆曲线离散对数的难解性之上的。由于目前还没有对椭圆曲线离散对数问题的有效解法,所以其安全性能够得到保证,可被广泛应用到电子商务和其他领域中。

摘要:在椭圆曲线应用方面做了一些探索,设计了三个基于椭圆曲线的多重盲签名方案,该方案使得多个签名人能够同时对盲化的消息实施签名。从理论上分析该方案是安全的,具有一定的实用价值。

关键词:椭圆曲线,盲签名,多重签名

参考文献

[1]张方国,王常杰,王育民.基于椭圆曲线的数字签名与盲签名[J].通信学报,2001,22(8):22-88.

[2]Miller V.User of elliptic curves incryptograpgh[A].Williams HC eds.Advances in Crypto-logy-CRYPTO 85 Proceedings,LNCS218[C].Ber-lin:Springer-Verlag,1986:417-426.

[3]Chaum D.Blind Signature for Untraceable Payments[A].Advances inCryptology CRYPTO 82 Proceedings[C].Plenum Prss,1983:199-203.

[4]KOBLITZ N.Elliptic curve cryptosystem[J].Mahematics of Computa-tion,1987,48:203-209.

[5]张先红.数字签名原理及技术[M].北京:机械工业出版社,2004.

代理多重签名 篇6

1多重委托代理理论下的政府社会管理

1.1委托代理理论的内涵

委托代理理论就其实质而言, 是一种契约理论, 基本内容是:当一个或更多的行为主体 (委托人) 指定、雇佣另一些行为主体 (代理人) 为其提供服务, 并授予其某些决策权, 委托人根据代理人提供的服务数量和质量支付相应的报酬。

1.2多重委托代理

学术界有单重委托代理和双重委托理论之说。冯根福在2004年提出双重委托代理。在现实中, 委托代理并非单重或双重的, 而是多重的。多重委托代理, 指委托代理是层层委托形成了以委托代理链为核心的多向度的委托代理关系

1.3民生视角下的政府社会管理的多重委托代理关系

人民 → 人民代表 → 政府 → 社会公共组织

(公众) (人民代表大会) ↘公务员

如上所示, 有三个层次, 第一层是人民与人民代表的委托代理关系。人民委托人民代表来履行人民的权利和实现自己的义务;第二层是人民代表与政府之间的委托代理关系;第三层是政府与公务员、社会公共组织的委托代理关系。政府把政策执行委托给公务员或社会公共组织来执行或对社会事务进行管理。公务员或社会公共组织实现的目标或宗旨是服务于广大的人民群众, 为人民群众提供质优价廉的社会公共物品和公共服务及安定有序的生活秩序和发展空间。

政府社会管理多重委托代理关系的特点:委托代理关系的层次多、链条长;委托代理关系涉及的利益相关者比较多, 如人民、人民代表、政府;民生视角下的政府社会管理改革的多重委托代理关系涉及多任务委托代理, 最主要的是政府与公务员、公众之间;第二层委托代理关系中错综复杂, 涉及到政府公务员激励制约机制与服务型政府建设, 这是改善民生问题的出发点和落脚点。

2多重委托代理下政府社会管理存在的问题

从第一个层面看, 人民与人民代表的委托代理关系。人民通过选举自己的代表代替自己行使相应的权力。在当代社会政治制度框架下, 选举制作为当代政治制度的三大基石之一有其优越性, 但是其还存在一些不足与缺陷。人民往往在不了解代表信息的情况下就从众地选举了代表。代表作为代理人掌握着一些委托人所不了解的信息, 而委托人由于受各种条件的限制, 不能清楚了解政策制定的过程。这种信息的不对称和非均衡, 就有可能导致代理人总是追求自身利益最大化, 而不能够真正代表人民群众的利益和意愿。从第二层讲, 人民代表组成人民代表大会, 再次委托政府作为政策的执行机构, 来进行社会管理和提供公共服务。政府作为理性经济人也会追求自身利益最大化, 于是在政策执行中会偏离政策原有意图, 损害社会和公众的利益, 以至于社会管理的失效与社会政策的失败。从第三层讲, 政府与公务员及社会公共组织之间的委托代理关系, 也存在着许多逆向选择和道德风险问题。公务员和社会公共组织在社会管理方面更是存在着信息的不完全、环境的不确定等因素, 由此导致了政府社会管理的失效和社会管理体制的滞后。

3多重委托代理理论下的政府社会管理模式创新

3.1政府社会管理改革:激励制约机制的设计

党的十六届六中全会指出:“加强社会管理, 维护社会稳定, 是构建社会主义和谐社会的必然要求。必须创新社会管理体制, 整合社会管理资源, 提高社会管理水平, 健全党委领导、政府负责、社会协同、公众参与的社会管理格局, 在服务中实施管理, 在管理中体现服务。”运用委托代理理论探讨政府社会管理改革, 正与十六届六中全会所要建立的社会管理格局相符。下面从党委领导、政府负责、社会协同和公众参与四个维度, 对政府社会管理改革进行的尝试性研究。

(1) 健全和完善选举制度

选举制是现代政治的三大政治制度之一, 关注民生定要关心民众的利益表达机制。改善当代中国的选举制度是改善民生的重要举措。从十七大代表选举方案得出特征是:提高了生产和工作一线代表的比例;扩大了差额选举比例;整合民主党派的建议;代表候选人实行公示制度。选举制的变化体现了政府社会管理和国家政治生活更加民主

(2) 公务员激励制约机制的构建。

第一, 建立制度化的激励监督机制。

对我国而言, 《公务员法》是规范公务员行为的一部制度性的法规。在这部法规中, 对公务员的激励和制约以法律的形式加以规定。政府既要从法律上对公务员进行监督和制约, 也要建立政府体系内外评价机制。竞争激励机制、新陈代谢机制和勤政保障机制, 是公务员制度的三大运行机制, 三者之间互相联系, 互相渗透、互相依存。 按照委托代理理论的观点, 政府应该做好公务员的考录、考核、奖惩、晋级增资等制度上的激励制约, 以实现公务员能够负责有效地服务于人民, 接受人民的监督。

第二, 完善公务员文化建设。

提高公务员的素质和能力, 塑造公务员终身学习的意愿。大力发展我国的文化教育事业, 创建公务员文化进步的社会环境。公务员的文化建设, 首先要体现为人民服务的意识和观念。其次, 公务员要有终身学习的理念和价值。此外, 公务员的文化建设也要体现在制度层面的创新和能力层面的提升。

第三, 加强公务员的伦理建设。

公务员的伦理建设包括责任、义务等方面。要从政治经济文化方面进行公务员伦理建设。政府要提供公务员良好的社会环境和工作环境, 不仅要根据职位和品位对公务员的报酬和待遇进行改革, 而且要给予公务员充分的尊重和发展权。这就从一定程度上制止了败德行为的发生。

3.2社会公共组织的激励制约机制的设计

第一, 创建发达的公民社会、培育完善的社会组织。

信息化和后工业时代, 权力开始逆向回归, 政府向社会放权, 把权力回归到社会。让公民自己来管理自己, 体现了公民民主意识的增强。这是政府作为委托人把一部分社会管理交给公众去管理, 这既是社会进步的体现, 也是公民社会逐步成长的结果。

第二, 积极推进第三部门参与社会管理。

未来的政府不再是统治的政府, 而是治理的政府。 随着第三部门的蓬勃发展和承担越来越多的社会事务, 政府通过促进第三部门的发展, 鼓励第三部门也参与社会管理, 提供社会公共服务, 更好更快地服务公众, 体现民生。

第三, 提高公民参与社会管理的热情。

政府社会管理改革, 要重视公民自身的力量和作用, 增强公民社会管理的意志, 转变公民社会管理的观念, 使公民把社会管理当成自己的责任和义务进行管理和服务。

3.3新型政府社会管理机制的创设

社会管理作为政府的重要职能之一, 表明防范和治理社会问题, 确保社会安全、协调发展。根据理论和结合现实国情, 笔者主要从制度层面进行了激励约束机制的创设。新型社会管理机制的目标是建立“主体多元、责任明确、合作互动、协同管理”的体制, 努力实现社会管理的社会化。主体多元主要是指社会管理主体多元化, 不仅包括政府组织, 而且还包括非政府组织, 以及第三部门等非营利型组织。责任明确主要是指在社会管理中, 政府作为整个社会宏观调控者, 应把握社会发展的大方向, 引导好社会发展航向;在其他部门能够做好的领域充分发挥非政府组织的力量。合作互动是指在社会管理中政府组织与非政府组织、政府与公众进行合作, 实现互动管理社会。协同管理指在社会管理这个大系统中, 运用协同理论, 发挥协同作用, 共同管理社会公共事务。只有这四者结合起来, 才能实现社会管理的良性互动和协调发展。

4结语

本文从多重委托代理理论角度分析和阐释了民生视角下的政府社会管理改革。从民生视角进行政府社会管理改革的制度创新和理论探讨。重在运用多重代理理论, 研究了政府社会管理改革的微观方面:公务员激励制约机制、以政府为主导的社会公共组织共同参与的政府社会管理体制的创建。

摘要:重视民生, 关注民生是十七大报告的重要特色。政府社会管理改革是改善民生的重要举措和路径选择。运用多重委托代理理论和基于民生视角, 从制度层面探讨和研究政府社会管理改革。

关键词:政府社会管理,民生,委托代理理论

参考文献

[1]程恩富, 胡乐明.新制度经济学[M].北京:经济日报出版社, 2005:118-119.

代理多重签名 篇7

近年来, 随着网络的迅速发展和日常普及, 数字化签名技术已成为信息安全理论与技术的基础和重要保障。生活中需要用到的数字签名是各式各样的, 不仅需要单独的签名, 更多的需要多人或集体签名。现在应用广泛的是RSA公钥密码系统, 随着信息技术的迅速发展, 其安全性更高的椭圆曲线密码系统应用到数字签名领域已经成为人们越来越关注的热点。

方案[1]提出了一种有多个人在同一份文件上分别进行签名的特殊数字签名算法, 文献[2]提出了将椭圆曲线加密系统应用于数字签名的椭圆曲线数字签名算法, 文献[3]设计了一种基于离散对数难题的多重数字签名算法, 文献[4]设计了ELGamal型多重数字签名算法等。但是, 文献[1,2,3]只能用于广播多重数字签名, 不能用于有序多重数字签名。文献[4]是基于离散对数难题的, 随着研究的不断深入发现基于离散对数难题的多重数字签名的安全性受到质疑[5,6,7,8]。将椭圆曲线密码体制和多重数字签名结合起来, 有签名速度快、安全性高等优点。

因此, 为了满足人们对多重数字签名的需求, 本文设计了新的基于椭圆曲线密码体制的广播多重数字签名算法, 减少了原有的广播多重数字签名算法中相对复杂的乘法及点乘运算, 避免了原有的广播多重数字签名方案中的求逆运算, 提高了签名验证速度, 而且能满足人们对多重数字签名的安全性需求。

1 多重数字签名方案

在文献[9,10]的基础上, 设计了新的基于椭圆曲线密码体制的广播多重数字签名方案, 减少了原有的广播多重数字签名方案中相对复杂的乘法及点乘运算, 避免了原有的广播多重数字签名方案中的求逆运算, 大大提高了运算速度和安全性。

1.1 改进的有序多重数字签名方案

1.1.1 系统初始化

选取系统参数 (Fq, E, G, n, h) , 单向安全函数——Hash函数h (·) , ui (i=1, …, t) 为t个消息签名者, di (i=1, …, t) 为ui对应的私钥, Qi=diGui的公钥。

1.1.2 签名过程

在签名开始之前签名中心 (记为uc) 先确定签名顺序 (u1, u2, …, ut) , uc广播 (u1, u2, …, ut) 和要签名的消息m给每一个签名者ui和验证者uv

(1) u1收到签名消息m后, 选择随机数k1∈[1, n-1], 计算R1=k1G= (x1, y1) , x1≠0, r1=x1modn, s1=k1+ (h (m) ♁r1) d1, u1的签名为 (s1, r1) , 并且u1将签名 (s1, r1) 发送给下一个签名者, 将r1发送给以后的每一个签名者和验证者。

(2) ui+1 (1≤it-1) 收到ui的签名 (si, ri) , 先进行验证:计算siG-j=1i (h (m) rj) Qj= (xi, yi) ri=ximodn验证ri=i=1irj (modn) 是否成立, 成立则继续签名, 否则拒绝继续签名。签名时ui+1选择随机数ki+1∈[1, n-1], 计算Ri+1=ki+1D= (xi+1, yi+1) , xi+1≠0, ri+1=xi+1mod n, si+1=si+ki+1+ (h (m) ♁ri+1) di+1, 则ui+1签名为 (si+1, ri+1) , ui+1将 (si+1, ri+1) 发给下一个签名者, 将ri+1发送给其后所有签名者和验证者。

ut收到 (st-1, rt-1) 时先对前面t-1签名者的签名进行验证:计算st-1G-j=1t-1 (h (m) rj) Qj= (xt-1, yt-1) rt-1=xt-1modn, 验证rt-1=j=1t-1rj (modn) 是否成立, 若不成立就拒绝签名, 成立则签名。ut选择随机数kt∈[1, n-1], 计算

即得到最终签名 (st, rt) , 将其发给签名验证者uv

1.1.3 验证过程

验证者uv收到签名 (st, rt) 后, 计算stG-j=1t (h (m) rj) Qj= (xtyt) rt=xtmodn, 验证rr=j=1trj (modn) 是否成立, 成立则接受签名, 否则拒绝签名。

r=xmodn, 若r=j=1trj (modn) , 则接受签名, 否则拒绝签名。所以基于椭圆曲线密码体制的有序多重签名是正确的。

1.1.4 安全性分析

(1) 攻击者企图得到签名者的私钥di (i=1, 2, …, t) 进行攻击, 需要求解Qi=diG, 解这个方程的难度是解椭圆曲线离散对数难题。若用穷举法搜索需要依次计算1G, 2G, …, dG, 最坏情况需要计算n次。

(2) 攻击者若企图通过求解方程si+1=si+ki+1+ (h (m) ♁ri+1) di+1得到私钥di+1 (i=1, 2, …, t) 就需要知道方程ki+1 (i=1, 2, …, t) , 由于解密密钥方程ki+1 (i=1, 2, …, t) 是签名者随机取的数字, 且保密, 因此不可能。

(3) 攻击者想要假冒某个签名者ui (i=1, 2, …, t) 进行攻击, ui+1在签名之前要用ui的公钥Qi进行验证, 在攻击者不知ui私钥di的情况下, 验证是通不过的。

(4) 攻击者企图替换消息伪造签名, 由于签名方程si+1=si+ki+1+ (h (m) ♁ri+1) di+1中需要有diki的信息, 伪造者无法获得di+1和ki+1的信息, 因此不能利用伪造消息e代替e进行签名。

(5) 抗合谋攻击。在签名过程中如果uiui+1合谋攻击, 即ui+1通过了ui的非法签名, 不用ui的公钥验证其签名, 那么是通不过在ui+1后的签名者在签名之前的验证。若合谋者是签名顺序中最后的若干个人, 则验证者进行验证时利用验证方程stG-j=1t (h (m) rj) Qj= (xt, yt) 即可验证其为非法签名。由此可见改进方案与原方案相比较是安全可靠的。

1.2 新的广播多重数字签名方案

广播多重签名是指提供者将消息广播给所有的签名者, 签名者独自对消息签名, 然后转发给签名收集者, 由签名收集者来完成多重签名。该方案包含三个过程:系统的初始化过程、消息的签名过程和签名的验证过程。

1.2.1 系统初始化

选取系统参数 (Fq, E, G, n, h) , 单向安全Hash函数h (g) , ui (i=1, 2, …, t) 为t个消息签名者, di (i=1, 2, …, t) 为ui对应的私钥, Qi=diGui的公钥。

1.2.2 签名过程

消息发送者将消息m广播给每一个签名者ui (i=1, 2, …, t) 和签名收集者uc, ui收到消息后和uc进行如下交互运算:

(1) ui选择随机数ki, 计算Ri=kiG= (xi, yi) xi≠0, ri=ximodn, 将ri发给签名收集者uc;

(2) 签名收集者uc计算R=i=1tri= (x, y) x0r=xmodn, 并将r发送给每一个签名者ui

(3) 签名者ui计算si=ki+ (h (m) ♁r) di, 则其签名为 (si, ri) , 并将 (si, ri) 发送给签名收集者uc

(4) 签名收集者uc收到所有ui的签名 (si, ri) 后, 计算r*=i=1trimodn, 验证r*=r, 成立则继续, 否则拒绝合成签名。

验证每一个签名 (si, ri) , i=1, 2, …, t, 计算siG- (h (m) ♁r) Qi= (xi, yi) , ri=ximodn, 验证ri=ri, 若有一个不成立, 则拒绝合成签名;均成立则计算s=i=1tsi, 最终消息的签名为 (s, r) , uc将签名 (s, r) 发送给验证者。

1.2.3 验证过程

验证者验证时, 计算sG-i=1t (h (m) r) Qi= (x, y) r=xmodn, 验证r′=r, 成立则接受广播多重签名, 否则拒绝签名。

1.2.4 广播多重数字签名的正确性证明:

签名收集者对签名者ui的部分签名验证正确性证明:

验证者对最终的签名 (s, r) 验证同样也是正确的。

2 算法安全性的验证

(1) 攻击者企图得到签名者的私钥di (i=1, 2, …, t) 进行攻击, 需要求解Qi=diG, 解这个方程的难度是解椭圆曲线离散对数难题。若用穷举法搜索需要依次计算1G, 2G, …, dG, 最坏情况需要计算n次。

(2) 攻击者企图通过求解方程si=ki+ (h (m) ♁r) dis=i=1tsi得到私钥di (i=1, 2, …, t) 就需要知道ki (i=1, 2, …, t) 由于ki (i=1, 2, …, t) 是签名者随机选取的数字, 且保密, 因此方程不可解。

(3) 攻击者想要假冒某个签名者ui (i=1, 2, …, t) 进行攻击, 在签名收集者合成签名之前要用ui的公钥Qi进行验证即计算siG- (h (m) ♁r) Qi= (xi, yi) , ri=ximodn, 验证ri=ri, 在攻击者用不正确的私钥di的情况下, 验证是通不过的。

(4) 若某个签名者联合签名收集者进行合谋攻击, 即签名收集者通过合谋者的非法签名 (si, ri) , 对收到的签名进行合成。当验证者利用验证方程sG-i=1t (h (m) r) Qi= (x, y) r=xmodn, 验证r′=r时, 则不成立。

(5) 若签名收集者伪造合成后的签名 (s, r) , 验证者在利用sG-i=1t (h (m) r) Qi= (x, y) 验证时用到了每位签名者的公钥Qi, 所以伪造签名通不过验证方程。

3 方案比较分析

在素域中求逆最费时, 其次是域内乘法, 最省时的是域内的加法可忽略不计[8]。在椭圆曲线中最费时的是点乘。当签名者群体有t个签名者时, 原方案在签名过程中用R=i=1trj求一次性签名, 运算两次共2t次域内乘法;用si=di+kieR来求部分签名, 用si=jt (dj+kjeR) 合成得最终签名共用4t次域内乘法和t次域内加法。新方案签名过程用R=i=1trj求一次性签名, 运算两次共2t次域内加法;用si=ki+ (h (m) ♁r) di求部分签名, 用si=j=1t (kj+ (h (m) r) dj) 合成最终签名, 共用3t次域内加法, t次域内乘法, t次按位异或。

验证过程中:原方案是合成者用e-1R-1 ( (di+kieR) G-Qi) = (xi, yi) 分别验证t个签名者的部分签名, 用了2t次域内求逆, 3t次域内乘法, t次域内加法, 2t点乘, t次点加;验证者用e-1R-1 (i=1t (dj+kjeR) G-j=1tQj) = (x, y) 验证整体签名, 共用了2次求逆, (2t+1) 次域内乘法, 2t次域内加法, 2次点乘, t+1次点加。新方案合成者用 (ki+ (h (m) ♁r) di) G-Qi= (xi, yi) 分别验证t个签名者的部分签名, 共用了t次域内乘法, t次按位异或, t次域内加法, t次点乘, t次点加;验证者用j=1t (kj+ (h (m) r) dj) G-j=1tQj= (x, y) 验证最终签名, 共用t次按位异或, t次域内乘法, 2t次域内加法, 一次点乘, t+1次点加。

于是在整个签名验证系统中, 原方案与新方案各种运算次数的对比如表1所示。

由上表可以对比看出, 新方案比原方案多了4t次域内加法和3t次按位异或, 比原方案少了8t+1次域内乘法、2t+2次求逆、t+1次点乘。点乘是椭圆曲线上最费时的运算, 域内求逆是素域内费时的运算, 域内加法和按位异或是省时运算, 4t次域内加法和3t次按位异或运算所用的时间远小于8t+1次域内乘法、2t+2次求逆、t+1次点乘所用的时间。由以上对比可以得到, 新方案的运算速度要比原方案有较大提。

4 结束语

设计了一种新的基于椭圆曲线密码体制的广播多重数字签名算法, 减少了原有的广播多重数字签名算法中相对复杂的乘法及点乘运算, 避免了原有的广播多重数字签名方案中的求逆运算, 提高了签名验证速度和安全性。

摘要:基于椭圆曲线密码体制的多重数字签名算法主要体现在密码强度、加/解密的运算速度以及存储开销上有较大优势, 能用较短的密钥实现较高的安全强度, 提出的算法克服以往因运算比较复杂而导致数字签名验证速度不佳的情况, 在算法中减少了原来广播多重数字签名方案中相对复杂的乘法及点乘运算, 避免了求逆运算, 提高了验证速度的同时, 又不影响签名的安全性。

关键词:数字签名,安全性,速度

参考文献

[1]Itakura K, Nakamura K.A public-key cryptosystem suitable fordigital multisignature[J].NEC Research&Development, 1983, 10 (71) :1-8.

[2]Darel Hankerson, Alfred Menezes.Scott Vanstone.Guide to EllipticCurve Crypography[M].北京:电子工业出版社, 2005:70-76, 81-84, 100, 147, 165, 175-178.

[3]Harn.Group-oriented (t, n) threshold digital signature schemeand digital ultisignature[J].IEEE proc.Comput.Digit.Tech.1994, 141 (5) :307-313.

[4]李子臣, 杨义先.ELGamal多重数字签[J].北京邮电大学学报, 1999, 22 (2) :30-34.

[5]匡宏波, 李霞.基于椭圆曲线的多重数字签名方案及其监控[J].计算机工程与应用, 2000, 12 (55) :55-56.

[6]陆浪如, 曾俊杰, 匡友华, 等.一种新的基于离散对数多重签名方案及其分布式计算[J].计算机学报, 2002, 25 (12) :1417-1420.

[7]韩小西, 王贵林, 鲍丰, 等.针对基于离散对多重签名方案的一种攻击[J].计算机学报, 2004, 27 (8) :1147-1152.

[8]王晓明.一种多重数字签名方案的安全性分析[J].南开大学学报, 2003, 36 (1) :33-38.

[9]白永志.基于椭圆曲线密码系统的数字签名研究与应用[D].合肥:合肥工业大学, 2005:29-33.

代理多重签名 篇8

以计算机技术和网络技术为主的医院信息系统(HIS)给现代医院管理注入了新的活力和生机,电子病案(Electronic Medic al Record)简称EMR[1]越来越引起人们的重视。美国病案研究所将其定义为:"一个医疗企业储存病人信息的场所,得到数字化电脑输入的支持,并与其他信息混合为一体[2]"。即电子病案应包括病史、诊断、医嘱、各种检查结果(含各种图像)、护理及各种记录和治疗结果,并且是历次记录累积的病人资料数据库。

电子病案是患者诊疗过程的全面记录和总结,是患者的个人隐私,其安全问题在实际应用和法律效力方面都显得极其重要。XML (Extensible Markup Language,可扩展标记语言)是由W3C于1998年2月发布的一种标准,是SGML (Standard Generalized Markup Language,标准通用标记语言)的一个简化子集[3]。基于XML的电子病案多重数字签名方案,可以支持更细粒度上的划分,保证数字签名的完整性确认性和不可抵赖性。

1、电子病案的XML描述

XML技术运用于电子病案领域,具有以下优点:(1) XML是一种元语言,它采用层次化结构、面向对象的方法描述数据对象的结构,通过XML的标记来定义电子病案的数据对象,非常适合描述复杂内容的病案文档;(2) XML具有平台无关性,适合在不同平台下进行病案数据的交换,在不同环境下进行系统开发;(3)在临床医疗中,需要方便的实现数据交换、数据处理和多种数据视图,XML具有数据与表现样式相分离的特点,XML文件本身可以只包含数据信息,而由与数据相对应的样式文件表现其显示格式,通过二者结合,生成包含数据和样式的文件;(4) XML具有很强的可读性,即使没有表现样式,用户也能大致明白病案文档的内容;(5) XML有一整套体系支撑,提供丰富的技术支持,有利于电子病案的实现开发。[4]

XML是以一种开放的自我描述方式来定义数据结构,在描述数据内容的同时能突出对结构的描述,从而体现出数据之间的关系。XML还是一种无标记语言,用户可以定义自己需要的标记。其结构和语义采用对应的DTD或XML Schema文件定义[5]。但Schema相对于DTD的明显好处是XML Schema文档本身也是XML文档,而不必像DTD一样使用特殊格式的Schema工具,这大大的方便了用户和开发者。

Schema具有两个属性:name指定该Schema的名称;而xmlns则指定该Schema包含的命名空间。

下面是一个简单的电子病案Schema的例子:

2、XML数字签名的原理

XML数字签名是一个W3C规范,W3C将其解释为:定义一种与XML语法兼容的描述规范,描述数字签名本身、签名的生成和验证过程。其主要特点有:(1)用XML文档的形式来表现数字签名,便于存储和管理;(2)实现XML文档内元素更细粒度的签名;(3) XML数字签名还定义了两种不同的公钥管理方式用于签名的验证,公钥可以嵌入XML文件内部作为XML文件的元素进行管理,也可以将公钥的管理留给应用程序进行,提高签名的可移植性和自动验证能力[6]。数字签名依赖于被签名报文的比特模式,并且是唯一的,以保证发送方身份的确认性和不可抵赖性。 (4) 根据数据的重要程度,实现对同一份XML文档不同部分的数据签名,实现更细粒度的签名。

3、XML电子病案的多重签名

电子病案中,涉及到的签名较多,如:各种检查申请单、检验单、医生和病人的签名,临床病案形成过程中各种电子医疗文书的签名,医疗护理执行过程中直接责任人签名,各级检查人员签名,带教医生对实习、进修人员书写的病案进行审阅、修改的签名等等。

XML数字签名实现的基础是非对称加密技术,使用的是公钥加密算法与散列函数。对基于XML的电子病案签名,采用签名者的私钥进行加密,验证签名时采用该签名者的公钥进行解密,如果解密出的结果与原文档一致,说明数字签名正确。

3.1 XML签名类型

XML签名根据签名元素和被签名数据在同一份文档中的位置关系,可分为为三种基本类型:封装(Enveloping)签名、被封装(Enveloped)签名、分离(Detached)签名。

封装签名必须是被签名数据的父元素;被封装签名必须是被签名数据的子元素;分离签名既不是被签名数据的父元素,也不是被签名数据的子元素。当一个XML文档中存在多个数字签名的时候,利用XML签名可以把多个数字签名保存在同一原始文档中,使存储和管理签名更高效、方便。

3.2 XML多重数字签名的实现

下面介绍在.NET Framework中,使用与XML加密相关的类集System.Cryptography和.Security.xml实现对XML文档的数字签名。

//利用Cryptography.RSA类来生成RSA非对称密钥,并分别将私钥与公钥保存为XML文档

验证签名是数字签名的逆过程,在提取数字签名信息之后,根据传入的签名信息对数据进行解密。主要代码如下:

//使用得到的key与Ⅳ解密XML文档.

4、结束语

本文通过对电子病案及数字签名技术的描述,探讨了基于XML多重数字签名技术在安全性方面的重要意义。并且描述了在提取数字签名信息之后,实现解密验证操作的逆过程,从而保证了电子病案签名的正确性、完整性和不可抵赖性,为更好地防止医患纠纷起到积极作用。

摘要:本文探讨了多重签名的重要意义, 讨论了基于XML的电子病案的多重数字签名方案, 该方案增强了电子病案的安全性, 保证了XML数据的完整性和不可抵赖性, 减少了医患之间的医疗纠纷。

关键词:电子病案,XML,数字签名

参考文献

[1]连其平.电子病案的应用现状及展望[J].中国病案, 2007, 8 (6) :29-32

[2]娄海容.国外电子病案现状及前景.现代医院[J], 2003, 3 (1) :73-75

[3]丁跃潮, 张涛.XML实用教程[M].北京:北京大学出版社, 2006

[4]李初民, 陈乐君.一种电子病历数字签名机制设计[J].重庆医学, 2009, 38 (11) :2651-2652

[5]严维良, 于津.XML在电子病历中的应用[J].汕头大学学报, 2003, 18 (1) :66-71

本文来自 古文书网(www.gwbook.cn),转载请保留网址和出处

相关文章:

多重线性回归02-11

多重化技术02-11

多重角度离散02-11

多重效应02-11

多重耐药菌02-11

多重叙述视角02-11

多重识别02-11

多重发展需要02-11

多重象征02-11

多重集聚效应02-11

注:本文为网友上传,旨在传播知识,不代表本站观点,与本站立场无关。若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:66553826@qq.com

上一篇:多重线性回归 下一篇:多重叙述视角