基于小特征的双曲数字签名方法

文档序号:7923230阅读:287来源:国知局
专利名称:基于小特征的双曲数字签名方法
技术领域
本发明属于一种用于计算机信息安全的数字签名方法,尤其是一种基于小特征的双曲数字签名方法。
现有数字签名方法,如著名的RSA数字签名方法,它是基于数学中的大数分解困难,假设有两个素数P、Q,有N=PQ,当N足够大时,由N得出P、Q在数学上是相当困难的;但如今随着科学技术的发展,对大数快速分解方法的研究已经得出许多新成果,再加上计算技术及计算机的发展,大数分解的难度在不断地降低,为了达到相应级别的安全性能要求,就会使得数学运算位逐渐加长,从上世纪80年代的512位、90年代的1024位到现在的2048位,一个算法的密钥过长,其相关素数生成困难,并会占用庞大的计算机资源,运算过程过慢,为了加快运算速度而采用硬件实现时,数位的过长也会使得费用极其昂贵,另外由于硬件实现方式的不可更改性,硬件开发和使用寿命将大大缩短,运行成本极高。
为解决上述技术问题,本发明采用的技术方案是一种基于小特征的双曲数字签名方法,包括有以下步骤,假设发件人是A,收件人是B,明文为m,小特征为P,α为多项式XP-X-1在含有P个元素的伽罗瓦域FP上的零点,参数为c,检验参数为Q1、Q2,①发件人A利用硬件进行的操作为a随机生成私钥X1和X2,取数对(X1,X2)为私钥X1=Σi=0P-1aiPi]]>X2=Σi=0P-1biPi]]>其中有Σi=0P-1ai<P]]>Σi=0P-1bi<P]]>b对所生成的私钥进行安全化检验,所述安全化检验是判断Q1能否整除X1或Q2能否整除X2,如果有其中一个判断是否定的,那么需要重新生成私钥X1和X2。
c生成公钥Y1=(cα)X1,Y2=(cα)X2,取(Y1,Y2)为相应于私钥(X1,X2)的公钥,Y1、Y2表示为在含有P个元素的伽罗瓦域上的α的多项式;d对明文m取文摘数对(d1,d2),及形成签名数对(r,s),先在非负整数域内随机取k和k-1,并满足条件k k-1≡1(mod PP-1),得出签名数对的一个分量r,r为 然后将所得的R0,…,Rp-1顺序加入到明文m中产生一新的明文,记为m1(R0,…,Rp-1),用文摘函数MD5和SHA1对明文m1进行运算,得出相应的文摘数对(d1,d2),其中d1=Md5(m1(R0,…,Rp-1)),d2=SHA1(m1(R0,…,Rp-1)),再令 s≡k-1(X1d1+X2d2)(mod PP-1),得出签名数对另一分量s,由此签名数对(r,s)形成;其中r为在含有P个元素的伽罗瓦域上的多项式,系数为R0,…,Rp-1,而s为一个整数;e向B发送公钥数对,签名数对和明文。
②收件人B利用硬件进行的操作是a接收从A发来的公钥数对(Y*1,Y*2),签名数对(r*,s*)和明文m*;b将接收到签名数对的r*中的系数R0,…,Rp-1加入到B所接收的明文m*中产生一新的明文,记为m*1(R0,…,Rp-1),用文摘函数MD5和SHA1对明文m*1进行运算,得出相应的文摘数对(d*1,d*2),其中d*1=Md5(m*1(R0,…,Rp-1)),d*2=SHA1(m*1(R0,…,Rp-1));c验证等式,取verL(r*,s*)=r*S*∈FP[α],verR(m*,r*,Y*1,Y*2)=Y*1d*1Y*2d*2如果上述等式中verL(r*,s*)=verR(m*,r*,Y*1,Y*2),表明验证通过,所收到的明文m*为A所发出的明文m。
所述发件人A可将公钥数对(Y1,Y2)制成X.509证书后,再发送到收件人B。
由于采取了上述的方案,本发明与现有技术相比所具有的优点是1、由于本方案利用两个文摘函数对已随机化的明文取文摘数对,且通过私钥对文摘数对的双曲作用而形成签名,使小特征的位数和安全性能之间呈现指数增长比例,所以既保证了相当高的安全级别,又减少了对计算机资源的占用,提高生成相关素数运算速度,缩短签名认证时间,从而降低开发费用和运行成本;
2、由于本方法对私钥数对进行安全化处理,能防止“生日攻击”。
设 则
因此α的阶M0一定是M的因子。
又因Σi=0P-1Pi≡P≡1(modP-1)]]>所以M与p-1互素,从而M0作为M的因子也与p-1互素。如果取FP的一个原根c,则c的阶等于P-1,于是cα的阶等于P-1与M的最小公倍数,即为(P-1)M。特别当α的阶等于M时,cα就是Galois域FP[α]的原根。


