闂傚倸鍊风粈渚€骞夐敓鐘冲仭妞ゆ牜鍋涢崹鍌炲级閸偄浜栧ù婊呮嚀闇夐柨婵嗘噺鐠愶繝鏌i悢娲绘綈缂佺粯鐩獮瀣倷濞堟寧娈归梻浣风串缂嶄焦绂嶉崼鏇炵畺婵°倐鍋撻柍钘夘樀楠炲酣鎳為妷顔瑰亾瀹ュ應鏀介柣姗嗗亜娴滈箖姊虹憴鍕姸婵☆偄瀚埀顒佽壘椤﹂亶鍩€椤掆偓缁犲秹宕曢柆宥呯疇閹兼惌鐓夌紞鏍煥閻曞倹瀚�

推荐期刊

基于椭圆曲线的数字签名加解密技术的研究

时间:2015-12-21 00:55:04 所属分类:微电子 浏览量: 237

作者:王智文 李道丰 谢国庆 [摘要] 本文在分析了现行数字签名(PKI)的缺陷的基础上,提出基于椭圆曲线的数字签名加解密技术的数字签名体制。该方案是基于椭圆曲线离散对数问题的难解性,大大增强了攻击难度和提高了签名的效率,极大地提高了数字签名体制的

濠电姴鐥夐弶搴撳亾閺囥垹纾归柣鐔稿楠炴捇鏌涜椤ㄥ繘寮崒娑栦簻闁圭儤鍨甸埀顒傛暬瀹曟垿骞橀弬銉︻潔闂佽鍎兼慨銈夘敁瀹ュ應鏀介柣姗嗗亜娴滈箖姊虹憴鍕姸婵☆偄瀚埀顒佽壘椤﹂亶鍩€椤掆偓缁犲秹宕曢柆宥呯疇閹兼惌鐓夌紞鏍煏閸繃濯兼繛鎾愁煼閺屾洟宕煎┑鍥ф闁荤姵鍔忛崜婵堟崲濞戞碍瀚氱憸搴b偓姘炬嫹

作者:王智文 李道丰 谢国庆

 [摘要] 本文在分析了现行数字签名(PKI)的缺陷的基础上,提出基于椭圆曲线的数字签名加解密技术的数字签名体制。该方案是基于椭圆曲线离散对数问题的难解性,大大增强了攻击难度和提高了签名的效率,极大地提高了数字签名体制的安全性。
  [关键词] 数字签名用户密钥椭圆曲线公钥密码离散对数
  
  一、引言
  
  数字签名用于鉴定签名人的身份以及对一项电子数据内容的认可。它还能验证出文件的原文在传输过程中有无变动,确保传输电子文件的完整性、真实性和不可抵赖性。随着计算机网络的飞速发展和迅速普及,数字签名系统密钥的安全性和数字签名的有效性,一直是国内外研究人员的研究热点。现行数字签名的加解密技术绝大多数采用的是20世纪80年代由美国学者提出的公钥基础设施(PKI)。PKI是一种利用非对称密码算法(RSA算法,即公开密钥算法)原理和技术来实现的。然而近年来的研究表明,512位模长的RSA已经被攻破,为了保证安全性。RSA不得不采用更长的密钥,这将降低RSA系统的运行速度。椭圆曲线密码系统(ECC)比RSA等其他公钥加密系统能提供更好的加密强度、更快的执行速度和更小的密钥长度。这些性能使得椭圆曲线密码系统能用较小的开销和时延实现较高的安全性,特别能满足在带宽、计算能力或存储能力等受限的各种特殊应用场合。基于椭圆曲线的数字签名已成为目前数字签名技术的研究热点。本文对基于椭圆曲线的数字签名加解密实现技术进行研究。
  
  二、基于椭圆曲线的数字签名加解密技术简介
  
  基于椭圆曲线的数字签名加解密技术是建立在有限域上的椭圆曲线基础上。所谓有限域Fq上的椭圆曲线是在仿射平面A2k上满足Weierastrass方程的平滑曲线:y2+a1xy+a3y=x3+a2x2+a4x+a6
  也就是该方程的解及无穷远点O的集合,其中ai∈Fq(i=1,2,3,…,6)。把该椭圆曲线表示为E,椭圆曲线上的所有点组成一个 Abel群,用#E(Fq)来表示。椭圆曲线密码系统就建立在这个有限群上。有限域Fq上的椭圆曲线的点的加法法则是:
  已知椭圆曲线E上的两点P、Q,其中P=(xP,yP),Q=(xQ,yQ),且P≠-Q,设λ是P、Q所确定的直线的斜率,当P≠Q时,有;当 P=Q时,有,令R=P+Q=(xP+Q,yP+Q),可知R也是椭圆曲线E上的点,其中有
  这时点P的逆-P=(xP,-yP)。
  
  三、椭圆曲线的数字签名加解密算法实现
  
  1.系统的建立和密钥生成
  (1)系统的建立
  选取一个基域Fq,在Fq上随机寻找一条阶含有大素数因子的随机椭圆曲线E及E上阶为素数n的基点G=(xG,yG),a,b是椭圆曲线E的参数。则我们已经建立了椭圆曲线公钥密码系统,系统参数为(Fq,G,n,a,b)。


