基於現代密碼學的加密演算法驗證系統的設計與實現的論文
基於現代密碼學的加密演算法驗證系統的設計與實現的論文
摘要:針對現代密碼學課程中理論與實踐存在的差距,特意設計並開發了此款加密演算法驗證系統。本系統以AES、RSA、RC4、IDEA等幾個經典的加密演算法為例,採用JAVA技術體系與SWING介面元素開發,保證跨平臺性與良好的使用者體驗,通俗易懂地展示了現代密碼學理論魅力。本系統各個版塊保持相對獨立,每個版塊側重特定加密演算法,提供一個以演算法為基本模組的流程驗證系統。實踐證明,使用此係統有利於學生深刻剖析演算法原理過程,從而加深理論理解。
關鍵詞:現代密碼學;AES;RSA;RC4;IDEA;驗證系統;EAVS
1引言
現代密碼學理論是安全類本科專業極其重要的一門專業課,但由於密碼理論本身的抽象性特點,導致教學過程中易出現理論與實踐脫節,理論概念模稜兩可的情況。目前各個高校資訊保安教學主要分為兩個方向:一個是數學系的資訊保安,主要研究密碼學數學基礎,偏重理論;二是計算機系的資訊保安,主要研究安全程式設計技術,偏重實踐。隨著研究的深入,我們發現兩者沒有一個很好的平臺聯絡起來,導致學生知識掌握不全面,不能適應工作和深層次科研的需求。
2密碼演算法的選擇
為了深入結合本科教學培養方案,特選取幾個經典的.加密演算法:AES、RSA、RC4、IDEA。
2.1AES演算法
高階加密標準,又稱高階加密標準Rijndael加密法,屬於經典的現代加密演算法,是美國聯邦政府採用的一種區塊加密標準。由於此演算法為對稱加密演算法,故通常用來加解密,用來替代原先的DES,已經被廣泛使用。
AES很好地融合了混淆與擴散,因為資訊的內容是以128位長度的分組為加密單元的。加密金鑰長度有128,192或256位等多種選擇。
AES演算法加密過程:金鑰擴充套件→初始輪→重複輪→最終輪
2.2RSA演算法
1977年Rivest,Shamir和Adleman提出了RSA公鑰演算法,它是應用最廣泛的公鑰密碼系統。不僅可以用於資訊的加解密,還可用於數字簽名。該演算法為非對稱加密演算法,其理論基礎是大整數因數分解問題。
c.計算整數
d.將整數c轉換成密文資訊
e.將密文資訊傳送給A
2.3RC4演算法
RC4是RonRivest在1987年為RSA資料安全公司開發的可變金鑰長度的序列密碼,廣泛應用於商業密碼產品中。RC4是一種序列密碼,面向位元組流。用從1到256個位元組(8到2048位)的可變長度金鑰初始化一個256個位元組的狀態向量S,S的元素記為S[0],S[1],…,S[255],從始至終置換後的S包含從0到255的所有8位元數。
2.4IDEA演算法
IDEA是80年代提出的“過渡性”的“postDES”演算法,它在1990年正式公佈並在以後得到增強,是一種對稱密碼演算法。這種演算法是在DES演算法的基礎上發展出來的,類似於三重DES,和DES一樣IDEA也是屬於對稱金鑰演算法。IDEA的金鑰為128位,這麼長的金鑰在今後若干年內應該是安全的。不過IDEA中有大量弱金鑰,並且難以直接擴充套件到128位塊。
3EAVS的體系結構
3.1EAVS的實現結構
4系統實現的關鍵技術
5系統執行例項
6總結
6.1本文在對現代密碼學基礎算法理論深入研究的基礎上,針對目前課題教學中理論與實踐、抽象與具體中存在的不足,詳細論述了一種溝通理論與實踐的經典密碼演算法驗證系統。
6.2基於C/S的整體系統,視覺化的UI使得系統具有良好的互動性。使用者透過客戶端影象化操作,可以細緻瞭解密碼演算法的加密解密流程,並將中間結果反饋給使用者,加深對理論知識的全面理解。
6.3本系統目前只實現了一些經典演算法,實際應用於整體課堂教學仍存在不足,下一步須要豐富演算法模組,使其形成密碼學整體實踐驗證體系。
參考文獻:
[1][美]加內特,吳世忠等.密碼學導引[M].北京:機械工業出版社,2003.
[2]李傑鳳等.基於Linux的作業系統實驗平臺的設計與實現[D].計算技術與自動化,2010.
[3][美]旋奈爾,吳世忠等.應用密碼學協議.演算法與C源程式[M].北京:機械工業出版社,2003.
[4]李繼國,餘純武等.資訊保安數學基礎[M].武漢:武漢大學出版社,2006.