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