路秀華,張全雷,周 霞,鮑夢婷,竇子萌
(1.廊坊師范學院 理學院,河北 廊坊 065000;2.廊坊師范學院 教育學院,河北 廊坊 065000;3.濟南回民中學,山東 濟南 250001;4.廊坊師范學院 電子信息工程學院,河北 廊坊 065000)
計算機網(wǎng)絡(luò)已從專業(yè)領(lǐng)域滲透到社會的各行各業(yè),脫離計算機網(wǎng)絡(luò),各個領(lǐng)域的運轉(zhuǎn)都難以為繼。因此,網(wǎng)絡(luò)信息安全成為國家安全的重要因素。2014 年2 月,習近平總書記提出網(wǎng)絡(luò)安全是國家安全不容忽視的重要方面。隨后,在2015 年6 月,網(wǎng)絡(luò)空間安全一級學科獲批,信息安全有了更廣闊的發(fā)展平臺。完整性、真實性、可用性、可控性、保密性和不可抵賴性,是信息傳輸?shù)幕疽?,也是信息安全的六大任?wù)[1]。對此,現(xiàn)代密碼學都有完善的理論分析和實現(xiàn)技術(shù)。因此,現(xiàn)代密碼學天然成為網(wǎng)絡(luò)信息安全的理論基礎(chǔ)。
現(xiàn)代密碼學雖然屬于基礎(chǔ)理論課,但由于其強大的應(yīng)用背景,涉及初等數(shù)論、抽象代數(shù)、概率論、信息論基礎(chǔ)和計算理論基礎(chǔ)等多個學科,本質(zhì)上是多學科的綜合體,因此現(xiàn)代密碼學教學不是一件輕松愉快的事情。優(yōu)化現(xiàn)代密碼學教學方法,改善學生學習體驗,激發(fā)學生學習原動力,是事半功倍的教學策略。
多年來,各高校教師對現(xiàn)代密碼學教學方法的探索和變革,一直都沒有間斷。為了改革傳統(tǒng)的枯燥灌輸模式,增加現(xiàn)代密碼學課程的趣味性,貴州大學彭長根教授通過創(chuàng)設(shè)應(yīng)用場景,采用簡單風趣的語言,深入淺出地描述了現(xiàn)代密碼學的發(fā)展歷程和技術(shù)應(yīng)用[2]。北京郵電大學楊義先教授的系列講座《密碼趣談》,從耳熟能詳?shù)纳畛WR出發(fā),賦予現(xiàn)代密碼學通俗易懂的全新詮釋。這些工作致力于現(xiàn)代密碼學的快樂教學,由于內(nèi)容理論深度不夠,很難推廣到現(xiàn)代密碼學的專業(yè)學習。
關(guān)于現(xiàn)代密碼學的專業(yè)學習,也有大量一線教師的深入研究成果。2018 年,竇本年和許春根[3]提出了問題驅(qū)動的教學方法,使學生充分體會到密碼學理論來源于對實際問題的思考;李景濤和劉洋[4]研究了互動式教學方法的優(yōu)勢和劣勢,肯定了教師和學生在教學過程中的全方位互動;周景賢等人[5]提倡采用研究性教學法,引導學生參與項目研究,在研究過程中自然地完成知識點的學習;劉楊和王佰玲[6]建議利用科研項目驅(qū)動教學,進一步強化了學生實踐能力的培養(yǎng);劉光軍[7]提出了研究誘導型教學方法,充分調(diào)動了學生的主觀能動性。2019年,魏悅川和韓益亮[8]強調(diào)了學生在學習中的主體地位,提倡參與式教學。此外,馬秀文[9]從宏觀上調(diào)研了現(xiàn)代密碼學的課程設(shè)置,針對天津工業(yè)大學計算機密碼學的教學提出了具體建議。這些研究成果一致強調(diào)教師和學生的互動,突出現(xiàn)代密碼學的應(yīng)用背景,強化利用現(xiàn)代密碼學的學科特點開展問題研究,增強學生的學習自主性和實踐能力的培養(yǎng);但對課題化教學方法的闡述,大多停留在思想層面,過于抽象和理論化,缺乏可操作性的具體指導。
課題化教學方法的思想和教育家杜威強調(diào)的關(guān)注現(xiàn)實生活和實踐的哲學思想[10]高度統(tǒng)一,也踐行了“教師主導學生主體”的教學模式[11]。課題研究是高校教師的主要工作內(nèi)容之一,對每個課題的研究過程,都體現(xiàn)了問題提出、探索研究、問題解決、應(yīng)用推廣的知識產(chǎn)生過程。而目前大多數(shù)的現(xiàn)代密碼學教材都淡化了知識的探索過程,著重建立知識體系,學生對知識的體驗變得抽象、晦澀,難以理解和運用。如果高校教師能夠?qū)⒄n題研究和教學工作結(jié)合起來,開展課題化教學,引導學生在探索問題的過程中發(fā)現(xiàn)知識,在研究過程中完成對知識的理解,這將改變學生對知識的體驗,使學生能夠緊密聯(lián)系理論和實踐,真正做到學有所感、學以致用。
同時,現(xiàn)代密碼學的模塊化和實用性也決定了課題化教學方法的可行性?,F(xiàn)代密碼學屬于綜合性交叉學科,內(nèi)容龐雜,但核心教學內(nèi)容主要包括哈希函數(shù)等9 個相對獨立的專題,各個專題都來源于對實際問題的思考和探索,具有非常直觀的應(yīng)用背景,非常適合課題化教學方法的運用。
課題化教學方法是問題驅(qū)動的研究式教學方法,屬于科研方法論的教育范疇。在課題化教學過程中,教師有機會將科研工作和教學工作結(jié)合起來,科教互促;學生有機會接觸實際問題,在教師的幫助下可以利用理論知識解決問題,既能深入理解知識點,又能增強自我實踐能力。
具體地,依據(jù)現(xiàn)代密碼學的知識模塊,課題化教學方法可如下操作。
尋找合適的切入點,匯聚學生的注意力是課題化教學方法的第一步。當前最好的道具是密碼貨幣。上至各國中央銀行,下至兒童游戲,都不乏密碼貨幣的影子。作為時代最活躍的群體之一,大學生對于密碼貨幣的好奇不言而喻;尤其對于信息安全專業(yè)的大學生,答疑解惑,更是義不容辭。密碼貨幣用到了哪些理論知識,其街談巷議、婦孺皆知的魅力到底體現(xiàn)在哪里?雖然現(xiàn)代密碼學不是密碼貨幣的全部,卻是密碼貨幣的脊梁[12],而現(xiàn)代密碼學在密碼貨幣的典型應(yīng)用是哈希函數(shù)和數(shù)字簽名。
首先,可以通過每個人的指紋信息來理解,結(jié)合鏈式連鎖反應(yīng),借助生活常識讓學生體驗密碼貨幣的基礎(chǔ)架構(gòu)——區(qū)塊鏈,然后引導學生探索哈希函數(shù)的構(gòu)造思想、具體的設(shè)計方法和實現(xiàn)算法。
教學過程中,細節(jié)容易使學生疲憊,失去學習熱情,教師可以篩選當前具體案例作為引子。例如,2019 年5 月,《個人電腦》雜志網(wǎng)站報道,GitHub 遭到了一名黑客的入侵,這名黑客先擦除代碼資源庫,然后挾持數(shù)據(jù)向用戶勒索比特幣。根據(jù)GitLab 的官方聲明,這次入侵事件的主要原因,是受影響賬戶的口令以明文形式存儲在相關(guān)代碼庫中。學生能在這個事件中意識到比特幣作為密碼貨幣的價值,卻還意識不到這個問題和哈希函數(shù)有什么聯(lián)系。
這時,教師需要強調(diào)哈希函數(shù)輸出對輸入的匹配鎖定和輸入的不可見性,這正是解決口令非明文存儲的關(guān)鍵。教師可以適時提醒:凡是口令可恢復的系統(tǒng),一定是明文存儲口令的系統(tǒng),啟發(fā)學生確定課題:利用哈希函數(shù)建立一個非明文存儲的口令管理系統(tǒng)。
面對學生對哈希函數(shù)的理論需求,教師抓住時機,從專業(yè)的角度解讀哈希函數(shù)的設(shè)計方法。根據(jù)學生知識背景的差異,授課的側(cè)重點可以有所區(qū)別。對數(shù)學專業(yè)的學生,可以深化分析設(shè)計方法的實現(xiàn)理論,引導學生舉一反三,探尋新的哈希函數(shù)理論工具和設(shè)計方法;對計算機專業(yè)的學生,可以著重分析數(shù)據(jù)結(jié)構(gòu),探索設(shè)計方法新的算法結(jié)構(gòu)和實現(xiàn)流程的優(yōu)化。根據(jù)學生的不同知識背景,選擇不同的教學策略,在改善學生學習體驗的同時,也賦予教師同課異構(gòu)的素材。
理論學習之余,教師可以介紹已有的開源軟件工具,例如CrypTool、SageMath、Cryptography Visualization Software 和CAP,幫助學生完成系統(tǒng)搭建,避免學生陷入困頓。在這個環(huán)節(jié),對數(shù)學專業(yè)的學生,可要求僅完成系統(tǒng)的框架設(shè)計和實例演示;對計算機專業(yè)的學生,可要求完成系統(tǒng)登陸口令驗證這一簡單功能的平臺實現(xiàn)。
由哈希函數(shù)的課題化教學過程,可以總結(jié)出課題化教學方法的一般流程,見圖1。首先,通過相關(guān)社會熱點話題,例如密碼貨幣,引出教學內(nèi)容,例如哈希函數(shù),挖掘?qū)W生的興趣點。其次,分析主題相關(guān)的真實網(wǎng)絡(luò)安全事件,挖掘關(guān)鍵點,簡化問題,確定難度適宜的課題交由學生思考,建立學生對知識的內(nèi)在需求。然后,通過易于理解的生活現(xiàn)象描述知識點的思想源泉和設(shè)計理念,引入具體知識點。針對不同基礎(chǔ)的學生,提出差異化的目標,因材施教,給學生各取所長的發(fā)揮空間,投其所好、因地制宜地提高教學效果。最后,引導學生利用所學理論知識完成課題,解決安全問題,回歸安全事件,學以致用,讓學生體會知識的魅力。
圖1 課題化教學方法的一般流程
現(xiàn)代密碼學的課題化教學方法,始于現(xiàn)實問題,結(jié)于現(xiàn)實問題,學生能夠深刻體會這一學科的強大應(yīng)用性。在現(xiàn)實問題中抽離課題的過程,可以讓學生學習把現(xiàn)實問題加工成課題的研究方法。經(jīng)過課題研究整個過程的洗禮,學生更加深刻理解知識點,提升學習自主性和實踐能力,教師也會在和學生的互動中開闊視野,激發(fā)科學研究的靈感。
在學校現(xiàn)代密碼學課題化教學過程中,我們申請到了2016 年“大學生創(chuàng)新創(chuàng)業(yè)訓練計劃”的國家級項目——個人口令管理系統(tǒng)的開發(fā),在信息系和計算機系同學的合作下,實現(xiàn)了簡單的個人口令管理系統(tǒng)[13]。
課題化教學方法的實踐,也有一定的局限性,最主要的一個問題是時間。濟南大學的密碼學課程,理論學時48,實驗學時16,此外增加了40 學時的課程設(shè)計[9]。我校的現(xiàn)代密碼學只有64 學時的理論學時,這能夠滿足單純的課堂教學,可以幫助學生架構(gòu)知識體系,卻無法滿足學生對課題的拓展研究和對相應(yīng)前沿進展的追蹤。為了解決這個問題,我們將課堂教學、1 周短學期實踐和大學生創(chuàng)新創(chuàng)業(yè)等課外活動聯(lián)系起來,延伸課堂教學的時間維度,順利完成了教學過程。
在現(xiàn)代密碼學的教學過程中,面對的授課對象屬于非數(shù)學專業(yè),并沒有實現(xiàn)對哈希函數(shù)理論維度的挖掘。由于現(xiàn)代密碼學主題的多樣性和學科的基礎(chǔ)性,我們對現(xiàn)代密碼學的定位是為學生全面展示現(xiàn)代密碼學的各個領(lǐng)域,使學生初步了解現(xiàn)代密碼學的學科體系,掌握現(xiàn)代密碼學主要原語的思想源泉和典型應(yīng)用環(huán)境。
如何利用高校教師的科研優(yōu)勢開展現(xiàn)代密碼學課題化教學工作,還需要更多探索和嘗試。學校的現(xiàn)代密碼學課題化教學開展順利,教學效果顯著。接下來,我們將考慮在初等數(shù)論等課程中推廣課題化教學方法,探索數(shù)學類課程的課題化教學模式,期望為枯燥的數(shù)學配備生動有趣的生活問題,改變大家對數(shù)學類課程索然無味的學習體驗,促進學生和教師在課題化教學過程中的互相成長。