离散对数数字签名算法的改进
2013-10-15周克元
韦 敏,肖 鑫,沈 雁,周克元
(宿迁学院二系,江苏 宿迁 223800)
0 引言
自1976年Diffie和Hellman提出数字签名[1]后,数字签名技术获得了长足的进展和极大的应用,数字签名方案一般基于一个或多个数学难题,常见的有基于因子分解的RSA签名方案[2]、基于离散对数的El-Gamal签名方案[3]、基于椭圆曲线的 ECDSA 方案[4],有的是基于双难题的数字签名方案[5-6],另外还有消息恢复签名[7]、代理签名[8]、盲签名[9]、群签名[10]等一系列应用。其中ElGamal数字签名方案[3]是重要的一种方案,但方案中有4次指数运算和1次模逆运算,运算量较大。研究者对ElGamal方案进行了各种推广和改进,对于ElGamal数字签名方案的改进有2种思路,第一种是在不降低其安全性的情况下,对指数运算和模逆运算进行改进减少其次数,从而降低复杂度,已有一系列的改进方案[11-12];第二种是针对El-Gamal数字签名容易受到攻击的情况,在不改变其结构的情况下增加参数以增加安全性,已有一系列的改进方案[13-14],但复杂度一般没有得到较好的改进。本文给出一种新的改进方案,通过增加一个参数以增加安全性,同时又降低了算法复杂度,与各种改进比较,效率更高。
1 已有离散对数数字签名方案
1.1 ElGamal数字签名方案[3]
(1)参数初始化。
(2)签名过程。
(3)验证过程。
接收者接收到m和(r,s)后,首先计算h(m),验证yrrs=gh(m)mod p,正确则接受签名,否则拒绝签名。
1.2 曲娜方案[12]
对ElGamal方案中指数运算和模逆运算的最新改进为曲娜方案,方案中指数运算为3次,模逆运算为0次。方案如下:
(1)参数初始化。
(2)签名过程。
设待签消息为m,随机选择0<k<q,计算 r=gkmod p,s=(m -kr)x-1mod(p -1),则签名为(r,s)。……
