(山东科技大学数学与系统科学学院 山东 青岛 266590)
多方同时签名方案的算法
李彦
(山东科技大学数学与系统科学学院山东青岛266590)
同时签名方案是在群签名的基础上发展而来的一种数字签名方案,大部分同时签名方案是基于双线性对,并且参与签名的对象只有两方。通过写多方同时签名方案的算法,了解签名方案的形式以及方案的安全性。
椭圆曲线;同时签名;公平交换
2004年,由Chen,Kudla以及Paterson[1]共同提出了同时签名方案的概念,即参与签名的两方在没有第三方的帮助下,进行交互完成对各自信息的签名。签名发起方掌握关键数,在签名者公开关键数之前,就所有第三方角度看来,对于信息的签名都是匿名的,当关键数公开,签名即与各自签名者绑定。2012年,Ye Qing等人[2]研究了关于完美同时签名的方案,提出了一个新的隐私保护PCS协议。2013年,孟雷[3]对椭圆曲线密码学进行了系统的归纳,并在此基础上提出了一种混合加密系统,大大提升了安全性。2014年,Xiao Tian等人[4]又对多方同时签名进行了拓展,在此之前没有较为安全的模型用于多方同时签名,Xiao Tian等人构造了一个新的MCS,与已有的方案相比,具有更高的安全性与更低的计算量。2015年,Xiao Tian等人[5]又提出在无随机预测情况下的同时签名方案。
签名者IDi隐藏自身身份信息IDi,计算Qi=H0(IDi)并公开Qi,然后签名者IDi进行以下步骤:
(2)IDi计算di=ki+kiH1(Si),Pi=kiP;
(3)计算dimodq,若结果为0,则返回(1),否则输出签名者IDi的私钥Di=(di,Si),公钥Pi.
(1)计算Zi=ziQi;
(2)计算fi=H1(Zi);
输出关键数像fi.
签名者IDj输入签名信息mj,私钥Dj=(dj,Sj),公钥Pj,关键数像fj并进行以下步骤:
(2)计算hi=H2(mj,fjPi,Yj,Si),tj=H2(mj,fjPi,Yj,QjH1(Sj));
(4)计算Vjmodq,如果为0,返回步骤(1);
得到σj=(rj,Vj),输出签名者IDj对于签名信息mj的模糊签名δj=(σj,Q1,…,Qn,Yj,mj).
验证:验证者接收到签名者IDj对于签名信息mj的模糊签名δj=(σj,Q1,…,Qn,Yj,mj)后进行以下步骤:
(1)验证rj,Vj为[1,q-1]中的整数;
(2)计算hi=H2(mj,fjPi,Yj,Si),tj=H2(mj,fjPi,Yj,QjH1(Sj));
(4)计算X=u1Pj-u2P=(x1,y1),如果x1modq=0,则拒绝签名,输出“No”,否则计算v=x1modq,当且仅当v=rj时接受签名,输出“Yes”。
(一)不可伪造性
攻击者伪造签名者签名δi(i=1,2,…,n),因为不知道签名者私钥Di,所以成功的可能性是可忽略的。
(二)匿名性
在签名者公布关键数之前,所有的签名在任何第三方角度看来都是模糊的。分析:签名算法中,签名者IDj是随机选择的yj,而且hi,tj中所有元素也是全部公开的,因此在签名者公布关键数之前,所有的签名就任何第三方角度看来都是模糊的。
本方案中的算法还存在些缺陷,因为签名发起者在方案中仍然占有一定的优势,但是算法的出现使得我们了解方案如何进行,在以后如何提高安全性有很大的帮助。
[1]Liqun Chen,Caroline Kudla,Kenneth G.Paterson.Concurrent Signatures[C].Advances in Cryptology-EUROCRYPT,2004:287-305.
[2]Ye Qing,Zheng Shihui,Guo Hongfu,Yang Yixian.Generalization of Perfect Concurrent Signatures[J].ScienceDirect,2012,19(6):94-104.
[3]孟雷.基于椭圆曲线的密码系统研究[D].哈尔滨:哈尔滨工业大学,2013年.
[4]Xiao Tian,Qiong Huang,Duncan S.Wong.Extending Concurrent Signature to Multiple Parties[J].Theoretical Computer Science,2014,548:54-67.
[5]Xiao Tian,Qiong Huang,Duncan S.Wong.Concurrent Signature Without Random Oracles[J].Theoretical Com——puter Science,2015,562:194-212.
李彦(1989.10-),女,汉族,山东省菏泽市人,山东科技大学数学与系统科学学院硕士研究生在读,研究方向信息安全。