(2)密钥的生成
  系统建成后,每个用户各自产生自己的密钥:
  ①用户A随机选取一个整数d,其中1≤d≤n-1;
  ②然后计算:Q=dG,如果Q是无穷远点或G,则需重新选择d;
  ③将d作为私钥保存,Q作为公开密钥公开。
  2.数字签名的加密过程
  假设用户B要把数字签名信息m发送给用户A,则用户B首先将信息原文用哈希算法求得数字摘要,然后进行如下操作:
  (1)用户B找出A的公钥Q,然后随机选取一个整数k,其中1≤k≤n-1,计算P=kG=(x1,y1);
  (2)计算:kQ=(x2,y2);
  (3)计算:c=mx2;
  (4)最后把生成的数字签名(P,c)发送给用户A。
  3.数字签名的解密过程
  当用户A收到B发送来的数字签名(P,c)后,用自己的私钥d进行如下解密操作:
  (1)用户A计算:dP=(x2,y2),因为dP=d(kG)=dkG=k(dG)=kQ=(x2,y2);
  (2)然后计算:m=cx-12 ;从而恢复出数字签名信息m。
  
  四、椭圆曲线的数字签名加解密算法分析
  
  椭圆曲线公钥密码是基于椭圆曲线离散对数问题的难解性,即在有限域Fq上,已知P、Q在椭圆曲线E上的有理点,要寻找一个d∈Fq,使得Q=dP,这是很难解的。从上面算法可知,在解密过程中,要求出x2-1,必须知道x2,而要知道x2,必须知道dP,或者必须知道kQ,而知道G、Q、P,要求出用户A的私钥d或随机整数k,这相当于求解椭圆曲线离散对数问题,就现有的计算技术和能力来说,如果椭圆曲线公钥密码系统中的椭圆曲线是随机选取的,而且它的阶包含有大素数因子,那么这是一个很难的问题。也就是必须求逆运算,这是一个很费时和复杂的过程。
  
  五、结语
  
  该方案的签名过程比EC-DSA或EC-ElGamal少计算一次有限域元素的逆,而在Fq中求元素的逆需要使用EEA,该算法的执行时间比模乘算法快80多倍,而签名过程需要的时间比模乘快700多倍,因此该协议在签名速度上将比EC-DSA或EC-ElGamal协议快大约10%,在密钥生成部分该协议比EC-DSA和EC-Schnorr要简单。如果协议双方用户都严格履行协议,并且协议中随机数和散列算法都是理想的,即使攻击者获得某个时期的密钥并试图伪造数字签名信息m,由于C=mx2,攻击者不知道x2,因此也不能计算出C。该方案较之文献中的方案增强了安全性,在有效性方面也得到了进一步保证,因此具有一定的理论价值和广泛的应用前景。
  
  参考文献:
  [1]J.Silverman. The Arithmetic of Ellipitc Curves[M].GTM106,Springer-Verlag,New York,1986
  [2]周玉结冯登国:公开密钥密码算法及其快速实现[M]. 国防工业出版社,2002
  [3]白国强周涛陈宏毅:一类适合普通PC机实现的安全椭圆曲线[J].密码学进展2000,125-130
  [4]D.Johnson, A.Menezes.The elliptic curve digital siguature algorithm ECDSA[R].Technical report CORR 99-31.Canada:Dept of C&O,University of Waterloo,1999

