郭宇燕 孫梅 余磊 沈龍鳳 孟祥虎
摘要:密碼學(xué)課程是信息安全專業(yè)的核心課程。根據(jù)該課程的特點(diǎn),對(duì)課程存在的問題進(jìn)行深入研究,在“新工科”建設(shè)要求下結(jié)合密碼學(xué)課程的教學(xué)實(shí)踐情況,從教學(xué)內(nèi)容設(shè)置、理論教學(xué)、實(shí)驗(yàn)教學(xué)和課程考核等方面進(jìn)行探討。
關(guān)鍵詞:新工科;信息安全;密碼學(xué);理論教學(xué);實(shí)驗(yàn)教學(xué)
中圖分類號(hào):G642.3 文獻(xiàn)標(biāo)識(shí)碼:A 文章編號(hào):1009-3044(2018)14-0117-03
Abstract: According to the characteristics of the course, the problems existing in the course are studied in depth, combined with the teaching practice of cryptology courses under the requirements of the “new engineering course” construction, the teaching content setting, theoretical teaching, experimental teaching and course assessment are discussed.
Key words: new engineering course; information security; cryptography; theoretical teaching; experimental teaching
移動(dòng)互聯(lián)網(wǎng)、物聯(lián)網(wǎng)、云計(jì)算、人工智能、大數(shù)據(jù)等新一代技術(shù)的進(jìn)步推動(dòng)了信息社會(huì)的不斷發(fā)展,同時(shí)帶來了許多信息安全問題。大到國(guó)家與社會(huì),小到機(jī)構(gòu)與個(gè)人在面臨信息安全威脅的同時(shí),更需要復(fù)合型、多元化的人才來應(yīng)對(duì)這一局面,這給高校人才培養(yǎng)帶來巨大的挑戰(zhàn)。2017年2月,教育部在復(fù)旦大學(xué)召開高等工程教育發(fā)展戰(zhàn)略研討會(huì),發(fā)布了《新工科建設(shè)復(fù)旦公示》,“新工科”建設(shè)從此拉開帷幕,隨著“新工科”的迅速發(fā)展,國(guó)內(nèi)各大院校均面臨著專業(yè)改革和創(chuàng)新問題。“新工科”強(qiáng)調(diào)學(xué)科的實(shí)用性、交叉性與綜合性,尤其注重信息通訊、電子控制、軟件設(shè)計(jì)等新技術(shù)與傳統(tǒng)工業(yè)技術(shù)的緊密結(jié)合。如何培養(yǎng)多層次、多規(guī)格、且具備多學(xué)科知識(shí)和復(fù)合型技術(shù)的信息安全人才是改革的重點(diǎn)。密碼學(xué)課程是信息安全專業(yè)的重要專業(yè)基礎(chǔ)課,是一門融合計(jì)算機(jī)、數(shù)學(xué)以及通信等學(xué)科的交叉課程,如何在“新工科”背景下進(jìn)行合理化教學(xué)更需要深入探討。
1 密碼學(xué)課程特點(diǎn)
密碼學(xué)是信息安全領(lǐng)域的核心技術(shù)之一。目前國(guó)內(nèi)外許多高校的信息安全及相關(guān)專業(yè)均開設(shè)了密碼學(xué)課程。該課程是信息安全及相關(guān)專業(yè)的一門重要的專業(yè)基礎(chǔ)課,在信息安全知識(shí)體系中占據(jù)重要的地位,其主要特點(diǎn)如下:
(1)覆蓋內(nèi)容較多,涉及豐富的數(shù)學(xué)知識(shí)[1]。
作為一門綜合性課程,和計(jì)算機(jī)、通信工程以及數(shù)學(xué)等多個(gè)領(lǐng)域的知識(shí)有關(guān)聯(lián)。密碼學(xué)的研究?jī)?nèi)容決定了該課程的交叉性和廣泛性,該課程主要包含古典密碼學(xué)、對(duì)稱密碼學(xué)、公鑰密碼學(xué)、hash函數(shù)、數(shù)字簽名、密鑰管理、公鑰基礎(chǔ)設(shè)施、身份認(rèn)證、網(wǎng)絡(luò)安全協(xié)議等。同時(shí)該課程涉及豐富的數(shù)學(xué)知識(shí),如數(shù)論、圖論、信息論、橢圓曲線、概率論、數(shù)理邏輯等。因此,跨度大,知識(shí)多是這門課程最主要的特點(diǎn)。
(2)實(shí)踐性較強(qiáng)。
密碼學(xué)研究的目的是為了解決日常生活中存在的安全問題,保證信息的機(jī)密性、完整性、認(rèn)證性以及不可偽造性。信息的處理離不開計(jì)算機(jī),為了保證信息的安全,需要用計(jì)算機(jī)實(shí)現(xiàn)密碼學(xué)中的各種算法,這就與計(jì)算機(jī)技術(shù)緊密聯(lián)系在一起。因此,密碼學(xué)是一門實(shí)踐性較強(qiáng)的課程[2],在掌握理論知識(shí)的基礎(chǔ)上必須深入實(shí)踐才能把該課程學(xué)好。
(3)技術(shù)、知識(shí)更新速度快。
縱觀密碼學(xué)發(fā)展史,不難發(fā)現(xiàn),在每個(gè)時(shí)期,密碼學(xué)都能融合該時(shí)期的先進(jìn)科技。從古典密碼到對(duì)稱密碼、公鑰密碼,密碼學(xué)技術(shù)不斷更新。尤其在近幾十年內(nèi),密碼技術(shù)發(fā)展更加迅猛,新的密碼技術(shù)如量子密碼、混沌密碼等也如雨后春筍般涌現(xiàn)。因此,該課程內(nèi)容需和密碼技術(shù)的發(fā)展同步,并及時(shí)更新最新算法和相關(guān)知識(shí)。
2 密碼學(xué)課程建設(shè)存在的問題
與許多課程一樣,密碼學(xué)課程的建設(shè)存在許多不足,教學(xué)方法和手段也不完善,主要存在以下幾個(gè)方面的問題:
(1)理論過多,實(shí)踐較少,教學(xué)方式單一。
密碼學(xué)是一門實(shí)踐性較強(qiáng)的課程,且涉及內(nèi)容較多,但目前很多高校以理論教學(xué)為重,不重視甚至忽略實(shí)踐教學(xué)。對(duì)于密碼算法只從理論層面介紹,并沒有通過實(shí)踐讓學(xué)生深刻理解算法的實(shí)際功能和具體應(yīng)用,也不能很好地培養(yǎng)學(xué)生解決實(shí)際問題的能力。在教學(xué)方式上,往往采取灌輸式教學(xué)方法,一味灌輸大量的概念和算法,讓學(xué)生感覺到枯燥,學(xué)習(xí)興趣不高。
(2)理論結(jié)合實(shí)踐的教材較少,教材內(nèi)容偏老舊。
雖然市面上已出版許多密碼學(xué)教材,但是有許多教材偏重介紹密碼算法,也有許多教材偏重密碼技術(shù)的應(yīng)用。但理論結(jié)合實(shí)踐的教材較少,很難找到一本內(nèi)容較全面的教材。密碼學(xué)的許多理論和技術(shù)涵蓋范圍廣,并且隨著物聯(lián)網(wǎng)、云計(jì)算以及大數(shù)據(jù)等技術(shù)的不斷發(fā)展,新的安全問題也隨之而來。為解決這些安全問題,相關(guān)的密碼學(xué)理論和技術(shù)應(yīng)運(yùn)而生。但目前我國(guó)在密碼學(xué)教學(xué)方面投入的師資力量有限,教師沒有精力對(duì)教材進(jìn)行及時(shí)更新,教材內(nèi)容偏老舊。因此,選擇或者編纂一本既有深度又有廣度且理論聯(lián)系實(shí)際的教材是一項(xiàng)非常重要工作。
(3)學(xué)生參與度低。
由于密碼學(xué)課程的教學(xué)方式單一,主要以傳統(tǒng)教學(xué)方法為主。該課程涉及許多數(shù)學(xué)知識(shí)和晦澀的證明方法,一方面學(xué)生對(duì)先修課程掌握不牢,一知半解;另一方面教師灌輸式教授理論知識(shí),學(xué)生普遍有畏難情緒,課堂氛圍不活躍,學(xué)生參與度低,教學(xué)效果差。
(4)采用常規(guī)考核方式。
課程考核是檢驗(yàn)學(xué)生學(xué)習(xí)效果的主要手段,有效的考核機(jī)制能大大提高教學(xué)質(zhì)量。但常規(guī)的考核方式主要以閉卷考試為主,僅僅考查學(xué)生理論知識(shí)的掌握情況,缺乏對(duì)學(xué)生動(dòng)手能力的考查。這與“新工科”強(qiáng)調(diào)學(xué)科的實(shí)用性相悖。另外,密碼學(xué)課程涉及理論知識(shí)多、實(shí)踐應(yīng)用強(qiáng),因而采用布置課后作業(yè)和 “一考定成績(jī)” [3]的方式不適于考核學(xué)生對(duì)這門課程真正的掌握程度,更不能很好地調(diào)動(dòng)學(xué)生學(xué)習(xí)的主動(dòng)性。
3 密碼學(xué)教學(xué)內(nèi)容設(shè)置
為了適應(yīng)信息安全專業(yè)培養(yǎng)目標(biāo)的要求,結(jié)合“新工科”培養(yǎng)多元化和創(chuàng)新型人才的理念,密碼學(xué)課程改革遵循的宗旨為:以數(shù)學(xué)為基礎(chǔ),以計(jì)算機(jī)為工具,使學(xué)生理解和掌握密碼體制設(shè)計(jì)與分析的基本思想與方法,理解密碼產(chǎn)品的基本工作原理,培養(yǎng)學(xué)生在實(shí)踐中解決問題的能力。課程教材可選擇谷利澤等人編著的《現(xiàn)代密碼學(xué)教程(第2版)》(北京郵電大學(xué)出版社,2015), 該教材介紹較為全面,基本涵蓋了密碼學(xué)的基本原理和算法,但密碼算法相關(guān)應(yīng)用介紹較少。在使用該教材進(jìn)行理論教學(xué)的同時(shí),可選擇Bruce Schneier著的《應(yīng)用密碼學(xué):協(xié)議、算法與C源程序(原書第2版)》(吳世忠等譯,機(jī)械工業(yè)出版社,2014)作為參考教材,該書提供了大量密碼學(xué)應(yīng)用方面的實(shí)踐內(nèi)容以及源代碼,可以根據(jù)學(xué)生的知識(shí)結(jié)構(gòu)進(jìn)行適當(dāng)?shù)膶?shí)驗(yàn)教學(xué)。該課程的主要內(nèi)容、要求及講授學(xué)時(shí)具體設(shè)置如下表1所示:
4 密碼學(xué)教學(xué)方法探究
4.1 理論教學(xué)
密碼學(xué)課程涉及的數(shù)學(xué)知識(shí)多,如許多密碼算法用到大量代數(shù)數(shù)論的知識(shí),內(nèi)容相對(duì)枯燥并難以理解,為了提高學(xué)生的學(xué)習(xí)積極性和主動(dòng)性,以及培養(yǎng)學(xué)生良好的邏輯思維和推理能力,在理論教學(xué)時(shí)采用多種教學(xué)方法至關(guān)重要。
(1)夯實(shí)學(xué)生數(shù)學(xué)基礎(chǔ)。
密碼學(xué)算法依賴很多數(shù)學(xué)知識(shí),教學(xué)中應(yīng)重視相關(guān)數(shù)學(xué)知識(shí)的講授,在學(xué)習(xí)課程主要內(nèi)容前先講授密碼學(xué)需要的基本知識(shí)點(diǎn)。此外,在授課過程中穿插一些數(shù)學(xué)知識(shí),如在講授 RSA 算法時(shí)講授模運(yùn)算和復(fù)雜性理論等,給學(xué)生打好扎實(shí)的數(shù)學(xué)基礎(chǔ)。
(2)講清各部分的區(qū)別與聯(lián)系,方便學(xué)生掌握和記憶。
密碼學(xué)涉及很多概念,這些概念對(duì)于剛接觸這門課的學(xué)生來說難以理解和記憶。教師在講授時(shí)應(yīng)仔細(xì)闡述這些概念的區(qū)別與聯(lián)系,如分組密碼和流密碼的區(qū)別、公鑰密碼和對(duì)稱鑰密碼的區(qū)別、加密算法和簽名算法的區(qū)別等。通過詳細(xì)的講解與比較,學(xué)生能夠區(qū)分這些內(nèi)容的不同并能很好地掌握這些知識(shí)。
(3)多舉實(shí)例,提高學(xué)生的學(xué)習(xí)興趣。
在密碼學(xué)課程的教學(xué)中盡量用通俗的語言、生動(dòng)的方式以及趣味的故事介紹密碼學(xué)知識(shí)。通過一些典型案例引起學(xué)生對(duì)網(wǎng)絡(luò)攻擊的警覺,讓學(xué)生了解密碼技術(shù)在信息安全中的應(yīng)用,激發(fā)學(xué)生的求知欲。通過該課程的學(xué)習(xí),能讓學(xué)生基本掌握密碼學(xué)的原理、思想以及經(jīng)典算法,引領(lǐng)學(xué)生走進(jìn)密碼技術(shù)之門,感受數(shù)學(xué)應(yīng)用之美。
(4)教學(xué)與科研結(jié)合。
教學(xué)中要注重與自己的科研工作相結(jié)合。平時(shí)可以結(jié)合自己的科研項(xiàng)目與經(jīng)歷進(jìn)行教學(xué),并將最新的研究成果帶到課堂,將最新的論文與學(xué)生分享,讓學(xué)生知曉密碼學(xué)研究的最新現(xiàn)狀。
(5)采用先進(jìn)的教學(xué)方法。
翻轉(zhuǎn)課堂[4]是近年來教育改革的熱點(diǎn)方法,它把教師由知識(shí)的灌輸者轉(zhuǎn)變?yōu)閷W(xué)生自主學(xué)習(xí)的協(xié)助者。采用翻轉(zhuǎn)課堂教學(xué)可以很好地提高學(xué)生的積極性。在教學(xué)過程中,結(jié)合密碼學(xué)熱點(diǎn)問題,把翻轉(zhuǎn)課堂的教學(xué)方法融入平時(shí)的教學(xué)中。比如講授經(jīng)典的密碼算法時(shí),可以提前制作視頻,或者到可汗學(xué)院、MOOC(慕課)等網(wǎng)站下載相關(guān)視頻供學(xué)生課前學(xué)習(xí),教師針對(duì)學(xué)生在課前學(xué)習(xí)中出現(xiàn)的問題在課上進(jìn)行解答,這就與學(xué)生之間形成了很好的協(xié)作模式。課后讓學(xué)生通過做練習(xí)題、查閱資料等方式對(duì)課程外的新知識(shí)進(jìn)行學(xué)習(xí),從而拓寬學(xué)生的知識(shí)面。除了翻轉(zhuǎn)課堂,在教學(xué)中還需要不斷探索更多的教學(xué)方法,提高教學(xué)水平,讓學(xué)生對(duì)密碼學(xué)產(chǎn)生足夠的興趣。
4.2 實(shí)驗(yàn)教學(xué)
(1)注重實(shí)驗(yàn)教學(xué),提高學(xué)生操作能力。
密碼學(xué)實(shí)驗(yàn)課程和理論課程同樣重要。學(xué)生通過實(shí)驗(yàn)對(duì)密碼學(xué)算法進(jìn)行程序?qū)崿F(xiàn),這樣能更好地掌握加密和解密、簽名和驗(yàn)證等密碼算法設(shè)計(jì)的原理和方法。指導(dǎo)學(xué)生基于C++或C#等設(shè)計(jì)實(shí)現(xiàn)用DES、MD5移位代換、置換密碼等算法進(jìn)行加解密演示[5]。讓學(xué)生通過程序設(shè)計(jì),更好地掌握密碼算法設(shè)計(jì)的原理和方法,進(jìn)一步理解密碼學(xué)在信息安全中的重要地位,了解密碼學(xué)領(lǐng)域的新方向、新應(yīng)用。實(shí)踐證明,實(shí)驗(yàn)教學(xué)有助于加強(qiáng)學(xué)生動(dòng)手能力和創(chuàng)新能力的培養(yǎng),鍛煉了學(xué)生的思維和操作能力,激發(fā)了學(xué)生的學(xué)習(xí)興趣,同時(shí)也符合“新工科”驅(qū)動(dòng)下的信息安全專業(yè)課程設(shè)置的要求。
(2)通過課題設(shè)計(jì)提高學(xué)生實(shí)踐能力。
培養(yǎng)學(xué)生的設(shè)計(jì)思維,重視創(chuàng)新實(shí)踐能力培養(yǎng),多做實(shí)驗(yàn)通過課題設(shè)計(jì),使學(xué)生強(qiáng)化對(duì)所學(xué)知識(shí)的掌握,同時(shí)能鍛煉學(xué)生分析問題的能力。按照密碼學(xué)課程設(shè)計(jì)要求,課程設(shè)計(jì)題目可以結(jié)合實(shí)際工程應(yīng)用相關(guān)的DES、AES、MD5、SHA-1、RSA、ElGamal密碼算法等。將學(xué)生分成若干小組,教師將課程設(shè)計(jì)的題目公布后,各個(gè)小組可選擇本小組能力范圍內(nèi)可以完成的選題并進(jìn)行實(shí)現(xiàn)和編程。課題設(shè)計(jì)一方面符合該課程實(shí)踐性強(qiáng)的特點(diǎn),另一方面通過該方法可以提高學(xué)生學(xué)習(xí)密碼學(xué)知識(shí)的熱情,也能很好地培養(yǎng)學(xué)生團(tuán)體協(xié)作精神,對(duì)提高學(xué)生的實(shí)踐能力具有重要意義,更契合“新工科”背景下進(jìn)行“設(shè)計(jì)思維”養(yǎng)成教育的理念。
4.3 課程考核
為了全面考核學(xué)生的知識(shí)、能力以及綜合素質(zhì),應(yīng)避免“一考定成績(jī)”的做法??梢圆捎瞄]卷考試(期末)、平時(shí)成績(jī)以及實(shí)踐考核相結(jié)合的綜合評(píng)價(jià)方式,主要評(píng)價(jià)指標(biāo)包括:(1)閉卷考試成績(jī)。 主要考核學(xué)生對(duì)該課程基礎(chǔ)知識(shí)、基本原理的掌握情況。(2)實(shí)踐考核成績(jī)。采用基礎(chǔ)驗(yàn)證性實(shí)驗(yàn)成績(jī)加上綜合設(shè)計(jì)性實(shí)驗(yàn)成績(jī),主要依據(jù)實(shí)驗(yàn)報(bào)告進(jìn)行評(píng)分。(3)課題設(shè)計(jì)成績(jī)。由于課題設(shè)計(jì)是分小組完成,在對(duì)每個(gè)課題小組評(píng)分的基礎(chǔ)上,對(duì)各小組中貢獻(xiàn)最大、表現(xiàn)最好的學(xué)生成績(jī)的評(píng)定應(yīng)格外注意。依據(jù)學(xué)生在團(tuán)隊(duì)中的貢獻(xiàn)和提交的設(shè)計(jì)報(bào)告進(jìn)行成績(jī)?cè)u(píng)定。
5 結(jié)語
“新工科”背景下的信息安全專業(yè)課程改革勢(shì)在必行,密碼學(xué)課程是信息安全專業(yè)核心課程之一,對(duì)該課程改革進(jìn)行系統(tǒng)的研究意義非凡。通過分析該課程的特點(diǎn)、教學(xué)存在的問題,從教學(xué)內(nèi)容的設(shè)置、理論教學(xué)、實(shí)驗(yàn)教學(xué)及課程考核等方面進(jìn)行了詳細(xì)的探討,并提出改進(jìn)方法。
參考文獻(xiàn):
[1] 江明明, 余磊, 肖建于, 等. 信息安全專業(yè)中密碼學(xué)課程的教學(xué)研究[J]. 電腦知識(shí)與技術(shù), 2017, 13(26): 138-139.
[2] 李夢(mèng)東.《密碼學(xué)》課程設(shè)置與教學(xué)方法探究[J]. 北京電子科技學(xué)院學(xué)報(bào), 2007,15 (3): 61-66.
[3] 張仕斌. 《應(yīng)用密碼學(xué)》課程教學(xué)方法研究與實(shí)踐[J]. 信息安全與通信保密, 2012(7): 77-80.
[4] 邱菡, 張連成, 李玉峰, 等. 基于建構(gòu)主義和翻轉(zhuǎn)課堂的信息安全專業(yè)課程教學(xué)[J]. 計(jì)算機(jī)教育, 2016(2): 69-72.
[5] 蔡增玉, 劉消南, 馬琳琳, 等. 基于C#的 “密碼學(xué)” 實(shí)驗(yàn)演示系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)[J]. 計(jì)算機(jī)學(xué)報(bào), 2017 (1): 57-59.