加密與解密算法研究論文
時間:2022-10-11 11:37:00
導(dǎo)語:加密與解密算法研究論文一文來源于網(wǎng)友上傳,不代表本站觀點,若需要原創(chuàng)文章可咨詢客服老師,歡迎參考。
摘要:計算機信息的保密問題顯得越來越重要,無論是個人信息通信還是電子商務(wù)發(fā)展,都迫切需要保證Internet網(wǎng)上信息傳輸?shù)陌踩枰WC信息安全。其中,信息安全的核心是密碼技術(shù)。
關(guān)鍵詞:信息安全密碼技術(shù)方案論證應(yīng)用
1.對稱密碼體制
對稱密碼體制是一種傳統(tǒng)密碼體制,也稱為私鑰密碼體制。在對稱加密系統(tǒng)中,加密和解密采用相同的密鑰。因為加解密密鑰相同,需要通信的雙方必須選擇和保存他們共同的密鑰,各方必須信任對方不會將密鑰泄密出去,這樣就可以實現(xiàn)數(shù)據(jù)的機密性和完整性。對于具有n個用戶的網(wǎng)絡(luò),需要n(n-1)/2個密鑰,在用戶群不是很大的情況下,對稱加密系統(tǒng)是有效的。但是對于大型網(wǎng)絡(luò),當用戶群很大,分布很廣時,密鑰的分配和保存就成了問題。
2.非對稱密碼體制
非對稱密碼體制也叫公鑰加密技術(shù),該技術(shù)就是針對私鑰密碼體制的缺陷被提出來的。在公鑰加密系統(tǒng)中,加密和解密是相對獨立的,加密和解密會使用兩把不同的密鑰,加密密鑰向公眾公開,誰都可以使用,解密密鑰只有解密人自己知道,非法使用者根據(jù)公開的加密密鑰無法推算出解密密鑰,故其可稱為公鑰密碼體制。如果一個人選擇并公布了他的公鑰,另外任何人都可以用這一公鑰來加密傳送給那個人的消息。私鑰是秘密保存的,只有私鑰的所有者才能利用私鑰對密文進行解密。
3.目的和意義
(1)解決大規(guī)模網(wǎng)絡(luò)應(yīng)用中密鑰的分發(fā)和管理問題
采用分組密碼、序列密碼等對稱密碼體制時,加解密雙方所用的密鑰都是秘密的,而且需要定期更換,新的密鑰總是要通過某種秘密渠道分配給使用方,在傳遞的過程中,稍有不慎,就容易泄露。公鑰密碼加密密鑰通常是公開的,而解密密鑰是秘密的,由用戶自己保存,不需要往返交換和傳遞,大大減少了密鑰泄露的危險性。同時,在網(wǎng)絡(luò)通信中使用對稱密碼體制時,網(wǎng)絡(luò)內(nèi)任何兩個用戶都需要使用互不相同的密鑰,只有這樣,才能保證不被第三方竊聽,因而N個用戶就要使用N(N–1)/2個密鑰。采用公鑰密碼體制,N個用戶只需要產(chǎn)生N對密鑰。由此可見,只有公鑰密碼才能方便、可靠地解決大規(guī)模網(wǎng)絡(luò)應(yīng)用中密鑰的分發(fā)和管理問題。
(2)實現(xiàn)網(wǎng)絡(luò)中的數(shù)字簽名機制
對稱密鑰技術(shù)由于其自身的局限性,無法提供網(wǎng)絡(luò)中的數(shù)字簽名。這是因為數(shù)字簽名是網(wǎng)絡(luò)中表征人或機構(gòu)的真實性的重要手段,數(shù)字簽名的數(shù)據(jù)需要有惟一性、私有性,而對稱密鑰技術(shù)中的密鑰至少需要在交互雙方之間共享,因此,不滿足惟一性、私有性,無法用做網(wǎng)絡(luò)中的數(shù)字簽名。相比之下,公鑰密碼技術(shù)由于存在一對公鑰和私鑰,私鑰可以表征惟一性和私有性,而且經(jīng)私鑰加密的數(shù)據(jù)只能用與之對應(yīng)的公鑰來驗證,其他人無法仿冒,所以,可以用做網(wǎng)絡(luò)中的數(shù)字簽名服務(wù)。
二、方案論證
1.介紹RSA公鑰密碼體制
RSA是Rivest,Shamir,Adleman提出基于數(shù)論的非對稱密鑰體制。RSA是建立在大整數(shù)分解的困難上的,是一種分組密碼體制。RSA建立方法如下:首先隨機選兩個大素數(shù)p,q,計算n=p•q;計算歐拉函數(shù)φ(n)=(p-1)(q-1);任選一個整數(shù)e為公開加密密鑰,由e求出秘密解密密鑰加密/解密:將明文分成長度小于位的明文塊m,加密過程是:c=E(m,e)=modn解密過程是:m=D(c,d)=modn
2.RSA公鑰密碼體制的安全性分析
RSA的安全性依賴于大整數(shù)的因式分解問題。實際上,人們推測RSA的安全性依賴于大整數(shù)的因式分解問題,但誰也沒有在數(shù)學(xué)上證明從c和e計算m需要對n進行因式分解??梢韵胂罂赡軙型耆煌姆绞饺シ治鯮SA。然而,如果這種方法能讓密碼解析員推導(dǎo)出d,則它也可以用作大整數(shù)因式分解的新方法。最難以令人置信的是,有些RSA變體已經(jīng)被證明與因式分解同樣困難。甚至從RSA加密的密文中恢復(fù)出某些特定的位也與解密整個消息同樣困難。
3.設(shè)計RSA系統(tǒng)的注意事項
(1)經(jīng)過對RSA安全性的分析,可以得出使用RSA時應(yīng)該注意的事項:
隨機選擇足夠大素數(shù);在使用RSA的通信網(wǎng)絡(luò)協(xié)議中,不應(yīng)該使用公共模;不要讓攻擊者得到原始的解密結(jié)果;解密密鑰d相對模數(shù)n來說不應(yīng)過??;應(yīng)該或者加密密鑰大;或者被加密的信息m總是大而且m不能是一些已知值的乘積,后面一種情況可以在加密前對m填充隨機值實現(xiàn)。相關(guān)的消息不能用同樣的密鑰加密,加密前對消息進行隨機值填充破壞消息之間的代數(shù)聯(lián)系及相關(guān)性,但是要注意填充算法的選擇;應(yīng)該使獲得對任意值的原始簽名不可能。被簽名的消息應(yīng)該與模數(shù)差不多大,而且不是一些已知值的乘積;
(2)RSA系統(tǒng)的參數(shù)選擇
RSA系統(tǒng)是第一個將安全性植基于因子分解的系統(tǒng)。很明顯地,在公開密鑰(e,N)中,若N能被因子分解,則在模N中所有元素價的最小公倍數(shù)(即所謂陷門)T=φ(N)=(p-1)(q-1)即無從隱藏。使得解密密鑰d不再是秘密,進而整個RSA系統(tǒng)即不安全。雖然迄今人們尚無法“證明”,破解RSA系統(tǒng)等于因子分解。但一般“相信”RSA系統(tǒng)的安全性,等價于因子分解。即:若能分解因子N,即攻破RSA系統(tǒng);若能攻破RSA系統(tǒng),即分解因子N(相信,但未證明)。因此,在使用RSA系統(tǒng)時,對于公開密鑰N的選擇非常重要。必須使得公開N后,任何人無法從N得到T。此外,對于公開密鑰e與解密密鑰d,亦需有所限制。否則在使用上可能會導(dǎo)致RSA系統(tǒng)被攻破,或應(yīng)用在密碼協(xié)議上不安全。4.RSA公鑰密碼體制的應(yīng)用
(1)數(shù)字簽名
長期以來的日常生活中,對于重要的文件,為了防止對文件的否認,偽造,篡改等等的破壞,傳統(tǒng)的方法是在文件上手寫簽名。但是在計算機系統(tǒng)中無法使用手寫簽名,而代之對應(yīng)的數(shù)字簽名機制。數(shù)字簽名應(yīng)該能實現(xiàn)手寫簽名的作用,其本質(zhì)特征就是僅能利用簽名者的私有信息產(chǎn)生簽名。因此,當它被驗證時,它也能被信任的第三方(如法官)在任一時刻證明只有私有信息的唯一掌握者才能產(chǎn)生此簽名。其特點:簽名是可信的,簽名是不能偽造的,簽名是不可重用的,簽名后的文件是不能更改的,簽名是不能否認的。
三、過程論述
1.RSA算法工作原理
首先,找出三個數(shù),p,q,r,其中p,q是兩個相異的質(zhì)數(shù),r是與(p-1)(q-1)互質(zhì)的數(shù)......p,q,r這三個數(shù)便是privatekey接著,找出m,使得rm==1mod(p-1)(q-1).....這個m一定存在,因為r與(p-1)(q-1)互質(zhì),用輾轉(zhuǎn)相除法就可以得到了.....再來,計算n=pq.......m,n這兩個數(shù)便是publickey編碼過程是,若資料為a,將其看成是一個大整數(shù),假設(shè)a=n的話,就將a表成s進位(s<=n,通常取s=2^t),則每一位數(shù)均小于n,然后分段編碼......接下來,計算b==a^mmodn,(0<=b若p,q是相異質(zhì)數(shù),rm==1mod(p-1)(q-1),a是任意一個正整數(shù),b==a^mmodpq,c==b^rmodpq,則c==amodpq證明的過程,會用到費馬小定理,敘述如下:
m是任一質(zhì)數(shù),n是任一整數(shù),則n^m==nmodm<證明>因為rm==1mod(p-1)(q-1),所以rm=k(p-1)(q-1)+1,其中k是整數(shù)因為在modulo中是preserve乘法的(x==ymodzandu==vmodz=>xu==yvmodz),所以
c==b^r==(a^m)^r==a^(rm)==a^(k(p-1)(q-1)+1)modpq
(1)如果a不是p的倍數(shù),也不是q的倍數(shù)時:
則a^(p-1)==1modp(費馬小定理)=>a^(k(p-1)(q-1))==1modpa^(q-1)==1modq(費馬小定理)=>a^(k(p-1)(q-1))==1modq所以p,q均能整除a^(k(p-1)(q-1即a^(k(p-1)(q-1))==1modpq即a^(k(p-1)(q-1))==1modpq=>c==a^(k(p-1)(q-1)+1)==amodpq
(2)如果a是p的倍數(shù),但不是q的倍數(shù)時:
則a^(q-1)==1modq(費馬小定理)=>a^(k(p-1)(q-1))==1modq
=>c==a^(k(p-1)(q-1)+1)==amodq=>q|c-a
因p|a=>c==a^(k(p-1)(q-1)+1)==0modp=>p|c-a
所以,pq|c-a=>c==amodpq
(3)如果a是q的倍數(shù),但不是p的倍數(shù)時,證明同上
(4)如果a同時是p和q的倍數(shù)時:
則pq|a=>c==a^(k(p-1)(q-1)+1)==0modpq=>pq|c-a
=>c==amodpq
這個定理說明a經(jīng)過編碼為b再經(jīng)過解碼為c時,a==cmodn(n=pq)但我們在做編碼解碼時,限制0<=a
2.RSA的安全性
RSA的安全性依賴于大數(shù)分解,但是否等同于大數(shù)分解一直未能得到理論上的證明,因為沒有證明破解RSA就一定需要作大數(shù)分解。假設(shè)存在一種無須分解大數(shù)的算法,那它肯定可以修改成為大數(shù)分解算法。目前,RSA的一些變種算法已被證明等價于大數(shù)分解。不管怎樣,分解n是最顯然的攻擊方法?,F(xiàn)在,人們已能分解多個十進制位的大素數(shù)。因此,模數(shù)n必須選大一些,因具體適用情況而定。
3.RSA的速度
由于進行的都是大數(shù)計算,使得RSA最快的情況也比DES慢上一倍,無論是軟件還是硬件實現(xiàn),速度一直是RSA的缺陷。一般來說只用于少量數(shù)據(jù)加密。
參考文獻
[1]陳運.信息加密原理[M].成都:電子科技大學(xué)出版社,1990.
[2]張周.我國企業(yè)開始重視網(wǎng)絡(luò)安全[J].計算機世界A9版.2000,(3).
[3]張文政,孟慶志.通信保密技術(shù)[J].計算機應(yīng)用.1998,(6):25~28.
[4]王勇.RSA公開密鑰密碼體制的密鑰生成研究
- 上一篇:連隊指導(dǎo)員就職演講稿
- 下一篇:工會主席就職演講稿