




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、實驗項目與實驗報告(1 )學科:信息與網絡安全學號:20134088141姓名:羊波 時間:10月11日實驗項目:RSA加密解密算法的實現(使用工具軟件與代碼實現)及 RSA的安全性分析實驗目的: 通過利用RAS工具的使用實現加密和解密過程,加深對公鑰(非對稱)密碼算法的認識。一、實驗步驟:.完成實驗教程1-3.登錄網絡平臺修改作業發布密碼,上傳實驗報告一.注冊百度知道號,并加入知行網絡團隊。二、實驗內容:實驗原理:公鑰密碼算法是指一個加密系統的加密密鑰和解密密鑰是不同的,或者說不能用其中一個推導出另一個。在公 鑰密碼算法的兩個密鑰中,一個是用于加密的密鑰,它是可以公開的,稱為公鑰;另一個是用
2、于解密的密鑰, 是保密的,稱為私鑰。公鑰密碼算法解決了對稱密碼體制中密鑰管理的難題,并提供了對信息發送人的身份進 行驗證的手段,是現代密碼學的最重要的發明。RAS算法描述如下:.公鑰選擇兩個不同的大素數 p和q (一般都為100位左右的十進制數字),n是二者的乘積; 計算乘積:n=pq;計算歐拉函數值:4 n)= (p-1) (q-1);隨機選取正整數 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) ”編輯框中的十六進制文本內容:BCF39.再次重復第2步。Pt1日怕 Exp (D : 1205137DDPrime :Q: I1C5CB”編輯框中輸入你所希望的密鑰位數,從 32到4096,位數越多安全性也高,但運算速度越慢,一般選擇1024位足夠了;單擊“ G
4、enerate”按鈕生成,如下圖8,圖9所圖8圖9.單擊“Test”按鈕測試,在“ Message to encrypt ”編輯框中隨意輸入一段文本,然后單擊 “Encrypt”按鈕加密,再單擊“ Decrypt”按鈕解密,看解密后的結果是否和所輸入的一致,如果一致表示所生成的RSA密鑰可用,否則需要重新生成,如圖10所示:圖10.到此生成完成,“ Private Exp.(D) ”編輯框中的內容為私鑰如下圖11,第7步所記錄的內容 為公鑰(BCF3 , “Modulus (N)”編輯框中的內容為公共模數如下圖 12,請將上述三段十六進制 文本保存起來即可。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使用代碼實現:#include #include unsigned long prime1,prime2,ee;unsigned l
7、ong *kzojld( unsigned long p, unsigned long q) / 擴展歐幾里得算法求模逆 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 加密函數 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 解密函數 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密碼系統 *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();將以上代碼復制到實驗環境C+鍛件中。算法結果分析如下:.主界面初始化如下圖1所示:J C:LJsrsAdmi nistratorDesldopDebuga .ext|三亙巨lea&e input the twoyou unt to use圖12.設置密鑰,輸入兩個素數 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 后;號馬系統*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的安全性取決于因式分解模數 N的困難性。從嚴格的技術角度上來說這是不 正確的,在數學上至今還未證明分解模數就是攻擊RSA的最佳方法
15、, 也未證明分解大整數就是NP問題(表示那些能在多項式時間內利用“不確定性圖靈機可以求解的問題)。事實情況是,大 整數因子分解問題過去數百年來一直是令數學家頭疼而未能有效解決的世界性難題。人們設想了 一些非因子分解的途徑來攻擊 RSA體制,但這些方法都不比分解n來得容易。因此,嚴格地說, RSA的安全性基于求解其單向函數的逆的困難性。RSA單向函數求逆的安全性沒有真正因式分解模數的安全性高,而且目前人們也無法證明這兩者等價。許多研究人員都試圖改進RSA體制使它的安全性等價于因式分解模數。實驗內容:(寫出實驗步驟及實驗結果或數據,不夠可寫在左邊:前頁反面)實驗中出現的問題及解決方法:.問題:一開始不理解 RSA算法的原理。解決方
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 把握時機2025年證券從業考試試題及答案
- 影視設備行業信息技術支持服務批發考核試卷
- 常州新風管安裝施工方案
- 纖維素纖維的抗菌性與保健功能考核試卷
- 財務預算編制基礎知識試題及答案
- 2025年會計錯誤更正試題及答案
- 租賃設備的行業應用案例解析考核試卷
- 干部休養所人際關系和諧考核試卷
- 2024年項目管理目標管理試題及答案
- 銀行從業資格考試應試基礎知識復習試題及答案
- 強夯監理實施細則
- 《財務風險的識別與評估管理國內外文獻綜述》
- 井蓋管理應急預案
- 鵪鶉蛋脫殼機的設計
- 行為安全觀察behaviorbasedsafety研究復習過程
- 動火作業風險告知牌
- 鍋爐專業術語解釋及英文翻譯對照
- 綜采工作面末采安全技術措施
- 《小石潭記》作業設計
- 密封圈定位套零件的機械加工夾具設計說明書
- 旅行社等級評定申報材料完整版
評論
0/150
提交評論