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