謝冬 洪媛
摘要:密碼學是一門集計算機科學、數學以及信息論等諸多學科于一身的交叉學科,對于不同類型的高校此課程的教學方法也應有所不同。首先從密碼學學科的本質出發,分析了密碼學課程的基本特征。其次,對密碼學課程教學活動中普遍存在的問題進行了總結。最后,從課程內容、教學方式以及科研思維等不同的角度,闡述密碼學課程教學的探索與思考。
關鍵詞:密碼學;學科交叉;趣味性教學;實踐性教學;科研型思維
中圖分類號:TP309.7? ? ? ? 文獻標識碼:A
文章編號:1009-3044(2019)21-0162-02
開放科學(資源服務)標識碼(OSID):
Abstract: Cryptography is an interdisciplinary subject which integrates computer science, mathematics and information theory. The teaching methods of this course should be different for different types of universities. Firstly, starting from the essence of cryptography, the basic characteristics of cryptography course are analyzed in this paper. Secondly, the common problems in the teaching of cryptography are summarized. Finally, this paper expounds the exploration and thinking of the teaching of cryptography from different perspectives such as course content, teaching methods and scientific research thinking..
Key words: cryptography; interdisciplinary; interesting teaching; practical teaching; scientific research thinking
1 引言
隨著信息時代的到來,互聯網已經成為人們日常生活中不可缺少的重要工具。然而,近些年來不斷涌現一大批惡意的攻擊者,其以竊取他人隱私信息為目的從而達到個人經濟或政治目的,互聯網的安全問題日益突出。2014年2月,習總書記在中央網絡安全和信息化領導小組第一次會議上首次提出“網絡強國”的戰略方針,并指出“沒有網絡安全就沒有國家安全”。網絡空間已全面滲透到軍事、經濟、政治、文化等領域,成為國家的重要戰略資產。
作為信息安全、網絡空間安全等領域的基礎核心技術,密碼學為計算機網絡數據的完整性、機密性、認證性以及不可否認性提供了理論方法與基礎保障。密碼學包括密碼編碼學和密碼分析學兩個部分,其是一門集計算機科學、數學以及信息論等諸多學科于一身的交叉學科。近些年來,一些學者對密碼學課程的教學方法進行了研究[1-5]。本文以安徽師范大學計算機與信息學院的密碼學課程教學為例,筆者總結了密碼學課程的基本特征,分析了目前密碼學課程教學活動中存在的普遍問題,探究了密碼學教學的基本方法。
2 密碼學課程的基本特征
2.1 學科的交叉性
學科的高度分化可以促進“高精尖”成果和技術的產生,不同學科之間的相互滲透、交叉和融合可以突破單一學科的局限性。密碼學是一門交叉學科,其內容繁多,覆蓋面較廣。
學好密碼學課程的前提條件是需要學生掌握基礎的數論、代數等數學知識,如RSA加密需要理解快速模指數算法[6],橢圓曲線密碼需要理解橢圓曲線理論及其上的點加運算[6]。能夠編程實現一些重要的密碼算法與協議是用好密碼學的前提,此外還需結合具體的環境使用不同的密碼技術來提供安全服務。
2.2 內容的枯燥性
與其他計算機類課程相比較,密碼學具有一定的枯燥性,其主要原因是密碼學對數學的要求較高。例如在講解仿射密碼體制c=aP+b mod n時,a需滿足(a,n)=1。其原因是解密時需要求a-1mod n,當(a,n)=1時a的逆元才存在。可證明安全理論可以從理論上證明密碼算法或協議達到的安全級別,其普遍的證明方法是采用數學的反證法,即若存在一個敵手能夠攻破提出的算法,則可以構造一個敵手攻破某個數學難題[7]。
2.3 教學的實踐性
密碼學能夠提供數據完整性保護、數據源的認證以及消息的機密性等安全服務,其能夠為易受攻擊的開放網絡環境提供安全保障。作為支撐信息安全、網絡空間安全等學科的基礎安全技術,密碼學的教學具有很強的實踐性。例如基于基礎的加密與密鑰協商算法,傳輸層安全協議(Transport Layer Security,TLS)能夠保護傳輸層數據的安全傳輸。同時,密碼學也促進了新方向、新技術的發展,如比特幣挖礦機制的設計是基于密碼學哈希函數的單向性。因此密碼學課程的教學不應局限于基礎算法與協議,還應強化其實踐性。
2.4 學習的重要性
密碼學與國家安全密切相關,不僅涉及國家政治、軍事和經濟各個方面,而且影響到國家的安全和主權。密碼學是防止個人信息泄露的重要技術,也是實現快捷支付的重要手段。實際上,密碼學已經融于人們生活的各個方面,大到國家宏觀政策的制定,小到個人隱私的保護,其重要性不言而喻。
3 密碼學課程教學中普遍存在的問題
3.1 教學內容與前沿介紹,陳舊落后
現有大多數密碼學教材的內容大體包括古典密碼、數學基礎、分組密碼、序列密碼、公鑰密碼、認證理論與協議以及密鑰管理等部分。這些傳統的密碼學技術為各種復雜系統與開放的網絡通信提供了安全保障。然而,當今社會對密碼學高級人才的需求要求學生掌握一些常用的前沿技術,如能抵抗量子攻擊的后量子密碼、基于DNA計算的DNA密碼以及基于密碼安全的區塊鏈技術等等。
3.2 理論教學與實踐訓練,顧此失彼
國內開設密碼學專業的高校并不太多,開設主體的二級學院也并不完全一樣,大體可以分為三類:計算機、網絡空間安全以及數學學院。不同學院的專業基礎知識以及邏輯思維具有差異性,教師上課的側重點也不盡相同。例如數學學院的密碼學課程一般側重理論知識,而忽略了密碼學的實踐性特征。計算機學院的密碼學課程往往側重于實踐能力,而忽視密碼算法所蘊含的數學理論與思想。
3.3 自主探索與創新能力,培養不足
在面對一些比較復雜的算法時,教師往往側重對其具體執行過程的解讀,而忽略了其設計的基本思想,不利于對學生自主探索與創新能力的培養。例如在講授DES(Data Encryption Standard)算法時,教師往往花費較長的時間講述其步驟,而忽略了其設計思想,更沒有引導學生進行深入地獨立思考,例如為什么2DES不能克服DES密鑰短的缺陷,為什么3DES采取EDE模式來進行加密。
4 密碼學教學方法的探索與分析
4.1 掌握課程內容的內在邏輯,幫助學生理解本質
掌握密碼學課程的內在邏輯,有利于密碼學課程的教學。密碼學課程教材內容的編排是符合其學科歷史發展規律的。古典密碼學講述的是1949年之前應用于政治軍事領域的傳統密碼術,其內容主要是針對英文字母的置換和替換加密方法。1949年至1976年的近代密碼學的研究內容主要是分組密碼、流密碼等體制。由于對稱密碼體制密鑰管理等問題,Diffie和Hellman于1976年提出了公鑰密碼的思想,標志密碼學進入現代密碼學階段。
4.2 加強教學方式的生動趣味,吸引學生自主學習
將趣味性貫穿到整個教學活動中,有利于吸引學生的注意力,培養其自主學習的能力,克服學習密碼學理論知識的枯燥性問題。例如在講授歐拉定理時,若教師直接講解其理論知識,則對于非數學專業的學生會覺得枯燥無味,逐步會喪失聽課的興趣。若教師并不直接講述此定理,而是一開始拋出一個大家感興趣的問題——7222的個位數是多少?很明顯類似這樣的問題經常在一些奧賽題中出現,但似乎又無從下手。但是歐拉定理可以完美地解決此問題,這樣教學效果就會好很多。
4.3 推行教學過程的融合機制,促進學生知行合一
折中考慮密碼學課程的理論性與實踐性特征,有利于培養學生學以致用的綜合能力。教師需用趣味性的方法講解理論知識,用生動的語言刻畫其基本思想。遵循“先理論后實踐”的基本教學方法,理論知識促進學生實踐活動,實踐活動能加強學生理解理論知識,兩者相互促進,相互發展。例如在講解RSA算法時,先講解其加密原理,后以實踐的方式探究其在不同模式下的攻擊方法,讓學生編程自行完成。
4.4 熟悉密碼學科的前沿方向,拓展學生思路視野
熟知近些年密碼學的學科前沿發展動態,有利于拓展學生的知識視野。教師在講述教材的基礎內容時,需強調教學內容知識的局限性,并對比分析教學內容和相關前沿知識的區別與聯系。如在講授RSA公鑰算法時,應說明盡管現在很多場合都在使用此算法,但其不能抵抗量子計算機的攻擊,并引導闡述能夠抵抗量子計算機攻擊的密碼體制,以此培養學生的發散性思維。
4.5 探索教學模式的科研思維,培養學生學術創新
運用科研的思維方法進行教學,有利于激發學生的創新意識,培養學生的學術能力。教師在教學活動中應大力訓練學生的科研思維,不能再一味地沿用傳統的“填鴨式”教育模式。首先,在課堂上教師應留給學生充足的時間獨立思考,通過發散性進行獨立創新。其次,對于有疑問的難題,應引導學生進行查閱文獻,培養其自學能力。最后,應留有專門的時間展開知識討論,并形成結論。
5 結論
本文首先探討了密碼學課程的基本特征以及其教學所面臨的基本問題,然后分別從學科內容、教學方式、學科前沿以及科研型思維等方面,對密碼學課程教學方法進行了簡單的討論。筆者所在教學團隊屬于網絡與信息安全安徽省重點實驗室,近些年來一直負責密碼學課程的教學工作。在今后的教學過程中,我們將繼續努力提高專業人才的綜合能力,為國家密碼學人才的培養做出一點貢獻。
參考文獻:
[1]? 閆璽璽, 葉青, 湯永利. “現代密碼學”課程任務驅動式教學內容的設計[J].科技視界,2016(27):86-87.
[2]? 李夢東.《密碼學》課程設置與教學方法探究[J].北京電子科技學院學報, 2007,15(3):61-66.
[3]? 張瑞霞,唐成華,唐麟. 密碼學實驗教學改革應用實踐[J].計算機教育, 2013(5):68-71.
[4]? 邢宇航,李敏,過惠平,等. 密碼學課程教學中的“破”與“立”[J].計算機教育,2019(3):29-31.
[5]? Katz J, Lindell Y. Introduction to modem cryptography[M]. Florida: CRC Press,2008.
[6]? 馮登國. 可證明安全性理論與方法研究[J].軟件學報,2005(10):1743-1756.
[7] 魏悅川,韓益亮. 計算機密碼學課程的混合式、參與式教學研究與實踐[J].計算機教育,2019(3):27-29.
【通聯編輯:王力】