資源描述:
《RSA算法的實(shí)現(xiàn)——畢業(yè)論文》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在學(xué)術(shù)論文-天天文庫。
1、RSA算法的實(shí)現(xiàn)摘要本文設(shè)計(jì)的是一套完整實(shí)用的RSA文件加密解決方案,并具體編碼實(shí)現(xiàn)。本文采用費(fèi)馬小定理測(cè)試素?cái)?shù),使用Montgomery加快大數(shù)模乘運(yùn)算,用C++實(shí)現(xiàn)RSA加密算法類庫,并在32位windows平臺(tái)封裝成組件。在.Net平臺(tái)引用此組件,實(shí)現(xiàn)可以對(duì)任意文件進(jìn)行RSA加密操作的窗體應(yīng)用程序。經(jīng)過加密的文件以及密鑰文件都是文本文件。本文首先給出關(guān)鍵類類圖、整個(gè)應(yīng)用程序的結(jié)構(gòu)描述文檔,然后對(duì)關(guān)鍵模塊流程圖、詳細(xì)的接口文檔進(jìn)行闡述,并給出關(guān)鍵的實(shí)現(xiàn)代碼,最后對(duì)應(yīng)用程序進(jìn)行測(cè)試,對(duì)測(cè)試結(jié)果進(jìn)
2、行分析研究,進(jìn)而對(duì)應(yīng)用程序進(jìn)行改進(jìn),對(duì)關(guān)鍵算法進(jìn)行盡可能的優(yōu)化,最終得到一個(gè)在windows運(yùn)行的可以用指定密鑰對(duì)任意文件進(jìn)行RSA加密并可解密的完整應(yīng)用程序,和一些相關(guān)的可移植組件。關(guān)鍵詞:RSA;文件加密;Montgomery;費(fèi)馬定理ImplementofRSAAlgorithmAbstractInthispaper,asolutionofencryptingfilewithRSAalgorithmandthecodesofthissystemareintroduced.Fermattheo
3、ryisusedtotestprimenumber.Montgomeryisusedtocutshortthetimeofmodularmultiplicationoflargenumber.TheclasslibraryofRSAisimplementedinC++,andpackagedtocomponentontheplatformof32bitswindows.Ontheplatformof.Net,theapplicationisimplementedwithreferenceofthi
4、scomponentandcanencryptanyfilewithRSA.Bothencryptedfilesandkeyfilesaretextfiles.Inthispaper,coreclassfiguresandtheframeworkarefirstintroduced.Thentheflowofcoremodulesanddetailinterfacesarestatedandthekernelcodesareshowedalso.Finally,itanalyzestheresul
5、toftest,thenoptimizescorealgorithm.Intheconclusion,anentireapplicationwhichcanencryptanyfileswithRSAalgorithmusinggivenkeyandsometransplantedcomponentsareimplemented.Keywords:RSA;FileEncryption;Montgomery;Fermat目錄論文總頁數(shù):35頁1引言11.1課題背景11.2RSA算法介紹與應(yīng)用現(xiàn)狀11
6、.3RSA應(yīng)用于文件加密的分析21.3.1文件加密使用RSA的可行性21.3.2文件加密使用RSA的意義32RSA文件加密軟件的設(shè)計(jì)與實(shí)現(xiàn)42.1需求分析與總體設(shè)計(jì)42.1.1功能分析42.1.2工程方案選擇42.2各部分的設(shè)計(jì)與開發(fā)52.2.1實(shí)現(xiàn)RSA加密算法的C++核心類庫52.2.2封裝C++核心類庫的DLL組件252.2.3引用DLL的.Net類與實(shí)現(xiàn)文件操作功能的窗體應(yīng)用程序263軟件整體測(cè)試與分析改進(jìn)273.1編寫測(cè)試各項(xiàng)性能需要的精確計(jì)時(shí)類273.2測(cè)試數(shù)據(jù)與分析改進(jìn)273.2.1
7、密鑰生成測(cè)試273.2.2數(shù)據(jù)輸入輸出測(cè)試283.2.3加密解密測(cè)試29結(jié)論31參考文獻(xiàn)32附錄33致謝34聲明351引言1.1課題背景RSA公鑰加密算法是第一個(gè)既能用于數(shù)據(jù)加密也能用于數(shù)字簽名的算法。它易于理解和操作,也十分流行。算法的名字以發(fā)明者的姓氏首字母命名:RonRivest,AdiShamir和LeonardAdleman。雖然自1978年提出以來,RSA的安全性一直未能得到理論上的證明,但它經(jīng)歷了各種攻擊,至今(2006年)未被完全攻破。隨著越來越多的商業(yè)應(yīng)用和標(biāo)準(zhǔn)化工作,RSA已經(jīng)
8、成為最具代表性的公鑰加密技術(shù)。VISA、MasterCard、IBM、Microsoft等公司協(xié)力制定的安全電子交易標(biāo)準(zhǔn)(SecureElectronicTransactions,SET)就采用了標(biāo)準(zhǔn)RSA算法,這使得RSA在我們的生活中幾乎無處不在。網(wǎng)上交易加密連接、網(wǎng)上銀行身份驗(yàn)證、各種信用卡使用的數(shù)字證書、智能移動(dòng)電話和存儲(chǔ)卡的驗(yàn)證功能芯片等,大多數(shù)使用RSA技術(shù)。當(dāng)今公鑰加密更廣泛應(yīng)用于互聯(lián)網(wǎng)身份認(rèn)證,本課題將公鑰加密算法RSA應(yīng)用于小型文件加密。將任意文件加密成文本的解決