摘要:該文提出基于Eclipse的密碼系統(tǒng)平臺,作為警務(wù)平臺的輔助工具,為警務(wù)系統(tǒng)中消息和文件的傳播提供了一個加密解密系統(tǒng),用戶可以在密碼系統(tǒng)中定制不同的加密算法將內(nèi)部資源進(jìn)行加密和解密,加強(qiáng)了信息在傳播中的安全性,同時,這也是一個很好的學(xué)習(xí)密碼學(xué)以及應(yīng)用各種加密解密算法的平臺。
關(guān)鍵詞:密碼系統(tǒng)算法;集成平臺;信息安全;JavaSE;Eclipse
中圖分類號:TP391文獻(xiàn)標(biāo)識碼:A 文章編號:1009-3044(2009)36-10261-02
The Realization of Police System Cryptography Platform Based on Eclipse
XU Yan, LUO Ying
(Anyang Institute of Technology, Anyang 455000, China)
Abstract: In this paper, a cryptography workbench platform based on Eclipse is proposed, it provides an encryption and decryption system to enhance the security in information and documents dissemination in police system. At the same time, it is also a very good learning and application cryptography platform for variety of encryption and decryption algorithms.
Key words: cryptographic algorithm; cryptographic workbench; information security; JavaSE; Eclipse
與信息的一般特征相比,公安機(jī)關(guān)信息具有信息的廣泛性和相對的共享性與保密性的特點。消息傳播范圍可以是所有公眾,可能是部分公眾,或者只在公安機(jī)關(guān)部門與部門之間傳播的信息;還有只在特定的公安機(jī)關(guān)內(nèi)部人員之間傳播的信息。
本選題的意義就是實現(xiàn)一個具有加密解密功能的系統(tǒng),作為警務(wù)平臺的輔助工具,為員工提供密碼系統(tǒng)聚合平臺,使用戶可以將自己常用或?qū)⒁獋鞑サ牡膬?nèi)部資源在這樣一個密碼系統(tǒng)中定制不同的加密算法進(jìn)行加密和解密。
系統(tǒng)實現(xiàn)一個密碼系統(tǒng)資源聚合系統(tǒng),支持并驗證不同的加密解密算法和一系列攻擊工具。提供讓用戶自己定制不同密碼策略進(jìn)行加密,解密和攻擊的功能。該平臺不僅集成了各種自動加密和解密機(jī)制,而且也支持一系列的古典密碼。加密工作臺包含六個密碼系統(tǒng)[1]:凱撒密碼,關(guān)鍵字密碼[2],仿射密碼,Vigenere密碼,換位密碼加密[3],以及7個攻擊工具[4]:凱撒破解器,關(guān)鍵字破解器,仿射破解器,Vigenere破解器,換位破解器,Kasiski方法和頻率分析。
論文首先分析了密碼系統(tǒng)的主要原理和意義,然后闡述了系統(tǒng)的設(shè)計與實現(xiàn)過程。本文詳細(xì)的介紹了不同的密碼算法和攻擊技術(shù),從最初的需求分析,設(shè)計,實施和最后的測試和系統(tǒng)評價等方面對加密平臺進(jìn)行了闡述。實驗結(jié)果驗證了平臺的正確性和準(zhǔn)確性。
1 研究背景
一個密碼由算法、以及所有可能的明文、密文和密鑰組成的[5]。可以被定義為如下:一個五元組(P,C,K,ε,D )具有以下屬性:P被稱為明文空間。這是一個集和其內(nèi)容被稱為plaintexts 。C被稱為密文空間。這是一個集和其內(nèi)容被稱為ciphertexts。K被稱為密鑰空間。這是一個集合,其所含的元素被稱為keys。ε是一組高效的加密算法, ε = {Ek:K∈K} 且Ek:P→C。D是一組高效的解密算法, D = {Dk:K∈K } 且Dk:C→P 對于每一個e∈K, 有d∈K因此對每一個P∈P,Dd(Ee(P)=P)。
所有這些算法的安全性都基于密鑰的安全性;而不是基于算法的細(xì)節(jié)的安全性。這就意味著算法可以公開,也可以被分析,可以大量生產(chǎn)使用算法的產(chǎn)品,即使偷聽者知道你的算法也沒有關(guān)系,(因此本系統(tǒng)所用的密碼算法不再在文中贅述);如果他不知道你使用的具體密鑰,他就不可能閱讀你的消息。無論是加密和解密都是基于加密算法和密鑰。它是一套數(shù)學(xué)函數(shù)用于加密和解密的關(guān)鍵,密鑰而可能是一個單詞,數(shù)字,或詞組。同樣的明文可以加密成不同的密文。破解密鑰是密碼體制安全保密的關(guān)鍵,它的產(chǎn)生和管理是密碼學(xué)中重要的研究課題[6]。
2 基于JavaSE的密碼系統(tǒng)集成平臺的設(shè)計和實現(xiàn)
本文討論和研究的是如何構(gòu)建基密碼系統(tǒng)的集成工作臺,主要完成以下工作,提供下列功能:
1)凱撒密碼加密和解密;2)關(guān)鍵字密碼加密和解密;3)仿射密碼加密和解密;4)Vigenere密碼加密和解密;5)換位密碼加密和解密;6)DES加密;7)凱撒密碼破解器;8)關(guān)鍵字密碼破解器 ;9)仿射密碼破解器;10)Vigenere密碼破解器;11)換位密碼破解器;12)頻率分析工具;13)Kasiski方法。
整個項目是由主要工作臺模塊,加密和解密模塊,以及攻擊模塊組成。該工作臺必須作為一個由上面列出所有密碼系統(tǒng)和攻擊工具構(gòu)成的綜合系統(tǒng)。每個密碼系統(tǒng)和攻擊工具必須列出并顯示給用戶。用戶必須能夠訪問每個密碼系統(tǒng),每個攻擊工具。該工作臺應(yīng)具備擴(kuò)展性,允許將在增加更多的加密系統(tǒng)和攻擊工具。系統(tǒng)結(jié)構(gòu)圖如圖1所示。
系統(tǒng)采用java語言開發(fā),系統(tǒng)的設(shè)計和開發(fā)均采用了OOP技術(shù),模塊化組合和功能分級管理。面向?qū)ο蟮脑O(shè)計思想使得界面更美觀,簡潔,用戶體驗更流暢。系統(tǒng)具有可擴(kuò)展性,可以不改變現(xiàn)有流程結(jié)構(gòu)而進(jìn)行系統(tǒng)功能調(diào)整或模塊的增加和升級,具備魯棒性和可移植性。
開發(fā)框架選擇目前基于Java語言最流行的Eclipse3.1.系統(tǒng)對平臺框架類進(jìn)行了繼承,增加了代碼的重用。系統(tǒng)主要功能界面如圖2所示。
3 實驗及系統(tǒng)測試
密碼系統(tǒng)工作平臺的實現(xiàn)和使用,切實提供了很好的密碼學(xué)研究的平臺,密碼系統(tǒng)結(jié)合公安部門信息加密的應(yīng)用也體現(xiàn)了加密技術(shù)在相關(guān)部門對于敏感數(shù)據(jù)安全議題的應(yīng)用的積極意義和應(yīng)用。我們在Windows xp系統(tǒng)下用Eclipse3.1實現(xiàn)了該平臺,并在奔騰Ⅳ 2.8G的計算機(jī)上對收集到本機(jī)的數(shù)據(jù)進(jìn)行了實驗.圖3是換位密碼加密警務(wù)文件的使用示例圖。
最后對公安警務(wù)系統(tǒng)得信息和文檔傳播時,加密、解密進(jìn)行了測試,加密后的文件可以在公安機(jī)關(guān)內(nèi)部傳播,接受方解密后可查看。20次試驗結(jié)果表明,加密,解密的正確率達(dá)98以上,幾乎全部正確。加密也可用于在本地敏感數(shù)據(jù)的保護(hù),加密后的文件和數(shù)據(jù),能夠確保在工作中由于疏忽,造成的其它人對機(jī)器使用時,對某些敏感數(shù)據(jù)不能直接查看,從而提高了數(shù)據(jù)的安全性。
測試是至關(guān)重要的,證明該系統(tǒng)是有效的。對這一項目的測試策略通過如下常規(guī)步驟:單元測試,集成測試,驗證測試和系統(tǒng)測試。單元測試集中在最小的單位和程序的模塊部分,是在每一個密碼系統(tǒng)或攻擊方案創(chuàng)建的時候進(jìn)行的。 加密,解密或攻擊處理的是字符串。它涉及到字符串操作主要有三個類型的錯誤,在單元測試查明和糾正。測試期間的主要錯誤是當(dāng)在清單中點擊了該系統(tǒng)的名字,該系統(tǒng)沒有正常運行。然而,這個問題已經(jīng)通過糾正按鈕事件監(jiān)聽解決了。
4 結(jié)論及進(jìn)一步的工作
本系統(tǒng)實現(xiàn)了一個常用密碼機(jī)制的集成平臺,能夠使用并自行定制密碼策略對于內(nèi)部資源的加密和解密,提供了一個對密碼系統(tǒng)學(xué)習(xí)、分析和使用的平臺。這一項目今后工作一個重要領(lǐng)域是提高轉(zhuǎn)斷路器的算法,使其自動攻擊。 另一個今后的工作,是提供更多類型的密碼,像Enigma, RSA等,還有繼續(xù)開發(fā)對這些密碼的自動攻擊工具。此外,也提供了另一個思路:使密碼系統(tǒng)和攻擊工具可以處理特殊字符和標(biāo)點,甚至外語。系統(tǒng)擴(kuò)展的進(jìn)一步工作考慮開放編寫可定制資源的接口工具類API。
參考文獻(xiàn):
[1] Chadwick J.The Science of Secrecy:The secret history of Codes and Codebreaking[M].Fourth Estate Limited,2000.
[2] Trappe W,Washington L C.Introduction to Cryptograph with Coding Theory[M].Science Press and Pearson Education Asia Limited,2002.
[3] Bauer F L.Decrypted secrets:Methods and Maxims of Cryptology[M].Third,Revised and Updated Edition,Springer,2002.
[4] Garrett P.Making,Breaking Codes:An Introduction to Cryptography[M].Pearson Education North Asia Limited and China Machine Press,2001.
[5] Stallings W.Cryptography and Network Security:Principles and Practices[M].3th ed.Prentice Hall,Pearson Education Inc,2003.
[6] Churchhouse L F.Codes and Ciphers:Julius Caesar,the Enigma and the internet[M].Cambridage University Press,2002.