計算機應用畢業設計開題報告范例
開題報告是畢業論文答辯委員會對學生答辯資格審查的一個重要依據材料,以下是小編搜集整理的計算機應用畢業設計開題報告范例,歡迎閱讀參考。
題 目: 基于RSA算法的加解密程序的設計和實現
一、選題的依據及意義:
RSA公鑰加密算法是第一個既能用于數據加密也能用于數字簽名的算法。它易于理解
操作,也十分流行。算法的名字以發明者的姓氏首字母命名:Ron Rivest,Adi Shamir和Leonard Adleman。雖然自1978年提出以來,RSA的安全性一直未能得到理論上的證明,但它經歷了各種攻擊,至今未被完全攻破。隨著越來越多的商業應用和標準化工作,RSA已經成為最具代表性的公鑰加密技術。VISA、MasterCard、IBM、Microsoft等公司協力指定的安全電子交易標準(Secure Electronic Transactions.SET)就采用了標準RSA算法,這使得RSA在我們的生活中幾乎無處不在。網上交易加密連接、網上銀行身份驗證、各種信用卡使用的數字證書、智能移動電話和存儲卡的驗證功能芯片等,大多數使用RSA技術。
當今公鑰加密更廣泛應用于互聯網身份認證,本課題將公鑰加密算法RSA應用于小型文件加密。將任意文件加密成文本的解決方案,使其使用更加靈活。整個工程的分層設計,給引用移植和后續開發帶來便利。
二、國內外研究現狀及發展趨勢(含文獻綜述):
密碼學以研究秘密通信為目的,研究對傳輸信息采取何種的變換,以防止第三者對信息的截取。在密碼學中,需要變換的原消息稱為明文消息。明文經過變換成為另一種隱蔽的形式,稱為密文消息。完成變換的過程稱作加密,其逆過程(即由密文恢復出明文的過程)稱作解密。對明文進行加密時所采取的一組規則稱作加密算法。加密和解密操作通常在密鑰的控制下進行,并有加密密鑰和解密密鑰之分。因為數據以密文的形式存儲在計算機文件中,或在數據通信網絡傳輸,因此數據被未授權者非法竊取,或因系統故障和操作人員誤操作而造成數據泄漏,未授權者也不能理解它的真正含義,從而達到數據保密的目的。同樣,未授權者也不能偽造合理的密文,因而不能篡改數據,從而達到數據真實性的目的。
密碼技術是對信息進行重新編碼, 從而達到隱藏信息內容, 使非法用戶無法獲取信息真實內容的一種手段。在單鑰密碼體制中,加密和解密所用的密鑰是相同的或者相近的,即由加密密鑰很容易得出解密密鑰。在一個密碼系統中,不能假定加密算法和解密算法是保密的,因此,密鑰必須保密。然而發送信息的通道往往是不可靠或者不安全的,所以,在對稱密碼體系中,必須用不同于發送信息的另外一個安全信道來發送密鑰,但這個安全信道不一定真的安全。為此,人們希望使用一種不需要傳遞解密密鑰的密碼體制公開密鑰密碼體制。
Whitfield Diffie和Martin Hellman在《密碼學的新方向》一文中包含了設計一個具有公鑰私鑰對系統的.協議的詳細信息,隨后這一算法以兩位作者的姓名命名,即Diffie-Hellman 算法,它被稱為公鑰系統的基礎。公鑰密碼的新概念開創了現代密碼學的新領域。這一領域雖然只有短短的二十幾年時間,但投入研究人員之多,他們來自學科之廣,發表的論文之眾是其它任何一門學科所不能比的,所以很快便獲得了一整套很系統的成果。
1.傳統密碼在密鑰分配與管理上是極困難的。在任何密文未發送之前,A方和B方必須利用安全信道時行密鑰K的預先通信,在實際應用中,這可能是非常困難的。因此,Diffie和Hellman提出了公鑰密碼體制的思想。
2.在商業上有時不可能做得到通信雙方事先預約使用相同密鑰。
公鑰密碼體制將加密密鑰與解密密鑰分開,并將加密密鑰公開,解密密鑰保密。這樣,每個用戶擁有兩個密鑰:公開鑰和秘密鑰,并且所有公開鑰均被記錄在類似電話簿的密碼本中。這種密碼體制的安全性是從已知的公開鑰、加密算法與在信道上截獲的密文不能求出明文或秘密鑰。
公鑰體制的基礎是陷門(單向函數) , 即某種實際處理過程的不可逆性。目前的公鑰思想基于兩種:一是依賴于大數的因數分解的困難性;二是依賴于求模離散對數的困難性。公開密鑰密碼體制開辟了密碼學研究的新方向,此后,人們基于背包問題、因子分解問題和離散對數問題等數學難題提出了大量的公鑰密碼體制算法。
在受Diffie-Hellman 算法思想啟發之后,美國麻省理工學院的三個研究人員:Ronald Rivest,Adi Sharmir 和Leonard Adleman聯合提出一種基于數論中歐拉定理的公鑰密碼系統,簡稱RSA公鑰系統,并于1983 年在美國獲得專利。
RSA 公鑰密碼算法是迄今為止在理論上最為成熟、完善的公鑰密碼體制。 從提出到現在已經歷了各種攻擊的考驗,逐漸為人們接受,普遍認為是目前最優秀的公鑰方案之一。它是第一個既能用于數據加密也能用于數字簽名和密鑰分配與管理的算法。它易于理解和操作,也很流行。因為它既可用于加密,又可用于簽名,并為用戶的公開密鑰簽發公鑰證書、發放證書、管理證書等,提高了服務質量,所以, RSA 公開密鑰密碼在當今的信息交換過程中已得到廣泛的應用和實踐,RSA 公鑰密碼體制在世界許多地方已經成為事實上的標準。
該算法的加密密鑰和加密算法分開,使得密鑰分配更為方便。而且它特別符合計算機網絡環境。對于網上的大量用戶,可以將加密密鑰用電話簿的方式印出。如果某用戶想與另一用戶進行保密通信,只需從公鑰簿上查出對方的加密密鑰,用它對所傳送的信息加密發出即可。對方收到信息后,用僅為自己所知的解密密鑰將信息解密,了解明文的內容。由此可看出,RSA 算法解決了大量網絡用戶密鑰管理的難題,這是公鑰密碼系統相對于對稱密碼系統最突出的優點。
RSA 是一個基于數論的非對稱密碼體制,是一種分組密碼體制,是一種基于因子分解的指數函數作為單向陷門函數的公鑰體制算法。它基礎是數論的歐拉定理,素數檢測,它的安全性是基于大數分解,后者在數學上是一個困難問題。
RSA算法是第一個完善并且簡單實用的公鑰密碼體制算法。近年來,國內外學者對RSA密碼算法提出了多種攻擊方法,例如Pollard p21方法、二次篩法、橢圓曲線算法和數域篩法等。
RSA 的安全性基于復雜性理論中的計算安全性, 依賴于大整數分解這一NP 難題?煽啃耘c所用密鑰的長度有很大關系, 假如有人找到一種很快的分解因子的算法, 即從一個公鑰中通過因數分解得到私鑰, 那么用RSA 加密的信息的可靠性肯定會極度下降。但由于其工作量巨大,按目前計算機的處理能力是不可能實現的。實踐證明,在當前的技術和方法下,密鑰不小于1 024 bit的RSA算法仍然是安全的。這充分說明RSA 系統具有良好的保密性能。
因此,盡管先后出現了很多新的公鑰體制算法,但RSA仍然在不同應用領域占據了重要的位置。隨著計算機運算速度的提高以及因子分解算法的突破, RSA 的密鑰長度將越來越大, 其軟硬件實現速度將成為制約其使用的重要因素。
為了提高RSA密碼算法的軟硬件實現速度,人們提出了許多可行的方法,例如旨在快速產生大素數的Monte Carlo概率算法,加速模冪運算的M-ary法、Yacobi法、加法鏈法和向量加法鏈法,以及利用孫子定理(CRT)改進RSA的解密運算等。
近年來, 橢圓曲線密碼體制(ECC)得到廣為關注, 與同等保密強度的RSA 相比, ECC 的密鑰長度更小, 密鑰生成及加解密速度更快, 且同樣具有RSA 數字簽名的優點。因此對RSA 構成了極大挑戰。無論針對哪種體制, 尋找更為高效的大數運算算法始終是一個長久的話題。
三、本課題研究內容和方案
本課題致力于RSA算法的理論研究、RSA算法的改進以及基于RSA算法的加密、解密的軟件實現。
本課題將公鑰加密算法RSA應用于小型文件加密,將任意文件加密成文本的解決方案,使其使用更加靈活。整個工程的分層設計,給引用移植和后續開發帶來便利。
整個工程采用分層設計。核心的RSA算法由C++類庫實現,針對用戶所在的操作系統封裝成本地化組件。其他各功能如文件操作、數據編碼轉換和圖形界面等,由托管代碼借助虛擬機平臺標準庫的功能快速開發實現(本文針對選用.Net上的C#論述,調用本地組件,設計模式上是完全類似的)。這種開發方式,核心功能集中在最底層,在不斷的封裝中針對具體環境對組件功能不斷擴充,任意一個層面的封裝都可以被直接應用到其它項目,比如在Web使用以前為某窗體程序寫的組件、給嵌入式設備交叉編譯算法庫等。但是每一層都需要依賴底層的所有組件。
綜上所述,設計方案上層使用C#,底層算法使用C++,可以由一個Visual Studio解決方案管理,給調試帶來極大的方便。整個工程分四層,實現RSA加密算法的C++核心類庫、封裝C++核心類庫的DLL組件、引用DLL的.Net類、實現文件操作功能的.Net窗體應用程序。
四、本課題的研究進度:
進度計劃表如下表2所示:
序號 各階段工作內容 起訖日期 備注
1 選題并查閱相關文獻資料,完成開題報告和文獻綜述;翻譯與論文題目相關的英文資料 第1~4周
2 開發工具的選擇和熟悉、系統調研和開發平臺的構建等 第5~7周
3 系統設計、實現、測試與迭代完善 第8~13周
4 論文撰寫、修改與定稿; 第14~16周
5 整理并提交畢業設計(論文)相關材料;制作論文答辯PPT;進行畢業論文答辯 第17~18周
五、參考文獻
[1] 楊義先,紐心忻,李名選.網絡信息安全與保密[M].北京郵電大學出版社,2001
[2] 辛運煒.密碼學算法[M] .電子工業出版社,1998
[3] Douglas R.Stinson.密碼學原理與實踐.北京:電子工業出版社,2003:131-132
[4] 趙振江.密碼編碼學[M] 加密方法的C與C++實現[M] .電子工業出版社,2003.6: 31~41
【計算機應用畢業設計開題報告范例】相關文章: