韓紅彩 張亞娜 曹鑫 韓莉
【摘要】為激發(fā)學(xué)生對(duì)密碼學(xué)的學(xué)習(xí)興趣,加強(qiáng)師生在教學(xué)過(guò)程中的互動(dòng),以及教學(xué)中出現(xiàn)的加解密結(jié)果及時(shí)驗(yàn)證問(wèn)題,設(shè)計(jì)和實(shí)現(xiàn)了基于matlab的密碼學(xué)教學(xué)輔助軟件(以下簡(jiǎn)稱(chēng)CAD。該軟件以窗體形式實(shí)現(xiàn)了RC4、DES、MD5、AES、RSA這5種比較流行的加密解密算法。也實(shí)現(xiàn)了文件加解密,以及當(dāng)前文本框輸入文本的動(dòng)態(tài)加密解密。
【關(guān)鍵詞】matlab 加密 解密
0引言
在當(dāng)前互聯(lián)網(wǎng)信息飛速發(fā)展的時(shí)代,大家對(duì)信息安全的意識(shí)也是與日俱增。而要保證信息安全,最關(guān)鍵的就是保證信息的保密性。由此,在各個(gè)高校的信息安全技術(shù)專(zhuān)業(yè)必開(kāi)設(shè)密碼學(xué)課程。但是,由于密碼學(xué)建立在數(shù)學(xué)理論的基礎(chǔ)上,其邏輯推理嚴(yán)密,體系復(fù)雜,理解起來(lái)比較抽象,所以一些學(xué)生對(duì)此望而生畏、不知所措。針對(duì)此問(wèn)題。專(zhuān)門(mén)開(kāi)發(fā)了一款計(jì)算機(jī)輔助教學(xué)軟件。該軟件主要集中了最常見(jiàn)的也是諸多教材所出現(xiàn)的5種典型的密碼體制(即RC4、DES、MD5、AES、RSA)加解密算法,并且實(shí)現(xiàn)了對(duì)文件的加解密、以及對(duì)當(dāng)前文本框輸入的內(nèi)容進(jìn)行加解密。
1密碼學(xué)課程簡(jiǎn)述
密碼學(xué)及其應(yīng)用是跨學(xué)科的交叉研究領(lǐng)域,其成果和思想方法的意義已經(jīng)不限于數(shù)學(xué),甚至也不僅僅限于信息安全。在密碼學(xué)課程中,內(nèi)容主要涉及密碼學(xué)基礎(chǔ)、古典密碼、密碼學(xué)數(shù)學(xué)引論、對(duì)稱(chēng)密碼學(xué)體制、非對(duì)稱(chēng)密碼體制、HASH函數(shù)和消息認(rèn)證、數(shù)字簽名、密鑰管理、流密碼以及密碼學(xué)的新進(jìn)展。
2系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)
鑒于matlab強(qiáng)大的計(jì)算和圖形功能,所以本系統(tǒng)主要用mat,1ab實(shí)現(xiàn)。除了一般軟件具有的登錄退出等界面,系統(tǒng)主要涉及了對(duì)五種算法的加解密。以及對(duì)文件和臨時(shí)輸入的文本內(nèi)容的加解密,系統(tǒng)架構(gòu)如圖1所示。
2,1matlab的相關(guān)介紹
matlab是矩陣實(shí)驗(yàn)室(Matrix Laboratory)的簡(jiǎn)稱(chēng)。MATLAB用于算法開(kāi)發(fā)、數(shù)據(jù)可視化、數(shù)據(jù)分析以及數(shù)值計(jì)算的高級(jí)技術(shù)計(jì)算語(yǔ)言和交互式環(huán)境,主要包括MATLAB和Simulink兩大部分。本系統(tǒng)采用了matlab R2015a版本。
在系統(tǒng)制作中,主要有以下幾個(gè)步驟:1)打開(kāi)matlab,新建一個(gè)Graphical User Interface(GUI);2)選擇默認(rèn)的Blank GUI(Default),單擊ok;3)進(jìn)入GUI界面編輯界面,左側(cè)邊欄為界面的一些快捷按鈕,按住鼠標(biāo)左鍵可以拖到右側(cè)編輯框,各個(gè)按鈕一般都有各自作用;4)按需要選擇按鈕并排版;5)在未放置按鈕區(qū)域右鍵選擇Edi—tor;6)進(jìn)入代碼編輯界面,在按鈕的對(duì)應(yīng)區(qū)域加入所需代碼;7)點(diǎn)擊上方綠色三角(或按F5)運(yùn)行,調(diào)試通過(guò);8)調(diào)試通過(guò)即可保存-m文件以及,fig文件即可。
2,2加解密模塊
密碼學(xué)的兩個(gè)分支為加密密碼學(xué)和解密密碼學(xué),對(duì)應(yīng)的算法即加密和解密。密碼體制就是完成加密和解密功能的密碼方案。近代密碼體制可分為兩大類(lèi):對(duì)稱(chēng)加密體制和非對(duì)稱(chēng)加密體制。
對(duì)稱(chēng)加密的優(yōu)點(diǎn)是數(shù)據(jù)處理快,但缺點(diǎn)在于密鑰的管理過(guò)于復(fù)雜。假設(shè)有N個(gè)用戶(hù)進(jìn)行對(duì)稱(chēng)加密通信,如果按照上述方法,則他們要產(chǎn)生N(N-1)把密鑰,每一個(gè)用戶(hù)要記住或保留N-1把密鑰,當(dāng)N很大時(shí)很難記憶,而保留起來(lái)又會(huì)使密鑰泄漏的可能性增加。本系統(tǒng)主要研究了比較典型的三類(lèi)對(duì)稱(chēng)密碼:DES、AES、RC4。
非對(duì)稱(chēng)加密技術(shù)又叫公開(kāi)密鑰算法,它用作加密的密鑰不同于用作解密的密鑰,而且解密密鑰不能根據(jù)加密密鑰計(jì)算出來(lái)。在這種加密算法中。加密密鑰被叫做公開(kāi)密鑰。而解密密鑰被叫做私有密鑰。非對(duì)稱(chēng)加密的缺點(diǎn)在于實(shí)現(xiàn)算法的效率低、速度慢,非對(duì)稱(chēng)加密的優(yōu)點(diǎn)在于用戶(hù)不必記憶大量的提前商定好的密鑰。但為了保證可靠性,非對(duì)稱(chēng)加密算法需要一種與之相配合使用的公開(kāi)密鑰管理機(jī)制,常用的非對(duì)稱(chēng)加密算法有RSA、MD5等。
2.3系統(tǒng)測(cè)試結(jié)果
經(jīng)過(guò)多次測(cè)試及修改,系統(tǒng)最終實(shí)現(xiàn)了相關(guān)功能。圖2為5種常用算法的演示界面,圖3是DES算法加密解密的執(zhí)行結(jié)果。由于版面有限,關(guān)于對(duì)臨時(shí)輸入的文本內(nèi)容以及文件的加解密就不再累贅。
3結(jié)束語(yǔ)
本文針對(duì)密碼學(xué)課程復(fù)雜抽象、理解困難的問(wèn)題,設(shè)計(jì)并實(shí)現(xiàn)了基于matlab的密碼學(xué)演示系統(tǒng),包括系統(tǒng)的架構(gòu)、開(kāi)發(fā)工具、功能的設(shè)計(jì)與實(shí)現(xiàn)。測(cè)試結(jié)果表明該系統(tǒng)界面簡(jiǎn)潔、互動(dòng)友好,功能性完整,實(shí)現(xiàn)了密碼學(xué)課程中典型的5種算法演示。這一軟件的有效利用極大地提高了學(xué)生的學(xué)習(xí)興趣,激發(fā)了學(xué)生的學(xué)習(xí)熱情,使得密碼學(xué)課程教學(xué)效果收益顯著。