張 權,謝曉霞
(國防科技大學電子科學與工程學院,湖南長沙 410073)
“密碼學”教學方法探索與實踐
張 權,謝曉霞
(國防科技大學電子科學與工程學院,湖南長沙 410073)
本文研究了電子和通信專業高年級本科生“密碼學”選修課的教學方法。針對教學中存在的數學基礎欠缺、教學內容抽象、課時少、內容多等難點問題。筆者研究了教學內容的組織、教學素材的編制、教學實踐的安排、學習興趣的激勵以及考核方式的設計等方面的相關方法。
密碼學;教學內容;教學方法
隨著信息安全在信息技術領域的重要性日益突出,國內許多高校的相關專業都開設了信息安全系列專業課程?!懊艽a學”作為信息安全理論與技術的基礎,其教學效果直接關系到一系列信息安全類課程的教學質量。許多院校的電子和通信專業也開設了“密碼學”選修課程。
密碼學是數學在通信和信息技術領域的一項特殊應用,因此“密碼學”課程涉及數論、群論和計算復雜度理論等相關數學基礎知識。例如密碼學中的公鑰加密算法RSA必須采用數論的方法證明?;陔x散對數的密碼算法也必須借助于群論才能證明其安全性。對稱密鑰加密算法抵御各種攻擊的能力,需要借助計算復雜度理論來進行闡述[1]。而電子和通信專業的本科生通常不具備這些數學基礎。故必須精心設計教學方法,把相關的數學基礎知識穿插在“密碼學”的教學中。
“密碼學”課程內容本身比較抽象,有些概念不易理解。例如對于密碼算法到底是否應該開放這一點,學生普遍認為受限的密碼算法比開放的密碼算法更難以被破解,因而密碼算法的安全性應完全寓于密鑰。針對這種情況,必須引導學生從多個角度考慮理解問題。如能從密碼系統用戶的角度去考慮算法開放性的優缺點,就比較容易得出全面準確的結論。
密碼學本身的內容非常豐富,光密碼算法方面,就有古典密碼算法、對稱密碼算法和公鑰密碼算法等幾類,每一類又各有多種具體的密碼算法。此外還有保證數據完整性、認證性的多種算法和協議。通?!泵艽a學”課程的學時數在50-70之間。但是,作為電子和通信類本科生的選修課程,只能安排30學時左右。為此,就必須在教學內容組織、教學素材制作及教學方法設計上有所創新。
筆者設定的32學時“密碼學”選修課采用如下教學內容組織。
(1)古典密碼算法雖然已經喪失安全性方面的作用,但該算法的歷史故事對于學生提高學習密碼學的興趣大有幫助。因此在課程伊始花費了2學時左右講授這部分內容。
(2)我們用3-4學時介紹現代對稱密鑰密碼DES算法。理由是:①數據加密標準DES算法在密碼學中被認為是應用最廣泛的密碼算法;②DES算法是Feistel型密碼算法的典型代表,籍此可讓學生理解對稱密鑰密碼算法實現混淆和彌散的基本方法;③雖然單重DES目前已經很容易被破解,但其衍生算法如3DES等目前仍然被認為是比較安全的,而且許多新的算法的安全性也往往以3DES為參照。
(3)Rijndael算法作為新的AES標準,同時作為SPN型密碼算法的代表,用2學時介紹可確保學生掌握Rijndael的操作過程。由于Rijndael算法中用到了有限域上的運算,在學生未掌握相關數學知識的情況下,可以通過將相應的域運算轉化成查表操作的方式進行介紹。
(4)對于公鑰密碼算法,目前主流的基于大數因子分解問題、有限域上的離散對數問題和橢圓曲線上的離散對數問題等。通常以介紹RSA算法為主,花費3-4學時。教學過程中應該從實現RSA算法的角度出發,把每一步涉及到的數學問題逐一地進行介紹,這樣可以使學生快速掌握RSA算法的實現過程,同時又不至于陷入純數學的分析和討論中去。
(5)在學生理解了公鑰密碼算法的本質屬性是單向陷門函數之后,可以從單向陷門函數的角度出發,即單向性和陷門如何實現,分別用1-2課時介紹基于離散對數和基于橢圓曲線的公鑰密碼算法。
(6)在系統介紹密碼算法的基礎上,再講授數據完整性的算法,如MD、SHA和CBC-MAC等不超過4學時。主要教學內容可以通過課后作業或者實驗任務的形式讓學生自己學習。
(7)密碼協議是“密碼學”教學中的可選內容,但是對于保證信息安全中三大安全需求,即保密性、數據完整性和認證性的概念完整,認證協議的介紹往往不可或缺。認證協議的教學可以采用兩種方法組織內容:第一是從協議的基本概念入手,然后引入認證協議,再沿著認證協議的發展歷程,選取若干具有代表性的認證協議進行講妥;第二種方法是直接選取幾種目前應用較為廣泛的認證協議,例如對Kerberos進行解剖式的講解。相比之下前一種方式更容易被學生接受,但是需要至少4學時以上;第二種方式一般只要2學時,在實例選取適當的情況下,也能夠獲得較好的教學效果。
(8)在組織教學內容時,可以適當穿插介紹部分數學知識以及與算法相關的特性,例如數論相關知識、Feistel型密碼算法的特性、分組密碼加密模式及其特性等。
(9)為了提高學生學習密碼學的積極性,可以讓學生自己體會密碼學知識在抵御黑客攻擊、保護信息安全中的作用;通過大量的黑客攻擊實例或者泄密案列,讓學生體會到密碼學的重要性。
優秀的教學素材在教學中可以達到事半功倍的效果,教學素材編制是密碼學教學備課的重要任務。
(1)對于一些較抽象的內容,盡可能利用圖形化的方式展現其特點。例如在分組密碼加密模式中,CBC模式與ECB模式的比較在教學中往往不容易為學生理解。筆者在教學實踐中利用兩種模式分別對一幅RGB圖片進行加密,ECB模式加密的圖片明顯保留了原始圖片的結構信息,對比結果使學生清楚地認識到CBC模式的優點。我們還鼓勵學生在課后采用圖像紋理分析的方法(例如共現矩陣法)研究兩種加密模式的差別。
(2)對于那些運算步驟較多的密碼學算法,盡量采用動畫演示材料進行教學。像 DES算法、AES算法以及MD5算法等在因特網上都有的免費的動畫作品,只要稍加改進就可以滿足課堂教學的需要。例如包含在Cryptool教學演示軟件中的 Rijndael算法演示動畫以及ECC演示程序都是非常好的教學素材。筆者還曾用Flash編制了多種密碼算法的操作過程演示動畫,在教學中取得了很好的效果。
(3)對于偏重數學理論的密碼算法,則應當盡可能地采用運算實例進行講解。例如在RSA教學中,為了讓學生完整地掌握RSA加解密過程,可以選取一些較小的數值,按照RSA的運算過程進行計算。
“密碼學”課程不僅具有突出的理論性,也強調實踐性。實踐內容設計和考核可以從兩方面著手。
(1)讓學生用軟硬件實現重要的密碼算法。在筆者教學過程中,曾經嘗試過兩種方式增強學生對DES算法的理解。第一是給定明文和密鑰,讓學生計算若干輪DES運算的結果;第二是讓學生自己編制DES加密軟件。第二種方法的效果明顯優于第一種。學生通過編程調試等工作,牢固掌握了DES算法的每一步操作;而且完成了自己的加密軟件作品后,萌發了濃厚的興趣,開始主動編制其它密碼算法的軟件。
(2)讓學生動手編制教學內容相關的動畫作品。在筆者的教學實踐中,曾經給學生演示了多種密碼算法相關的動畫作品,有學生主動對某些動畫進行改進。后來改進或編制新的教學動畫演示作品便成了一項有效的實踐活動,部分優秀的作品被筆者使用作為教學素材。
考核遵循的原則是:注重學生密碼學理論和工程能力的鑒定,同時兼顧學習興趣的培養。例如,筆者在2008年的考核中,以當時熱播的電影《達芬奇密碼》中的情節設計了一道密碼算法安全性分析的考題,結果在考試后很長時間里,仍然有學生與筆者討論該題目的解決方法。在今年的考核中,以世界杯為背景設計了一道密碼協議考題,也引起了學生強烈的興趣,設計出來的協議非常具有創意。
[1] 王育民,通信網的安全理論與技術[M].西安:西安電子科技大學出版社,1999
[2] 蔡樂才主編,應用密碼學[M].北京:中國電力出版社,2005
An Exploration and Implementation of the Teaching Method of Cryp tography
ZHANG Quan,XIE X iao-xia
(Co llegeo f Electronic Science and Engineering,NationalUniversity o f Defense Technology,Changsha 410073,China)
The teaching method of cryptography is given to senior undergraduate students whose major is electronics and communications.Aiming at the deficiency ofm athematics and finity o f teaching hour,this paper discusses some solutions to the above problems in organization of course content,com pilation of teachingm aterial,arrangement of teaching p ractice,p romotion o f the undergraduate's interest and design of the evaluating mode.
cryptography;course content;teachingmethod
G642
A
1008-0686(2011)02-0108-03
2010-09-21;
2011-01-03
張 權(1974-),男,博士,副教授,主要從事通信保密與信息安全的教學與科研工作,E-mail:quanzhang@nudt.edu.cn
謝曉霞(1974-),女,碩士,副教授,主要從事信號處理的教學與科研工作,E-m ail:xiexiaoxia75793@163.com