图1所示,本发明基于小特征的双曲数字签名方法,由以下几个步骤组成,生成密钥、生成签名和文摘、验证签名组成,如图2所示,生成密钥的过程分为生成私钥和生成公钥两个部分组成,公钥可为多项式数对,可以由该多项式数对生成X.509证书;如图3所示,生成签名和文摘是由取出私钥、随机化签名数对第一分量、生成文摘数对和生成签名数对第二分量组成;如图4所示,验证签名有相容性验证和防伪造验证两部分。
假设发件人是A,收件人是B,明文为m,小特征为P,α为多项式XP-X-1在含有P个元素的伽罗瓦域FP上的零点,参数为c,检验参数为Q1、Q2,①发件人A利用由私钥生成模块、公钥生成模块和验证模块组成的硬件进行的操作为a随机生成私钥X1和X2,取数对(X1,X2)为私钥X1=Σi=0P-1aiPi]]>X2=Σi=0P-1biPi]]>其中有Σi=0P-1ai<P]]>Σi=0P-1bi<P]]>b对所生成的私钥进行安全化检验,所述安全化检验是判断Q1能否整除X1或Q2能否整除X2,如果有其中一个判断是否定的,那么需要重新生成私钥X1和X2。
c生成公钥Y1=(cα)X1,Y2=(cα)X2,取(Y1,Y2)为相应于私钥(X1,X2)的公钥,Y1、Y2表示为在含有P个元素的伽罗瓦域上的α的多项式;d对明文m取文摘数对(d1,d2),及形成签名数对(r,s),先在非负整数域内随机取k和k-1,并满足条件k k-1≡1(mod PP-1),得出签名数对的一个分量r, 然后将所得的R0,…,RP-1顺序加入到明文m中产生一新的明文,记为m1(R0,…,RP-1),用文摘函数MD5(Microsoft digest5)和SHA1(Security Hash Algorithm 1)对明文m1进行运算,得出相应的文摘数对(d1,d2),其中d1=Md5(m1(R0,…,Rp-1)),d2=SHA1(m1(R0,…,Rp-1)),再令 s≡k-1(X1d1+X2d2)(mod pP-1),得出签名数对另一分量s,由此签名数对(r,s)形成。
e向B发送公钥数对,签名数对和文摘数对。
②收件人B利用硬件进行的操作是a接收从A发来的公钥数对(Y*1,Y*2),签名数对(r*,s*)和明文m*;b将接收到签名数对的r*中的系数R0,…,Rp-1加入到B所接收的明文m*中产生一新的明文,记为m*1(R0,…,Rp-1),用文摘函数MD5和SHA1对明文m*1进行运算,得出相应的文摘数对(d*1,d*2),其中d*1=Md5(m*1(R0,…,Rp-1)),d*2=SHA1(m*1(R0,…,Rp-1));c验证等式,取
verL(r*,s*)=r*S*∈FP[α],verR(m*,r*,Y*1,Y*2)=Y*1d*1Y*2d*2如果上述等式中verL(r*,s*)=verR(m*,r*,Y*1,Y*2),表明验证通过,所收到的明文m*为A所发出的明文m。
发件人A可将公钥数对(Y1,Y2)制成X.509证书后,再发送到收件人B,收件人B的步骤和验证等式不变。
签名数对的第二分量s是文摘数对经私钥数对的双曲作用并与随机因子k-1的积,私钥数对对文摘数对的双曲作用(X1,X2)o(d1,d2)可定义为X1d1+X2d2;本方案中的文摘也是随机的,这一点可以从上述的文摘数对的形成看出。
相对于RSA,其模的位数与安全性能之间呈多项式比例增长关系,我们的方案最大优越之处是模的位数与安全性能之间呈指数增长比例,这一点,在密码工程实践中具有非常重要的意义。为了说明我们方案的这一特点,与RSA作一比较假定RSA的模数为1024位的,实施成功攻击的最大可能计算量是21024;而本方案模数只要为8位的,则可达到RSA相应的安全性,因为在我们的方案中,实施成功攻击的最大可能计算量的公式为(2n)^{2n},其中n为模数的位数。
本发明的实现需要借助一个物理实体,该实体可以是一台计算机或是一个专用芯片,它至少应该包括私钥模块的电路、公钥产生硬件电路、签名数对中r的产生模块和验证模块硬件电路。
如图5所示,私钥模块的电路由随机数发生器、求余电路、系数产生电路、∑电路、MUX和缓冲器等模块组成。模块工作时首先输入素数P至随机数发生电路,该电路产生一个随机数n1′;n1′与输入的q1求余,并判断余数是否为0;余数为0时,系数产生电路开始工作,把n1′分解为多项式,并产生系数送至求和电路,判断是否满足约束2,如满足则选通MUX,私钥n1由缓冲器输出。
如图6所示,公钥产生硬件电路由循环FFT(快速傅立叶变换)运算核、RAM(随机存储器)、运算电路、输出缓存、控制电路等模块组成。产生的私钥由FFT运算核完成多项式相乘,并把运算的中间值暂存至RAM中,由运算电路辅助完成系数的求解。最后把系数(公钥)送入缓存并串行输出。签名数对中r的产生模块与公钥产生硬件电路相同。
如图7所示,验证模块硬件电路由输入缓冲、Md5运算核、SHA运算核、签名数对S产生模块、循环FFT运算核1,2、存储器A,B、比较器及控制电路组成。首先由r经过Md5、SHA运算核后产生文摘数对d1、d2,并由此产生签名数对之一S。再由两个循环FFT运算核分别对文摘数对、签名数对和私钥进行运算,并对其产生的结果通过比较器进行比较,比较结果由标志位输出。
权利要求
1.一种基于小特征的双曲数字签名方法,其特征在于它包括有以下步骤,假设发件人是A,收件人是B,明文为m,小特征为P,α为多项式XP-X-1在含有P个元素的伽罗瓦域FP上的零点,参数为c,检验参数为Q1、Q2,①发件人A利用硬件进行的操作为a随机生成私钥X1和X2,取数对(X1,X2)为私钥X1=Σi=0P-1aiPi]]>X2=Σi=0P-1biPi]]>其中有Σi=0P-1ai<P]]>Σi=0P-1bi<P]]>b对所生成的私钥进行安全化检验,所述安全化检验是判断Q1能否整除X1或Q2能否整除X2,如果有其中一个判断是否定的,那么需要重新生成私钥X1和X2;c生成公钥Y1=(cα)X1,Y2=(cα)X2,取(Y1,Y2)为相应于私钥(X1,X2)的公钥,Y1、Y2表示为在含有P个元素的伽罗瓦域上的α的多项式;d对明文m取文摘数对(d1,d2),及形成签名数对(r,s),先在非负整数域内随机取k和k-1,并满足条件k k-1≡1(mod PP-1),得出签名数对的一个分量r,r为 然后将所得的R0,…,Rp-1顺序加入到明文m中产生一新的明文,记为m1(R0,…,Rp-1),用文摘函数MD5和SHA1对明文m1进行运算,得出相应的文摘数对(d1,d2),其中d1=Md5(m(R0,…,Rp-1)),d2=SHA1(m(R0,…,Rp-1)),再令s≡k-1(X1d1+X2d2)(mod pP-1),得出签名数对另一分量s,由此签名数对(r,s)形成,其中r为在含有P个元素的伽罗瓦域上的α的多项式,系数为R0,…,RP-1,而s为一个整数;e向B发送公钥数对,签名数对和明文;②收件人B利用硬件进行的操作是a接收从A发来的公钥数对(Y*1,Y*2),签名数对(r*,s*)和明文m*;b将接收到签名数对的第一分量r*中的系数R0,…,Rp-1加入到B所接收的明文m*中产生一新的明文,记为m*1(R0,…,Rp-1),用文摘函数MD5和SHA1对明文m*1进行运算,得出相应的文摘数对(d*1,d*2),其中d*1=Md5(m*1(R0,…,Rp-1)),d*2=SHA1(m*1(R0,…,Rp-1));c验证等式,取verL(r*,s*)=r*S*∈ FP[α],verR(m*,r*,Y*1,Y*2)=Y*1d*1Y*2d*2如果上述等式中verL(r*,s*)=verR(m*,r*,Y*1,Y*2),表明验证通过,所收到的明文m*为A所发出的明文m。
2.根据权利要求1所述的基于小特征的双曲数字签名方法,其特征在于所述发件人A可将公钥数对(Y1,Y2)制成X.509证书后,再发送到收件人B。
全文摘要
本发明公开了一种基于小特征的双曲数字签名方法,它包括有以下步骤,假设发件人是A,收件人是B,明文为m,①发件人A利用硬件进行的操作为随机生成私钥数对(X
文档编号H04L9/32GK1391168SQ0213617
公开日2003年1月15日 申请日期2002年7月24日 优先权日2002年7月24日
发明者汪振华, 陈志杰 申请人:上海氯碱化工股份有限公司, 上海燕托计算机有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1