關(guān)鍵詞:密碼學;高職學生;教學內(nèi)容;教學方式;考核方式
0 引言
信息化的迅猛發(fā)展給人們的生產(chǎn)生活帶來了深刻變化,讓人們在享受數(shù)字化生活的同時信息安全問題也日益突出,不僅給個人生活帶來諸多不便,也影響國家安全[1]。密碼技術(shù)是解決信息安全問題的關(guān)鍵技術(shù)[2],目前已應用于各類信息系統(tǒng)中,在保障數(shù)字經(jīng)濟發(fā)展安全、物聯(lián)網(wǎng)、云計算、人工智能等新技術(shù)方面發(fā)揮著基礎(chǔ)性作用。2020年1月1日,國家頒發(fā)《中華人民共和國密碼法》,用于規(guī)范密碼應用和管理,保障網(wǎng)絡與信息安全,維護國家安全和社會公共利益[3]。并于2021年,教育部在高職新增密碼技術(shù)應用專業(yè),旨在加強密碼人才的培養(yǎng)。目前,開設密碼技術(shù)專業(yè)的高職院校逐漸增多,密碼學課程是密碼技術(shù)專業(yè)的核心課程,并逐步在高職院校專科生信息類相關(guān)專業(yè)開設。針對本校密碼學課程教學中存在的問題,總結(jié)經(jīng)驗教訓,對密碼學課程的教學進行研究設計與實踐。
1 高職密碼學教學現(xiàn)狀分析
密碼學是一門交叉學科,與數(shù)學、計算機科學、電子等學科聯(lián)系緊密,是研究如何隱秘地傳遞信息,及如何針對加密的信息計算其被解密的代價的學科[4]。涉及知識范圍比較廣,涉及信息論、概率論、數(shù)論、離散數(shù)學、計算機網(wǎng)絡等相關(guān)知識,其中包含著大量數(shù)學知識,學好密碼學需要擁有雄厚的數(shù)學基礎(chǔ);但現(xiàn)實是,高職學生在上密碼學課程之前并未學過信息論、離散數(shù)學等知識,數(shù)學基礎(chǔ)也比較薄弱。同時密碼學的交叉性決定了學生學好這門課程同時需要具備一定的動手操作能力,而目前市面上出現(xiàn)的關(guān)于密碼學的教材大多用于本科或研究生教學,偏于理論,重視數(shù)學知識、原理、推演分析,內(nèi)容深奧,不適合高職學生學習,因此增加了教學難度。
密碼學課程的授課內(nèi)容主要包含密碼學基礎(chǔ)、古典密碼、分組密碼、序列密碼、公鑰密碼、數(shù)字簽名與身份認證、密鑰管理等[5]。教師在講前期基礎(chǔ)知識、古典密碼過程中引入一些歷史故事,能較好地吸引學生的注意力;講到專業(yè)性較強的部分,例如分組密碼的設計,比較枯燥,學生明顯注意力不集中,尤其涉及包含較多數(shù)學知識的內(nèi)容,由于高職學生數(shù)學知識比較薄弱,學起來比較吃力,大部分存在畏難情緒而不愿意聽課,但這部分知識又不能完全避開。教學過程中既不能浮于表面局限于泛泛的理論知識,又不宜深挖密碼學理論的細節(jié)、過多進行數(shù)學推導,應重視學生動手能力的培養(yǎng),并進行合適的教學設計,調(diào)動學生學習的主動性和積極性。
2 教學內(nèi)容的設計
在學生數(shù)學基礎(chǔ)薄弱的背景下,在密碼學教學內(nèi)容的設計過程中,對于密碼算法理念和應用的理解,通過融入課程思政以實際案例講解,給學生直觀感受;對于難度較低的古典密碼,借助編程實現(xiàn),加強密碼教學實踐性;對于復雜的現(xiàn)代密碼,借助現(xiàn)成工具演示實驗,避免高深數(shù)學原理的推導,從而讓學生更容易掌握密碼學的整體架構(gòu)體系。
2.1 理論講解融入課程思政
全國高校思想政治工作會議上指出“要堅持把立德樹人作為中心環(huán)節(jié),把思想政治貫穿教育教學全過程,推進其他課程與思想政治理論課同向同行,形成協(xié)同效應”[6]。要保證在提升學生學習技能的同時完成思想政治教育。密碼學是在信息“加密”與“破譯”兩者斗智斗勇、循環(huán)往復的較量中不斷發(fā)展進步的,背后伴隨著一系列政治、軍事和外交等活動,因此在密碼學課程中融入思想政治教育有著天然的優(yōu)勢。例如:在講密碼的發(fā)展史時融入美國在第二次世界大戰(zhàn)中由于破譯了包括被稱為“紫密”在內(nèi)的日本“九七式”機械式密碼,決定了中途島戰(zhàn)役和山本五十六事件的勝利,鼓舞了反法西斯同盟國家的士氣,扭轉(zhuǎn)了太平洋戰(zhàn)爭局勢;在講現(xiàn)代密碼時融入王小云院士對世界上應用最廣泛的兩大密碼MD5和SHA1算法的破解心路歷程,及設計出中國第一個國產(chǎn)的密碼算法標準SM3,為我國交通、電力系統(tǒng)、金融系統(tǒng)、航天工程等保駕護航,保衛(wèi)國家安全。通過現(xiàn)實案例讓學生體會密碼學知識在現(xiàn)實生活中的重要作用,增強學生學習密碼學的原動力,培養(yǎng)學生成為具有家國情懷、使命擔當?shù)目煽咳瞬拧?/p>
2.2 通過編程實現(xiàn)古典密碼
古典密碼也被稱為簡單密碼學,其密碼算法對數(shù)學知識要求不高,僅涉及數(shù)學函數(shù)、代數(shù)運算等相關(guān)知識。因此古典密碼算法相較現(xiàn)代密碼比較簡單,容易理解,程序代碼量也比較小,可讓學生選擇學習過的編程語言將古典密碼算法通過編程實現(xiàn)。比如在講解移位密碼的過程中,首先講述移位密碼的加解密原理,在理解移位密碼加解密思想的基礎(chǔ)上,與學生一起進行算法設計,理清編程思路,排列出完成此算法的具體步驟,之后讓學生用學過的Python語言去實現(xiàn),最后讓學生通過手動加解密的方法對編程結(jié)果進行驗證。通過編程實現(xiàn)既能夠考查學生對算法的理解程度,同時對學生在編程能力上有所要求,從而加深學生對密碼加解密工作原理的理解,提升學生的分析及編程能力,避免傳統(tǒng)教學中的老師一直講、學生一直聽的教學模式。
2.3 利用CrypTool 工具學習現(xiàn)代密碼
現(xiàn)代密碼相對于古典密碼來講,數(shù)學在其中的占比越來越大,加解密算法的基本原理也相對復雜,相應所編寫的程序代碼量也較大。而高職學生數(shù)學基礎(chǔ)都相對比較薄弱,對于密碼學要求的線性代數(shù)、離散數(shù)學等數(shù)學知識涉及得較少,理解現(xiàn)代密碼加解密原理變得困難。因此借助開源的密碼學教學工具——CrypTool 通過動畫演示方式幫助學生理解密碼算法的基本原理。CrypTool是一個專門為學習密碼學而設計的免費、開源的軟件[7],是通過封裝算法對外提供可視化圖形界面。例如:在學習對稱密碼AES算法時,利用Crypool工具提供的流程可視化功能,向?qū)W生直觀展示AES算法加密流程的每個步驟:字節(jié)代替、行移位、列混合、輪密鑰加及對應的運算結(jié)果,針對每個步驟,可按暫停鍵,與學生討論交流,讓學生理解每一步驟的實現(xiàn)過程。如圖1所示,正在進行的步驟是字節(jié)代替,經(jīng)過CrypTool演示,可以清楚展示每個字節(jié)如何進行S盒置換,映射為另外一個字節(jié),加強學生對AES 加密算法工作原理的理解。通過利用Cryp?Tool工具,動態(tài)顯示密碼算法的加解密流程,提升了學生的學習興趣,增強了教學效果。
3 教學方式的設計
密碼學是一門理論性較強的課程,為了避免知識講解的枯燥性,更好調(diào)動學生學習的積極性,本課程在教學過程中除了采用傳統(tǒng)的教學模式外,還通過拓展課堂知識,引導學生探討密碼學最新發(fā)展進程;人為細化一些密碼算法,降低分析難度,如一輪 DES加密分析;引導學生參加信息安全大賽,檢驗平時學習成果的方式提高學生學習的主動性和參與性,增強課堂教學效果。
3.1 拓展課堂知識,加強課堂互動
密碼學一直在不斷創(chuàng)新和發(fā)展,而目前所用的教材對于前沿的密碼技術(shù)存在一定的滯后性。教師可在教學過程中針對教授的內(nèi)容提供相關(guān)的視頻資料、網(wǎng)站論壇、國際會議、學術(shù)論文等,供學生觀看閱讀,并在課堂上討論觀看閱讀后的想法,增強學生的互動與思考,活躍課堂氛圍。例如講解密碼學發(fā)展歷史時,為學生推薦了相關(guān)的電影、紀錄片:《決戰(zhàn)中途島》《風語者》《密碼疑案》《軍事科技》欄目“加密和破譯的永恒之戰(zhàn)”等。課堂學生通過討論觀看內(nèi)容,了解密碼是伴隨著戰(zhàn)爭產(chǎn)生的,是在戰(zhàn)爭中相互對抗不斷發(fā)展進步的,之前被認為無法破譯的密碼都隨著戰(zhàn)爭的需要相繼被破譯,而舊密碼的破譯又伴隨著新密碼的產(chǎn)生,間接推動著密碼學的發(fā)展。當前密碼安全同樣受到量子計算的攻擊,量子安全成為國際研究的熱點。同時給學生介紹我國密碼領(lǐng)域相關(guān)的政策、法律,當前國際的研究現(xiàn)狀,我國科研工作者做了哪些工作,以此引導學生了解密碼學的發(fā)展現(xiàn)狀,拓寬學生知識面,提升學生的視野,增強民族自豪感。
3.2 細化實驗項目,加強課堂實踐
密碼學的理論性比較深入,部分知識對于高職學生來說難以理解,因此要克服紙上談兵的傾向,讓學生真正動手操作,才能學以致用。為促進學生有效學習,可以細化密碼算法實驗。比如在講述仿射密碼時,依據(jù)仿射密碼涉及的知識,精心為學生設計歐幾里得算法實現(xiàn)、仿射密碼加密算法、擴展歐幾里得算法實現(xiàn)、仿射密碼解密算法、仿射密碼暴力破解編程實踐題目,學生通過小組合作的方式完成每一部分任務?,F(xiàn)代密碼算法本身比較復雜,編寫代碼超出了高職學生的能力范疇,可以將算法進行功能模塊分解。比如在學習數(shù)據(jù)加密標準 DES算法時,流程繁雜,運算步驟多??梢詫ES加密過程劃分為三個階段:初始置換IP、迭代變換、初始逆置換;每次迭代又細分為四個子模塊:E擴展置換、與子密鑰異或、S盒替代、P 盒置換。每個功能模塊劃分給一個小組,由小組分工合作計算一輪迭代結(jié)果。由此充分調(diào)動學生的積極實踐、學習能力,對復雜密碼算法的實現(xiàn)過程有更深刻的理解,培養(yǎng)學生團隊協(xié)作的精神。
3.3 參加技能比賽,提升課堂效果
職業(yè)技能大賽是我國職業(yè)教育的一項創(chuàng)新制度,旨在利用技能大賽的形式,對學生日常所學習的知識進行考核評估和實踐[8]。它是緊隨時代發(fā)展和社會進步的,其比賽內(nèi)容反映了當下企業(yè)的需求和行業(yè)動態(tài),無論對學生職業(yè)能力、競爭力的提升還是教師教學能力的提升都極有幫助,尤其是本校信息安全教師都相對年輕。因此,對于有學習興趣的學生,可以帶其參加信息安全的比賽,例如:全國職業(yè)院校技能大賽中的“信息安全管理與評估”賽項等,增強學生職業(yè)技能;并結(jié)合學生表現(xiàn),總結(jié)經(jīng)驗教訓,完善優(yōu)化課程內(nèi)容,彌補自身在教學工作中的不足,實現(xiàn)以賽促教,提升教學能力,提高課堂效果。同時,可與相關(guān)企業(yè)合作,建立校企協(xié)同育人平臺,讓學生考取“1+X”證書,更好地培養(yǎng)更多的技能型人才。
4 課程考核方式設計
傳統(tǒng)期末考核方式主要是通過書面考試的形式,根據(jù)學生的卷面成績和平時成績,對學生本學期的學習情況進行最終考核,忽略了學習過程中的考核,不能充分體現(xiàn)學生的實踐能力,對學生掌握知識的程度了解不足。對于高職學生來講,密碼學作為信息安全的專業(yè)課,一般會在大三學期開設,此時學生具備一定的理論知識和動手操作能力,可以采用更加靈活的考核方式,關(guān)注評價的多元性,重視階段評價和實踐評價。依據(jù)人才培養(yǎng)方案、學生的學習特點,將密碼學的考核部分分為平時成績(20%) +過程性考核(50%) +期末考試(30%) 。平時成績側(cè)重考查學生的上課狀態(tài),包括考勤和學習筆記情況;過程性考核是階段性的測評,重點對課程教學中供學生動手操作的實驗項目進行考核,占比較大,作為期末考核的關(guān)鍵部分,旨在培養(yǎng)學生的動手實踐能力;期末考試占比較小,主要考查學生對密碼學理論知識的掌握。通過改進傳統(tǒng)考核方式,全面考查學生的綜合素質(zhì),促進學生競爭力的提升。
5 教學成效
授課結(jié)束后,對本校信息安全兩個班65名學生進行了密碼學教學效果的問卷調(diào)查,結(jié)果顯示70%學生認為能夠理解密碼學的基本概念,80%學生認為通過學習密碼學課程培養(yǎng)了其動手實踐能力。組織學生參加河北省“信息安全管理與評估”大賽取得了較好成績,說明當前密碼學課程的教學模式對學生的學習有一定幫助,在一定程度上提升了學生學習密碼學的熱情。
6 結(jié)論
本文對本校信息安全的密碼學課程進行研究,分析了密碼學教學過程中面臨的挑戰(zhàn),對密碼學課程進行教學設計與實踐,具體從教學內(nèi)容、教學方式、考核方式三個角度進行了闡述,更好的激發(fā)了學生學習的積極主動性,加深學生對密碼學理論知識的理解,培養(yǎng)學生解決問題、動手實踐能力,提升了教學效果。后續(xù)會繼續(xù)探索,做好密碼學的教學工作,為后續(xù)的信息安全課程打下良好的基礎(chǔ)。