婵犵數濮伴崹鐟帮耿鏉堛劍娅犳俊銈傚亾閸楅亶鏌ㄩ悤鍌涘:闂傚倷绀侀崯鎸庢櫠鎼淬垺鍙忛柣銏⑶归崙鐘绘煕閹伴潧鏋熼柛瀣墬閵囧嫰寮崶顬捇姊婚崟顐ばч柡灞诲€栫缓鑺ュ緞婢跺本鏅奸梻浣虹帛閹碱偆妲愰弴鐘愁潟闁哄啫鐗嗙粻锝嗙箾閸℃瀚板ù婊勫劤闇夐柨婵嗘搐閸斿淇婇姘捐含闁哄矉绻濆畷顏呮媴閸涘﹦浜栭梻渚€鈧偛鑻崢鍛婁繆閻愭潙绗х紒顔规櫆閵堬綁宕橀妸锔绘闂備線娼荤€靛矂宕㈡ィ鍐ㄧ闁稿繘妫跨换鍡樸亜閹邦喖鏋庡ù婊冨⒔缁辨挻鎷呮搴樻晙闂佹悶鍔嶅钘夘嚕閹惰姤鍋勯柣鎾虫捣椤斿顪冮妶鍡橆梿闁稿鍔曢~婵嬪Ω閳哄倻鍙嗗┑鐐村灦宀e潡鎮為柨瀣ㄤ簻闁哄洦顨嗗▍濠勨偓娈垮枤婢ф骞嗛弮鍫濐潊闁斥晛鍟浼存⒒娴e憡鎯堥柛濠勄圭叅闁靛ě鍌滃墾闂佺粯鍔曞Ο濠囧疮閸涘瓨鐓犵痪鏉垮船婢т即鏌i妷銉﹀殗闁哄本绋戦埢搴ㄥ箛椤掑倷绱橀梻渚€娼уΛ妤呭疮娴兼潙绠熼悗娑櫳戞刊瀵哥磼鐎n厽纭跺ù婊勭墵濮婃椽骞愭惔锝傛闂佸搫鐗滈崜姘扁偓闈涖偢瀹曟﹢顢欓懖鈺冨炊婵犵數濮磋墝闁稿鎸剧槐鎾愁吋閸℃﹩妫冮梺纭呮珪閹瑰洭寮幘缁樻櫢闁跨噦鎷�.闂傚倷绀侀崯鍧楁倶閸儱鐒垫い鎺嶇婢ь垱绻涚仦鍌氣偓婵嬪蓟閿涘嫧鍋撻敐搴′簽闁活厼顑夐弻娑氣偓锝庝簽鏁堥悗娈垮枙閸楁娊銆佸☉妯锋瀻闁瑰濮弸娆撴⒒娴gǹ鎮戞繝銏★耿楠炲﹤顓奸崶鈺冪暥闂佸搫绉查崝搴ㄥ煝閺冨倵鍋撻獮鍨姎婵☆偅顨婂畷銏ゅ箳濡や胶鍘搁梺鍓插亽閸嬪嫭鏅堕鈧铏规喆閿濆棙鐝氶悗瑙勬穿缂嶄礁顕i崜浣瑰磯闁靛⿵濡囩粔鍓х磽閸屾瑨顔夐柛瀣崌閺岋綁骞嬮悙鍡樺灴閹顢氶埀顒勫蓟閿濆拋娼╅柣鎾冲閻忓棙绻涢敐鍛悙闁挎洦浜悰顔界瑹閳ь剟寮幘缁樻櫢闁跨噦鎷�,闂傚倷绀侀幉锟犳偡椤栫偛鍨傞柛顭戝亞椤╃兘鏌涢鐘茬仼閻庡灚鐓¢弻銊╂偆閸屾稑顏�闂備浇顕х€涒晠宕樻繝姘挃闁告洦鍋撻懓鍧楁煣韫囷絽浜栧ù婊勭矊铻栭柨婵嗘噹閺嗙偤鏌ㄥ☉铏婵犵數鍋涢悺銊у垝瀹€鍕亱闁告侗鍠氶々鏌ユ煙閻戞﹩娈旂紒鈧崱娑欑厽婵☆垵鍋愮敮娑㈡煟濠垫挻瀚�.

转载请注明来自:http://www.zazhifabiao.com/lunwen/dzxx/wdz/35202.html