密碼算法安全分析與算法攻擊分析解析_第1頁
密碼算法安全分析與算法攻擊分析解析_第2頁
密碼算法安全分析與算法攻擊分析解析_第3頁
密碼算法安全分析與算法攻擊分析解析_第4頁
密碼算法安全分析與算法攻擊分析解析_第5頁
已閱讀5頁,還剩9頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

1、實驗項目與實驗報告(1 )學(xué)科:信息與網(wǎng)絡(luò)安全學(xué)號:20134088141姓名:羊波 時間:10月11日實驗項目:RSA加密解密算法的實現(xiàn)(使用工具軟件與代碼實現(xiàn))及 RSA的安全性分析實驗?zāi)康模?通過利用RAS工具的使用實現(xiàn)加密和解密過程,加深對公鑰(非對稱)密碼算法的認(rèn)識。一、實驗步驟:.完成實驗教程1-3.登錄網(wǎng)絡(luò)平臺修改作業(yè)發(fā)布密碼,上傳實驗報告一.注冊百度知道號,并加入知行網(wǎng)絡(luò)團(tuán)隊。二、實驗內(nèi)容:實驗原理:公鑰密碼算法是指一個加密系統(tǒng)的加密密鑰和解密密鑰是不同的,或者說不能用其中一個推導(dǎo)出另一個。在公 鑰密碼算法的兩個密鑰中,一個是用于加密的密鑰,它是可以公開的,稱為公鑰;另一個是用

