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

圖1 課題化教學方法的一般流程
現代密碼學的課題化教學方法,始于現實問題,結于現實問題,學生能夠深刻體會這一學科的強大應用性。在現實問題中抽離課題的過程,可以讓學生學習把現實問題加工成課題的研究方法。經過課題研究整個過程的洗禮,學生更加深刻理解知識點,提升學習自主性和實踐能力,教師也會在和學生的互動中開闊視野,激發科學研究的靈感。
在學校現代密碼學課題化教學過程中,我們申請到了2016 年“大學生創新創業訓練計劃”的國家級項目——個人口令管理系統的開發,在信息系和計算機系同學的合作下,實現了簡單的個人口令管理系統[13]。
課題化教學方法的實踐,也有一定的局限性,最主要的一個問題是時間。濟南大學的密碼學課程,理論學時48,實驗學時16,此外增加了40 學時的課程設計[9]。我校的現代密碼學只有64 學時的理論學時,這能夠滿足單純的課堂教學,可以幫助學生架構知識體系,卻無法滿足學生對課題的拓展研究和對相應前沿進展的追蹤。為了解決這個問題,我們將課堂教學、1 周短學期實踐和大學生創新創業等課外活動聯系起來,延伸課堂教學的時間維度,順利完成了教學過程。
在現代密碼學的教學過程中,面對的授課對象屬于非數學專業,并沒有實現對哈希函數理論維度的挖掘。由于現代密碼學主題的多樣性和學科的基礎性,我們對現代密碼學的定位是為學生全面展示現代密碼學的各個領域,使學生初步了解現代密碼學的學科體系,掌握現代密碼學主要原語的思想源泉和典型應用環境。
如何利用高校教師的科研優勢開展現代密碼學課題化教學工作,還需要更多探索和嘗試。學校的現代密碼學課題化教學開展順利,教學效果顯著。接下來,我們將考慮在初等數論等課程中推廣課題化教學方法,探索數學類課程的課題化教學模式,期望為枯燥的數學配備生動有趣的生活問題,改變大家對數學類課程索然無味的學習體驗,促進學生和教師在課題化教學過程中的互相成長。