韓萌 申笑晨 商顯震
摘要:隨著互聯(lián)網(wǎng)的迅猛發(fā)展,人們對于信息安全的要求也越來越高。如何更加安全地對信息進行保護,如何為各種數(shù)據(jù)提供可靠的保障,這使得密碼算法的研究與應(yīng)用逐漸被人們所關(guān)注?!睹艽a學》是信息安全的重要基礎(chǔ)課程,是研究信息安全的理論基礎(chǔ)。設(shè)計基于教學的應(yīng)用密碼系統(tǒng),提高學生對加解密過程的理解,取得了較好的教學效果,為同行提供了一定可參考的價值。
關(guān)鍵詞:《密碼學》;應(yīng)用密碼系統(tǒng);教學;研究
中圖分類號:G642.0 文獻標志碼:A 文章編號:1674-9324(2018)31-0203-03
一、引言
隨著計算機通信技術(shù)的發(fā)展,用戶對信息的安全儲存、處理和傳輸?shù)囊笤絹碓礁?。尤其是隨著計算機網(wǎng)絡(luò)的大面積使用,個人通信、多媒體通信、電子郵件、網(wǎng)上轉(zhuǎn)賬系統(tǒng)和網(wǎng)上零售業(yè)務(wù)的建立與實現(xiàn),數(shù)據(jù)的保護和安全問題就顯得尤為重要了。而解決這一問題的有效手段之一便是現(xiàn)代密碼技術(shù)的應(yīng)用[1-3]。在本科教學中,現(xiàn)代密碼技術(shù)的應(yīng)用主要通過《密碼學》等相關(guān)課程講述信息安全的理論基礎(chǔ)。
《密碼學》作為信息安全專業(yè)以及信息與計算科學專業(yè)的重要專業(yè)基礎(chǔ)課程,它為信息安全提供了深刻的理論依據(jù)和豐富的應(yīng)用實踐,是數(shù)學在信息學科中應(yīng)用的典型[3-6],并已在各大高校開設(shè)了相應(yīng)的本科生課程和研究生課程。到2004年止,全國已有366所大學開辦與信息安全相關(guān)的專業(yè)。但作為比較新的專業(yè),如何建設(shè)和發(fā)展是國家教育部和各個學校一直都在探索的問題。把《密碼學》作為信息安全支撐的重點課程,由于課程開設(shè)的時間較短、積累的經(jīng)驗較少,雖然有部分教材和教學研究論文,但其中還有許多教學問題有待研究、解決并加以實踐驗證。
二、應(yīng)用密碼系統(tǒng)的設(shè)計與實現(xiàn)
本設(shè)計用于實現(xiàn)應(yīng)用密碼系統(tǒng),采用C++編程語言在Visual Studio 2010平臺上進行開發(fā)。可對文本數(shù)據(jù),進行五種方式的加密解密操作。分別為維吉尼亞密碼算法、仿射密碼算法、RC4密碼算法、DES密碼算法和AES密碼算法。
本系統(tǒng)的用戶主體為全體學習《密碼學》課程的學生,通過課程中使用應(yīng)用密碼系統(tǒng)可以增加學生對加解密過程的理解。目前本系統(tǒng)只考慮到文本數(shù)據(jù)的加密解密,后續(xù)將繼續(xù)增加圖形圖像和音頻等數(shù)據(jù)的加密解密。
1.系統(tǒng)簡介。本應(yīng)用密碼系統(tǒng)的總功能圖如圖1所示。本系統(tǒng)可對文本信息進行五種密碼算法的加密解密,分別是仿射密碼、維吉尼亞密碼、RC4密碼、DES密碼和AES密碼。
應(yīng)用密碼系統(tǒng)
本應(yīng)用密碼系統(tǒng)的主功能界面如圖2所示。用戶打開本軟件后,可根據(jù)界面上的五個按鈕選擇待使用的密碼算法,對文本數(shù)據(jù)進行加密解密操作。
2.系統(tǒng)設(shè)計。本文以仿射密碼為例,介紹系統(tǒng)子模塊的設(shè)計與現(xiàn)實過程。其他功能實現(xiàn)與此模塊相類似,因此文中不一一介紹。
(1)仿射密碼原理介紹。仿射密碼是由加法密碼和乘法密碼的結(jié)合,仿射密碼的加密和解密公式分別為:
c =(k *m +k )mod n;
m =k (c -k )mod n。
其中,密鑰為 0 —n-1之間的數(shù)字對(k ,k )。要求k 與n的最大公約數(shù)必須為1,即:gcd(k ,n)= 1。k 是k 的逆元,即:(k *k )mod n=1。
(2)功能界面。仿射密碼系統(tǒng)功能界面如圖3所示。用戶可對文本數(shù)據(jù)按仿射密碼算法進行加密解密操作。
加密流程:用戶可單擊如下區(qū)域一的按鈕載入需要加密的文本文件。原文顯示在區(qū)域二中?;蛘咧苯釉趨^(qū)域二輸入需要加密的文本信息。在區(qū)域三輸入密鑰。單擊區(qū)域四的按鈕選擇加密操作。加密結(jié)果顯示在區(qū)域五的文本框中。單擊區(qū)域六的按鈕,可保存密文為文本文件。
解密流程:用戶可單擊區(qū)域七的按鈕載入需要解密的文本文件,密文顯示在區(qū)域五中?;蛘咧苯釉趨^(qū)域五輸入需要解密的文本信息。在區(qū)域三輸入密鑰。單擊區(qū)域八的按鈕選擇解密操作。解密結(jié)果顯示在區(qū)域二的文本框中,同樣單擊區(qū)域九的按鈕可保存解密后的原文為文本文件。
區(qū)域六
具體加載文件時的加密操作如下圖所示步驟:
第一步:單擊區(qū)域一按鈕,選擇需要加密的文件。
第二步:需要加密的文本顯示在區(qū)域二的文本框中。
第三步:在區(qū)域三輸入密鑰后,單擊區(qū)域四的加密按鈕。加密結(jié)果顯示在區(qū)域五中。
第四步:單擊區(qū)域六,可保存密文文件。路徑和文件名都可自行選擇。
保存完成后,在桌面生成密文文檔,如下圖所示。
具體加載文件時的解密操作如下圖所示步驟:
第一步:單擊區(qū)域七的按鈕,選擇需要解密的文件。
第二步:在區(qū)域三輸入解密密鑰,單擊區(qū)域八的解密按鈕,解密后的明文顯示在區(qū)域二的文本框中。
第三步:單擊區(qū)域九的按鈕,保存明文。路徑和文件名可自行選擇輸入。
保存完成后,在桌面生成明文文檔2,如下圖所示:
三、小結(jié)
密碼學作為一個新興學科和一個正在發(fā)展中的學科,通過貫穿教育讓學生對密碼學有更深的理解和擴展,而更重要的目的是將部分基礎(chǔ)比較好、興趣稍微濃厚的學生引入科研的大門。本文介紹了應(yīng)用密碼系統(tǒng)的設(shè)計與實現(xiàn),從設(shè)計原理、算法描述和系統(tǒng)實現(xiàn)三個方面進行描述。通過將本應(yīng)用密碼系統(tǒng)應(yīng)用至《密碼學》課程教學中,能夠有效提高學生對密碼加解密過程的理解。