2、于解密的密鑰, 是保密的,稱為私鑰。公鑰密碼算法解決了對稱密碼體制中密鑰管理的難題,并提供了對信息發(fā)送人的身份進(jìn) 行驗證的手段,是現(xiàn)代密碼學(xué)的最重要的發(fā)明。RAS算法描述如下:.公鑰選擇兩個不同的大素數(shù) p和q (一般都為100位左右的十進(jìn)制數(shù)字),n是二者的乘積; 計算乘積:n=pq;計算歐拉函數(shù)值:4 n)= (p-1) (q-1);隨機(jī)選取正整數(shù) e,使其滿足1e:Exact size: 33 |BrtsPrriate Exp. (D.4540327133GenerateRfiftdorn data generationStal10CT:Faciormg mh Prime factors

3、 j:65S37 RSA-Tool 2 by tE!Keysize (Eits) Public txp. (E.Mu mfrer Ba se45371Random data generatcn1C0%Prime iP :Modulus (Hr:14E621D7110.在 “ KeySize(Bits)圖78.記錄下“Prime(P) ”編輯框中的十六進(jìn)制文本內(nèi)容:BCF39.再次重復(fù)第2步。Pt1日怕 Exp (D : 1205137DDPrime :Q: I1C5CB”編輯框中輸入你所希望的密鑰位數(shù),從 32到4096,位數(shù)越多安全性也高,但運(yùn)算速度越慢,一般選擇1024位足夠了;單擊“ G

4、enerate”按鈕生成,如下圖8,圖9所圖8圖9.單擊“Test”按鈕測試,在“ Message to encrypt ”編輯框中隨意輸入一段文本,然后單擊 “Encrypt”按鈕加密,再單擊“ Decrypt”按鈕解密,看解密后的結(jié)果是否和所輸入的一致,如果一致表示所生成的RSA密鑰可用,否則需要重新生成,如圖10所示:圖10.到此生成完成,“ Private Exp.(D) ”編輯框中的內(nèi)容為私鑰如下圖11,第7步所記錄的內(nèi)容 為公鑰(BCF3 , “Modulus (N)”編輯框中的內(nèi)容為公共模數(shù)如下圖 12,請將上述三段十六進(jìn)制 文本保存起來即可。Private Cap (D);eE

5、4B4DAC17CEDC764t89BE81S132S5CF860EEDA9703F49FD70F5W5AADia5379W7CEDI2CB1 *CCO7&E3at56E2430EDOOO1SOE7E BTaArSIOBeZBJCTCECJBCOSE 146325D1FC2E56ED1 A4E5A6692FB13BF2BZC6F3+05D57AC905D03a437A8L7405.B455E44e50F726EA70DB72EC&5E31S54 -圖11Modulus (N):Eka ct size:1 0之3 帕帕 |7F73ie443OB94DDI=FDCW5F033rQ97Ft7F3AA

6、21334499 F9A7BA9F04TFO5322B72FC3A2:FF2CS39F a fij E23C0 B08&7613T721A522FE12F2AJ617F43AQtAj65C0 DE 7BA532716F5647 CEA33.7A 771 F 5D46 324& a6E3l6AFF9 02017936D13Q+AD954C21A7AE2 3C9456DB Q2 420Z2 5AA7E9A CE 9&F 1 /DT(JCD379日 1 BAB ,圖12使用代碼實現(xiàn):#include #include unsigned long prime1,prime2,ee;unsigned l

7、ong *kzojld( unsigned long p, unsigned long q) / 擴(kuò)展歐幾里得算法求模逆 unsigned long i=0,a=1,b=0,c=0,d=1,temp,mid,ni2;mid=p;while (mid!=1)while (pq)p=p-q;mid=p;i+;a=c*(-1)*i+a;b=d*(-1)*i+b;temp=a;a=c;c=temp;temp=b;b=d;d=temp;temp=p;p=q;q=temp;i=0; ni0=c;ni1=d;return (ni);unsigned long momi( unsigned long a, u

8、nsigned long b, unsigned long p) / 模嘉算法 unsigned long c;c=1;if (ap) a=a%p;if (bp) b=b%(p-1);while (b!=0)while (b%2=0) b=b/2;a=(a*a)%p;b=b-1;c=(a*c)%p;return (c);void RSAjiami()RSA 加密函數(shù) unsigned long c1,c2;unsigned long m,n,c;n=prime1*prime2;system( cls);printf( Please input the message : n);scanf( %

9、lu ,&m);getchar();c=momi(m,ee,n); printf( The cipher is : %lu ,c); return ;void RSAjiemi() /RSA 解密函數(shù) unsigned long m1,m2,e,d,*ni;unsigned long c,n,m,o;o=(prime1-1)*(prime2-1);n=prime1*prime2;system( cls);printf( Please input the cipher : n);scanf( %lu ,&c);getchar();ni=kzojld(ee,o);d=ni0;m=momi(c,d,

10、n);printf( The original message is : %lu ,m);return ;void main() unsigned long m;char cho;printf( Please input the two prime you want to use:n);printf(P= );scanf(%lu,&prime1);getchar();printf(Q=);scanf(%lu,&prime2);getchar();printf(E= );scanf(%lu,&ee);getchar();if (prime1prime2)m=prime1;prime1=prime

11、2;prime2=m;while (1)system( cls);printf( t*RSA密碼系統(tǒng) *n);printf( Please select what do you want to do:n);printf( 1.Encrpt.n ); printf( 2.Decrpt.n ); printf( 3.Exit.n);printf( Your choice: );scanf( %c,&cho);getchar();switch (cho)case 1 :RSAjiami();break ;case 2 :RSAjiemi();break ;case 3 :exit(0);defaul

12、t :printf( Error input.n ); break;getchar();將以上代碼復(fù)制到實驗環(huán)境C+鍛件中。算法結(jié)果分析如下:.主界面初始化如下圖1所示:J C:LJsrsAdmi nistratorDesldopDebuga .ext|三亙巨lea&e input the twoyou unt to use圖12.設(shè)置密鑰,輸入兩個素數(shù) p和q,還有e的值,如下圖2所示:匚:U&ersA d ini r i str jtorDeskto pDeb ug a.exePlease imput the two pr-ine you uant 七0 useP-610=6?E=17圖2

13、3.對明文加密,n=pq=4087,輸入公鑰(e, n) : 17,4087如下圖3,并回車得到圖4: C:U 5ersAdmin istra torD eskt o pDebuga 金)c/Please input the messdie ; :17,4087121 X:User5Adm in istrato rDesktopDehuga. exe3tMXMMBS 后;號馬系統(tǒng)*W MX 3JC注廠 Flease select uhat de yea uant to do 1 .Ehcrjpt.Decrpt.Exit.Vour clio ice:圖4.選擇1并回車對明文加密,輸入明文M=12

14、34,得到密文C=2793,如下圖5所示:*1 CAUse rsAd m rni strato rDe sktopDeb jga, exeF lease in put tJie nos&ag上: 1234 Tlie cipheT is: 2V93圖5J3 C:U?ersAdministratorDesktopDebiig3.fweFlease input tThe cipher-B7?3 r)ie api9Inalis * 1234RSA的安全性分析:理論上,RSA的安全性取決于因式分解模數(shù) N的困難性。從嚴(yán)格的技術(shù)角度上來說這是不 正確的,在數(shù)學(xué)上至今還未證明分解模數(shù)就是攻擊RSA的最佳方法

15、, 也未證明分解大整數(shù)就是NP問題(表示那些能在多項式時間內(nèi)利用“不確定性圖靈機(jī)可以求解的問題)。事實情況是,大 整數(shù)因子分解問題過去數(shù)百年來一直是令數(shù)學(xué)家頭疼而未能有效解決的世界性難題。人們設(shè)想了 一些非因子分解的途徑來攻擊 RSA體制,但這些方法都不比分解n來得容易。因此,嚴(yán)格地說, RSA的安全性基于求解其單向函數(shù)的逆的困難性。RSA單向函數(shù)求逆的安全性沒有真正因式分解模數(shù)的安全性高,而且目前人們也無法證明這兩者等價。許多研究人員都試圖改進(jìn)RSA體制使它的安全性等價于因式分解模數(shù)。實驗內(nèi)容:(寫出實驗步驟及實驗結(jié)果或數(shù)據(jù),不夠可寫在左邊:前頁反面)實驗中出現(xiàn)的問題及解決方法:.問題:一開始不理解 RSA算法的原理。解決方

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論