密碼學(xué)實驗報告四_第1頁
密碼學(xué)實驗報告四_第2頁
密碼學(xué)實驗報告四_第3頁
密碼學(xué)實驗報告四_第4頁
全文預(yù)覽已結(jié)束

下載本文檔

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

文檔簡介

PAGE報告創(chuàng)建時間:《現(xiàn)代密碼學(xué)》實驗報告年級、專業(yè)、班級2012級計算機科學(xué)與技術(shù)1班姓名陳康裕實驗題目非對稱密碼算法RSA實驗時間2014.12.4實驗地點主教0410實驗成績實驗性質(zhì)■驗證性□設(shè)計性□綜合性教師評價:□算法/實驗過程正確;□源程序/實驗內(nèi)容提交□程序結(jié)構(gòu)/實驗步驟合理;□實驗結(jié)果正確;□語法、語義正確;□報告規(guī)范;其他:評價教師簽名:實驗原理和目的對稱密碼算法要求通信雙方通過交換密鑰實現(xiàn)使用同一個密鑰,這在密鑰的管理、發(fā)布和安全性方面存在很多問題,而非對稱密碼算法解決了這個問題。加密密鑰和解密密鑰是不同的,其中加密密鑰是可以公開的,解密密鑰是要求保密的,并且不能用其中的一個推導(dǎo)出另一個。它的安全性是建立在“大數(shù)分解和素性檢測”這個數(shù)論難題的基礎(chǔ)上,即將兩個大素數(shù)相乘在計算上容易實現(xiàn),而將該乘積分解為兩個大素數(shù)因子的計算量相當大。雖然它的安全性還未能得到理論證明,但經(jīng)過30年的密碼分析和攻擊,迄今仍然被實踐證明是安全的。通過實際編程了解非對稱密碼算法RSA的加密和解密過程,加深對非對稱密碼算法的認識。二、實驗項目內(nèi)容1、為了加深對算法的了解,根據(jù)已知參數(shù):,手工計算公私鑰,并對明文進行加密,然后對密文進行解密2、編寫程序,加密一段文字,了解算法原理。嘗試加密一大段文字,記錄程序的運行時間。使用DES算法加密相同的文字,比較兩種算法加密的速度。3、編寫一個程序,隨機選擇3個較大的數(shù),計算,記錄程序運行時間。查閱資料給出簡單說明大數(shù)在計算機上是如何表示,如何進行運算。4、查閱資料,找出目前實際可行的素數(shù)判定法則,并比較各自的優(yōu)缺點。三、實驗過程或算法(源程序)1、p=3,q=11則n=pq=33,f(n)=20,選擇e=7,則d=3那么加密得c=29解密得m=22、主要算法見實驗源文件四、實驗結(jié)果及分析和(或)源程序調(diào)試過程1、p=3,q=11則n=pq=33,f(n)=20,選擇e=7,則d=3那么加密得c=29解密得m=22、加密一段文字3、產(chǎn)生3個大素數(shù)計算機上大數(shù)表示方法:將大數(shù)看作一個n進制數(shù)組,對于目前的32位系統(tǒng)而言,n可以取值為2的32次方,即0x10000000,假如將一個1024位的大數(shù)轉(zhuǎn)化成0x10000000進制,它就變成了32位,而每一位的取值范圍就不是0-1或0-9,而是0-0xfffffff.我們正好可以用一個無符號長整數(shù)來表示這一數(shù)值.所以1024位的大整數(shù)就是一個有32個元素的unsignedlong數(shù)組.而且0x10000000進制的數(shù)組排列與2進制流對于計算機來說,實際上是一回事,但是我們完全可以針對unsighedlong數(shù)組進行”豎式計算”,而循環(huán)規(guī)模被降低到了32次之內(nèi),并且算法很容易理解.4、目前切實可行的大素數(shù)判斷方法素性測試方法:所謂素數(shù),是指除了能補1和它本身整除而不能被其他任何數(shù)整除的數(shù)。據(jù)此,只需用2到N-1去除N,如果都除不盡,則為素數(shù)(1)flag=1,i=2(2)Ifnmodi=0thenflag=1elsei=i+1(3)Ifflag=0andi<n-1then(2)else(4)(4)Ifflag=0thenwriteyeselseno在最壞的情況下,即N為素數(shù),算法需要執(zhí)行N-2次,時間復(fù)雜性太大。只需用2到根下N去除N,即可,于是上述算法改為(3)Ifflag=0andi<=int(根N)then(2)else(4)雖然快了不小,但有重復(fù)計算,如果用2去除N時若不盡,則用2的倍數(shù)去除N也除不盡,由此得for(i=2;int(根N);i++) mark[i]=0;//mark是標記其初值為0,只要它的因子除不盡其值變?yōu)?(2)i=2,flag=0(3)while(flag=0andi<int(根N)){ Ifmark[i]=0Then{ Ifnmodi=0Thenflag=1S=i+iWhiles<int(根N){ Mark[s]=1S=s+i}} I=i+1}(4)ifflag=0thenyeselseno該程序的目的是為了掌握RSA算法的基本原理、體驗應(yīng)用效果,所以算法中還有些地方需要改進,才能使其更具有實用性,通過該程序我更加了解了RSA算法的原理及應(yīng)用效果,對RSA算法有了更深入的了解實驗總結(jié):在這次實驗中,我驗證了RSA算法的安全性,我們可以看到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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論