江明明+余磊+肖建于+孫梅
摘要:密碼學(xué)作為一門數(shù)學(xué)、計(jì)算機(jī)科學(xué)與通信的交叉學(xué)科,是信息安全專業(yè)的核心課程,也是數(shù)學(xué)在信息科學(xué)中的重要應(yīng)用。該文從密碼學(xué)的特點(diǎn)出發(fā),對(duì)密碼學(xué)課程目前所存在的問題進(jìn)行分析,并從教材選擇、理論教學(xué)和實(shí)驗(yàn)教學(xué)的角度給出自己的幾點(diǎn)建議。
關(guān)鍵詞:密碼學(xué);信息安全;理論教學(xué);實(shí)驗(yàn)教學(xué);教學(xué)方法
中圖分類號(hào):G642.3 文獻(xiàn)標(biāo)識(shí)碼:A 文章編號(hào):1009-3044(2017)26-0138-02
隨著計(jì)算機(jī)網(wǎng)絡(luò)的廣泛應(yīng)用和深入發(fā)展,電子商務(wù)和電子政務(wù)以及網(wǎng)絡(luò)銀行和各種移動(dòng)支付已經(jīng)成為人們生活的一部分。在方便人們生活的同時(shí),也帶來越來越多的信息安全問題。因此,信息安全受到社會(huì)各界的高度重視,已成為信息社會(huì)急需解決的問題。密碼技術(shù)作為信息安全的核心技術(shù),獲得越來越多的關(guān)注。密碼學(xué)已成為各類高校信息安全專業(yè)的核心課程。目前,我國(guó)有80多所高校開設(shè)信息安全專業(yè),100多所高校開設(shè)密碼學(xué)課程[1]。由于密碼學(xué)是一門集數(shù)學(xué),計(jì)算機(jī)科學(xué)與通信科學(xué)等于一身的交叉學(xué)科,不同專業(yè)、不同學(xué)科,在教材的選擇、教學(xué)內(nèi)容以及教學(xué)方法等諸多方面的認(rèn)識(shí)很難統(tǒng)一,給密碼學(xué)課程的教學(xué)造成諸多困難,同時(shí)也是密碼學(xué)課程教學(xué)中值得關(guān)注和探討的問題。
1 密碼學(xué)課程的特點(diǎn)
1) 密碼學(xué)所涉及的知識(shí)面廣,數(shù)學(xué)基礎(chǔ)要求高。密碼學(xué)課程前期需要學(xué)習(xí)信息論、計(jì)算復(fù)雜度和一些數(shù)學(xué)知識(shí)[2]。其中數(shù)學(xué)除高等數(shù)學(xué)和線性代數(shù)以外,還包括數(shù)論、抽象代數(shù)、代數(shù)編碼、概率論、有限域等相關(guān)內(nèi)容,這些數(shù)學(xué)知識(shí)的難度也相對(duì)較大。
2) 理論教學(xué)和實(shí)驗(yàn)教學(xué)的側(cè)重點(diǎn)難以把握。由于密碼學(xué)是一門交叉學(xué)科,對(duì)于不同專業(yè)的學(xué)生,學(xué)習(xí)的側(cè)重點(diǎn)也是不一樣的。例如數(shù)學(xué)科學(xué)學(xué)院應(yīng)用數(shù)學(xué)專業(yè)的學(xué)生,大多數(shù)側(cè)重理論教學(xué),主要講授密碼算法的理論計(jì)算,對(duì)數(shù)學(xué)基礎(chǔ)要求比較高。而對(duì)于計(jì)算機(jī)學(xué)院信息安全專業(yè)的學(xué)生,又是以實(shí)驗(yàn)教學(xué)為主,對(duì)編程語(yǔ)言和計(jì)算復(fù)雜度要求較高。
3) 密碼學(xué)課程本身所涉及的內(nèi)容較多,學(xué)習(xí)難度大。密碼學(xué)的主要內(nèi)容包括古典密碼、對(duì)稱密碼、公鑰密碼、哈希函數(shù)、數(shù)字簽名、密鑰管理、密碼協(xié)議等。古典密碼與對(duì)稱密碼要求學(xué)生對(duì)置換、代換、有限域方面要深入理解與掌握;公鑰密碼、數(shù)字簽名對(duì)數(shù)論、概率論方面要求又比較高。對(duì)于其他的內(nèi)容,主要是一些密碼應(yīng)用等,則要求靈活使用公鑰密碼、數(shù)字簽名、哈希函數(shù)等。
4) 密碼學(xué)知識(shí)更新速度快。自從1978年麻省理工學(xué)院的Rivest、Shamir和Adleman三人提出RSA公鑰密碼算法以來,密碼學(xué)家又提出Rabin、Elgamal、ECC、NTRU等經(jīng)典的公鑰密碼體制。近年來,由于其他學(xué)科的進(jìn)步與發(fā)展,又出現(xiàn)一些新的密碼技術(shù),如量子密碼、混沌密碼、DNA密碼等。
2 密碼學(xué)課程所存在的問題以及解決方法
2.1 教材選擇
密碼學(xué)教材種類繁多,而作者編寫教材的側(cè)重點(diǎn)也不相同,有的側(cè)重于密碼算法的介紹,有的側(cè)重于密碼技術(shù)的應(yīng)用。不同學(xué)科專業(yè)學(xué)生的基礎(chǔ)不同,在選擇教材方面也有所差異,并且前置基礎(chǔ)課程與培養(yǎng)目標(biāo)也存在差異,所以選擇教材的時(shí)候要充分考慮前置課程的安排和培養(yǎng)目標(biāo)的設(shè)置。對(duì)于理科專業(yè),如數(shù)學(xué)專業(yè),應(yīng)該選用理論性較強(qiáng)的教材,而對(duì)于工科專業(yè),如通信專業(yè),信息安全專業(yè),應(yīng)該選擇實(shí)踐性較強(qiáng)的教材。
2.2 理論教學(xué)
目前大多數(shù)高校的密碼學(xué)教學(xué)是以理論講授為主,配合多媒體演示。理論教學(xué)是密碼教學(xué)的主要手段。而密碼學(xué)是一門交叉性很強(qiáng)的學(xué)科,課程所涉及的內(nèi)容很多,各個(gè)知識(shí)點(diǎn)之間既相互獨(dú)立又聯(lián)系緊密。面對(duì)信息安全專業(yè)密碼學(xué)課程這些特點(diǎn),如何轉(zhuǎn)變教學(xué)理念、創(chuàng)新教學(xué)思路、找準(zhǔn)教學(xué)放方法,是密碼學(xué)課程理論教學(xué)關(guān)鍵。
2.2.1 教學(xué)理念
密碼學(xué)課程內(nèi)容多,算法的邏輯推理性強(qiáng),學(xué)生難以掌握所有的算法。密碼學(xué)課程的教學(xué)理念不應(yīng)該是讓學(xué)生記住密碼算法,而是培養(yǎng)學(xué)生正確的密碼學(xué)思維方式,使學(xué)生理解密碼學(xué)的設(shè)計(jì)思想。如:分組密碼算法的設(shè)計(jì)思路是使用置換密碼與代換密碼的組合,利用迭代的方式產(chǎn)生,在設(shè)計(jì)的過程中要滿足混淆與擴(kuò)散原則;公鑰密碼體制的設(shè)計(jì)則是按照形式化的定義、精確的安全假設(shè)與嚴(yán)格的安全性證明三個(gè)原則來設(shè)計(jì)。為實(shí)現(xiàn)這個(gè)教學(xué)目標(biāo),需要在各章節(jié)詳細(xì)介紹少量經(jīng)典的密碼算法,使學(xué)生了解每一步算法的來龍去脈與密碼學(xué)家設(shè)計(jì)密碼算法的思路,這就要求老師對(duì)密碼學(xué)所涉及的內(nèi)容融會(huì)貫通,并且深刻理解密碼學(xué)的設(shè)計(jì)思路與精髓。
2.2.2 教學(xué)思路
對(duì)于主流的密碼學(xué)教材,主要內(nèi)容一般包括古典密碼、對(duì)稱密碼、公鑰密碼、哈希函數(shù)、數(shù)字簽名、密鑰管理、密碼協(xié)議等[3]。這些內(nèi)容表面上看起來是松散的,實(shí)際上是緊密相連的要使學(xué)生能夠清晰地理解并掌握這些內(nèi)容,首先要有明確的教學(xué)思路。密碼技術(shù)是信息安全的核心技術(shù),能夠?qū)崿F(xiàn)消息的保密性、完整性、認(rèn)證性、不可否認(rèn)性等安全屬性,這些安全屬性是整個(gè)密碼學(xué)知識(shí)體系發(fā)展的出發(fā)點(diǎn)和歸宿??梢园凑者@個(gè)思路建立密碼學(xué)知識(shí)結(jié)構(gòu)的基本框架模型,然后進(jìn)行講授。
2.2.3 教學(xué)方法
傳統(tǒng)的教學(xué)方式是老師在講臺(tái)上講,學(xué)生在下面聽、記筆記。這種方式只能讓學(xué)生記住所講授的密碼算法,而無(wú)法使學(xué)生理解密碼學(xué)的思想。對(duì)于不同的教學(xué)內(nèi)容應(yīng)該采用不同的教學(xué)方法,如互動(dòng)啟發(fā)式、小組討論式等方法,這些方法可以讓學(xué)生主動(dòng)參與到教學(xué)活動(dòng)中[4]。還要留給學(xué)生充分的思考空間和時(shí)間,讓學(xué)生在思考的過程中形成主動(dòng)探索、分析問題和尋求解決問題方法的習(xí)慣。
1) 互動(dòng)啟發(fā)式教學(xué)?;?dòng)教學(xué)方法是大多數(shù)課程所討論并采用的教學(xué)方法,可以讓學(xué)生參與到問題的解決過程中??鬃釉唬翰粦嵅粏ⅲ汇话l(fā),強(qiáng)調(diào)的就是學(xué)習(xí)的啟發(fā)式教學(xué)。啟發(fā)式教學(xué)的關(guān)鍵是調(diào)動(dòng)學(xué)生的學(xué)習(xí)積極性,激發(fā)學(xué)生的學(xué)習(xí)興趣。很好地運(yùn)用互動(dòng)啟發(fā)式教學(xué)方法,可以培養(yǎng)學(xué)生分析問題、解決問題的能力,通過經(jīng)歷問題的解決過程,激發(fā)學(xué)生的自主學(xué)習(xí)熱情,提高學(xué)習(xí)興趣。例如,在講授序列密碼時(shí),講到序列密碼的安全性是由種子密鑰所產(chǎn)生密鑰序列的性質(zhì)決定的,可以通過互動(dòng)啟發(fā)式方法,讓學(xué)生思考:密鑰序列具有何種性質(zhì)才能保證安全性?是否滿足隨機(jī)性和不可預(yù)測(cè)性就安全了?密鑰序列和種子密鑰之間有什么關(guān)系?通過解決問題,使學(xué)生理解序列密碼的設(shè)計(jì)思想。endprint
2) 小組討論式教學(xué)。小組討論式教學(xué)方法可以開拓學(xué)生的思維,提高學(xué)生的創(chuàng)新能力,使學(xué)生嘗試從不同的角度與觀點(diǎn)來解決問題,而且還可以培養(yǎng)團(tuán)隊(duì)合作能力。密碼學(xué)對(duì)學(xué)生而言是陌生的,而密碼思想更是學(xué)生所欠缺的。通過小組討論,能夠使學(xué)生從自身角度思考密碼算法滿足安全性的條件,以及明文、密文與密鑰之間的關(guān)系,密文統(tǒng)計(jì)特性應(yīng)滿足的概率分布等問題。通過小組討論并不一定能達(dá)到完全解決問題的目的,但是這種方法極大的開拓學(xué)生的思維,提高學(xué)生的創(chuàng)新能力,并且可以使學(xué)生深刻理解密碼學(xué)的設(shè)計(jì)思想。
2.3 實(shí)驗(yàn)教學(xué)
密碼技術(shù)是解決信息安全問題的核心技術(shù),密碼學(xué)的特點(diǎn)決定它是一門實(shí)踐性很強(qiáng)的課程。實(shí)驗(yàn)教學(xué)環(huán)節(jié)能夠使學(xué)生在理解算法原理的基礎(chǔ)上進(jìn)行程序設(shè)計(jì),并根據(jù)需要進(jìn)一步進(jìn)行綜合設(shè)計(jì),提高學(xué)生的綜合應(yīng)用能力。目前,在密碼學(xué)課程的實(shí)驗(yàn)教學(xué)方面,還存在密碼實(shí)驗(yàn)工具選擇不合理與密碼實(shí)驗(yàn)項(xiàng)目類型不明確的問題。
1) 密碼實(shí)驗(yàn)工具的選擇。密碼實(shí)驗(yàn)工具一般包括密碼分析軟件、密碼實(shí)驗(yàn)教學(xué)軟件、密碼設(shè)計(jì)軟件、密碼算法的代碼庫(kù)等。在密碼實(shí)驗(yàn)教學(xué)之前要確定密碼實(shí)驗(yàn)的工具。當(dāng)前,密碼學(xué)的實(shí)驗(yàn)教學(xué)中大都要求學(xué)生運(yùn)用計(jì)算機(jī)語(yǔ)言實(shí)現(xiàn)一些經(jīng)典的密碼算法,而密碼學(xué)實(shí)驗(yàn)教學(xué)的目的是加強(qiáng)學(xué)生對(duì)密碼算法的理解,以及掌握密碼算法在信息安全中的應(yīng)用,不是簡(jiǎn)單地鍛煉學(xué)生的編程能力,這種做法很難提高學(xué)生的綜合素質(zhì)。密碼學(xué)課程的實(shí)驗(yàn)教學(xué)應(yīng)根據(jù)實(shí)驗(yàn)要求選擇密碼實(shí)驗(yàn)工具,才能體現(xiàn)密碼學(xué)實(shí)驗(yàn)教學(xué)的目標(biāo)。比如對(duì)于古典密碼算法,這些密碼算法已經(jīng)被破譯,對(duì)于學(xué)生來說只起到一個(gè)借鑒的作用,因此可以選擇具有驗(yàn)證和分析作用的密碼工具。CAP4軟件就是一款合適的密碼分析軟件。對(duì)于DES,AES等對(duì)稱密碼算法,其加密流程比較復(fù)雜,學(xué)生難以理解。這時(shí)可以選擇具有可視化功能的密碼工具,CrypTool的可視化演示功能能夠使學(xué)生更好的理解加解密運(yùn)算的每一個(gè)流程。對(duì)于算法設(shè)計(jì),不能只把實(shí)驗(yàn)項(xiàng)目給學(xué)生之后,讓學(xué)生去編寫代碼。應(yīng)該引導(dǎo)學(xué)生使用密碼算法庫(kù),例如OpenSSL、Miracl、Boten,NTL等[5]。
2) 密碼實(shí)驗(yàn)項(xiàng)目與類型的確定。實(shí)驗(yàn)項(xiàng)目類型一般分為演示或驗(yàn)證型、設(shè)計(jì)或綜合型、研究或創(chuàng)新型三個(gè)層次。合理安排實(shí)驗(yàn)項(xiàng)目類型可以加深對(duì)密碼算法的理解以及提高創(chuàng)新能力。目前,多數(shù)高校的密碼學(xué)實(shí)驗(yàn)項(xiàng)目類型都是簡(jiǎn)單的驗(yàn)證,老師在教師機(jī)演示,學(xué)生在學(xué)生機(jī)重新驗(yàn)證一遍?;蛘唔?xiàng)目類型都是設(shè)計(jì)型,老師把實(shí)驗(yàn)項(xiàng)目發(fā)給學(xué)生,讓學(xué)生自己編程。這兩種簡(jiǎn)單的方式都不能很好地提高學(xué)生的綜合能力。因此,密碼學(xué)的實(shí)驗(yàn)類型要由實(shí)驗(yàn)項(xiàng)目來確定。安排密碼實(shí)驗(yàn)項(xiàng)目時(shí),應(yīng)該由淺入深,首先安排簡(jiǎn)單的驗(yàn)證項(xiàng)目,比如古典密碼算法,其次安排綜合型項(xiàng)目,如RSA的實(shí)現(xiàn)等,最后安排研究型項(xiàng)目。研究型項(xiàng)目由老師確定一個(gè)具有新穎性和創(chuàng)新性的實(shí)驗(yàn)項(xiàng)目范圍,由學(xué)生根據(jù)興趣自主選題。研究型項(xiàng)目選題可以依托學(xué)科競(jìng)賽來確定,比如全國(guó)大學(xué)生信息安全競(jìng)賽等。
3 結(jié)束語(yǔ)
密碼技術(shù)是信息安全的核心技術(shù),密碼學(xué)也是信息安全專業(yè)的核心課程,研究密碼學(xué)課程的理論與實(shí)驗(yàn)教學(xué)有著重要的意義。在信息安全專業(yè)密碼學(xué)理論與實(shí)驗(yàn)課程,以及密碼學(xué)前置課程的多年教學(xué)實(shí)踐的基礎(chǔ)上,結(jié)合信息安全競(jìng)賽的一些經(jīng)驗(yàn),針對(duì)信息安全專業(yè)密碼學(xué)教學(xué)在教材選擇、教學(xué)理論和實(shí)驗(yàn)教學(xué)方面存在的問題,從教學(xué)理念、教學(xué)思路和教學(xué)方法三個(gè)方面給出教學(xué)改進(jìn)方案,教學(xué)實(shí)踐表明這些改進(jìn)方案能夠取得更好教學(xué)效果。
參考文獻(xiàn):
[1] 王后珍,張煥國(guó). 密碼學(xué)課程建設(shè)及教學(xué)方法探討[J]. 高教學(xué)刊,2016(7):79-79.
[2] 丁勇. 信息與計(jì)算科學(xué)專業(yè)密碼學(xué)教學(xué)研究[J].桂林電子科技大學(xué)學(xué)報(bào),2008,28(2):131-133.
[3] 李夢(mèng)東. 《密碼學(xué)》課程設(shè)置與教學(xué)方法探究[J].北京電子科技學(xué)院學(xué)報(bào),2007,15(3):61-66.
[4] 賈偉峰,楊禮波. 密碼學(xué)的課程特點(diǎn)及教學(xué)方法探討[J]. 華北水利水電學(xué)報(bào):社科版,2010,26(3):169-170.
[5] 申麗君,王金雙,陳融,等.CrypTool在密碼學(xué)教學(xué)中的應(yīng)用[J]. 計(jì)算機(jī)工程與科學(xué),2014,36(A1):208-211.endprint