實驗四RSA加解密算法的實現(xiàn).doc

實驗四RSA加解密算法的實現(xiàn).doc

ID:52718122

大小:174.00 KB

頁數(shù):5頁

時間:2020-03-29

實驗四RSA加解密算法的實現(xiàn).doc_第1頁
實驗四RSA加解密算法的實現(xiàn).doc_第2頁
實驗四RSA加解密算法的實現(xiàn).doc_第3頁
實驗四RSA加解密算法的實現(xiàn).doc_第4頁
實驗四RSA加解密算法的實現(xiàn).doc_第5頁
資源描述:

《實驗四RSA加解密算法的實現(xiàn).doc》由會員上傳分享,免費在線閱讀,更多相關內容在教育資源-天天文庫。

1、實驗四RSA加解密算法的實現(xiàn)一.實驗目的1、對算法描述可進行充分理解,精確理解算法的各個步驟。2、完成RSA軟件算法的詳細設計。3、用C++完成算法的設計模塊。4、編制測試代碼。二.實驗內容1.實驗原理及基本技術路線圖<方框原理圖)加密過程:第一步,用戶首先輸入兩個素數(shù)p和q,并求出n=p*q,然后再求出n的歐拉函數(shù)值phi。第二步,在[e,phi]中選出一個與phi互素的整數(shù)e,并根據(jù)e*d≡1

2、超過MAXLENGTH=500),輸入以-1為結束標志,實際個數(shù)存入size中,正整數(shù)以clear[MAXLENGTH]保存。p1EanqFDPw第四步,對第三步所得的明文clear[MAXLENGTH]進行加密。遍歷clear[size],對每一個整數(shù)用以下算法進行加密,并將加密后的密文保存在Ciphertext[MAXLENGTH]中。DXDiTa9E3d注意:此處不能用m2[j]=clear[j]^e整數(shù)的冪,因為當e和clear[j]較大時,會發(fā)生溢出,至使出現(xiàn)無法預料的結果。RTCrpUDGiT第五步,輸出加密后的密文。解密過程:第一步,根據(jù)在以上算法

3、中求出的解密密鑰[d,phi],對加密后的密文Ciphertext[MAXLENGTH]進行解密,結果保存在DecryptionText[MAXLENGTH]中,算法如下:5PCzVD7HxA第二步,輸出對加密前的明文和加密并解密后的密文進行比較,判斷兩個數(shù)組是否一致,從而得知算法是否正確。2.所用儀器、材料<設備名稱、型號、規(guī)格等)5/5計算機一臺、vc6.03.實驗方法、步驟#include#includeusingnamespacestd。#defineMAXLENGTH500//明文最大長度,即所允許最大整數(shù)個數(shù)ints

4、ize=0。//保存要進行加密的正整數(shù)的個數(shù)intp,q。//兩個大素數(shù)intn,phi。//n=p*q,phi=(p-1>*(q-1>是n的歐拉函數(shù)值jLBHrnAILginte。//{e,n}為公開密鑰intd。//{d,n}為秘密密鑰intclear[MAXLENGTH],Ciphertext[MAXLENGTH]。//分別用于存放加//密前的明//文和加密后的密文xHAQX74J0XintDecryptionText[MAXLENGTH]。//存放解密后的明文////////////////////////////////////////////////

5、////////////LDAYtRyKfE//以下為加密算法voidEncryption(>{//加密算法cout<<"請輸入兩個較大的素數(shù):"。cin>>p>>q。cout<<"p="<*(q-1>。//求解n的歐拉函數(shù)值cout<<"n="<>e。floatd0。for(inti=1。。i++>{///求解乘法逆

6、元e*d≡1(modphi>d0=(float>(phi*i+1>/e。if(d0-(int>d0==0>break。}d=(int>d0。cout<

7、cout<<"加密前的明文為:"。for(i=0。iCiphertext[i]=1。5/5intcount。for(intj=0。j{cin>>clear[j]。if(clear[j]==-1>break。count=e。while(count>0>{//對明文進行加密Ciphertext=%n。//加密算法count--。}}cout<<"密文為:"。size=j。//實際密文長度for(intk=0

8、。kcou

當前文檔最多預覽五頁,下載文檔查看全文

此文檔下載收益歸作者所有

當前文檔最多預覽五頁,下載文檔查看全文
溫馨提示:
1. 部分包含數(shù)學公式或PPT動畫的文件,查看預覽時可能會顯示錯亂或異常,文件下載后無此問題,請放心下載。
2. 本文檔由用戶上傳,版權歸屬用戶,天天文庫負責整理代發(fā)布。如果您對本文檔版權有爭議請及時聯(lián)系客服。
3. 下載前請仔細閱讀文檔內容,確認文檔內容符合您的需求后進行下載,若出現(xiàn)內容與標題不符可向本站投訴處理。
4. 下載文檔時可能由于網(wǎng)絡波動等原因無法下載或下載錯誤,付費完成后未能成功下載的用戶請聯(lián)系客服處理。