《密碼學》課程教學方法和設計的探索論文
論文關鍵詞:密碼學 教學設計 信息安全
論文摘要:密碼技術作為信息安全的核心技術之一,能有效保障信息的私密性、認證性、完備性和不可否認性。針對本科密碼學課程的特點,結合南京工業(yè)大學信息與計算科學專業(yè)教學的實際,討論課程的教學方法問題:首先分析了密碼學課程的內容和特點;其次從知識體系、實踐環(huán)節(jié)、考核方式等幾個方面對教學方法和課時安排進行了探討和設計,并將其應用到密碼學課程的實際教學中,取得了較好的教學效果,為同行提供了一定的參考價值。
近年來,隨著信息安全技術的逐步深入人們的日常生活,對信息安全的理論和應用研究逐漸升溫。密碼技術作為信息安全的理論核心,也為越來越多的人所認可,因此近年來《密碼學》成為各類高等院校本科生信息類相關專業(yè)相繼開設的課程。我校也在2004年面向信息與計算科學專業(yè)2001級及其以后年級學生開設了《密碼學》的選修課程。本文通過總結作者近6年來在《密碼學》課程的教學經驗,從知識體系、實踐環(huán)節(jié)、考核方式等幾個方面對教學方法和課時安排進行了探討和設計,給出了教學總結和建議。
1密碼學課程的內容和特點
1.1密碼學課程的特點
密碼學作為一門比較新興的課程,是集數(shù)學、計算機科學以及通信與信息系統(tǒng)等多學科一體的交叉學科,涉及到的內容非常廣泛。從內容的聯(lián)系上講,密碼學可以說是多個學科的一個交匯點,這些學科包括:應用數(shù)學、通信、計算機應用、信息處理和電子電路技術等。從應用數(shù)學的角度看,密碼學是數(shù)論、抽象代數(shù)、計算復雜度等理論的一種應用;從通信的角度看,密碼學是保密通信和通信網(wǎng)絡安全的研究內容;從計算機應用的角度看,密碼學是數(shù)據(jù)安全、計算機安全和網(wǎng)絡安全的研究內容;從信息處理的角度看,密碼是信息處理的一種形式。密碼學的研究內容決定了它的交叉性和廣泛性,這使密碼學從不同的'方面得到研究,從而得以不斷發(fā)展。
1.2密碼學課程的內容
就密碼學內容而言,密碼學主要由密碼編碼學和密碼分析學兩部分組成。考慮到本科生的實際情況,我們選擇了相對偏重密碼編碼學的教材。我校采用的是由武漢大學出版社出版,張福泰教授主編的《密碼學教程》一書,該書是信息安全系列教材中的一個部分。
密碼學教材不論是外文版還是中文版在內容設置上主要包含兩大模塊:加密、認證J。加密部分主要分為古典密碼、私鑰密碼體制和公鑰密碼體制;認證部分主要包括數(shù)字簽名和雜湊函數(shù)、密碼協(xié)議等。各部分體系除了介紹相關的數(shù)學知識之外,主要介紹各種典型的密碼算法,比如:私鑰密碼體制主要以數(shù)據(jù)加密標準(DES)和高級加密標準(AES)為主;而公鑰密碼體制中,主要以基于大數(shù)分解困難問題的RSA算法、基于離散對數(shù)困難問題的E1Gamal算法和基于橢圓曲線(ECC)的密碼體制;在數(shù)字簽名方面,主要以RSA數(shù)字簽名、El—Gamal數(shù)字簽名和數(shù)字簽名標準(DSS)為主;密碼協(xié)議主要以密鑰管理協(xié)議、密秘分享協(xié)議和認證協(xié)議為主。這些內容涉及的知識背景和應用背景多,覆蓋面廣,實踐性強,如何合理處理好這些知識點,既要注意點到面,又要重點突出、深入淺出,這就為我們的教學提出了要求。
2教學實踐
目前的密碼學體系主要是建立在代數(shù)學知識基礎之上的,考慮到我校信息與計算科學專業(yè)的已經學過高等代數(shù)和離散數(shù)學,對群、環(huán)、域的知識已經比較熟悉,所以在密碼學課程的數(shù)學基礎介紹部分就會省下不少的課時。正是因為如此,我們的理論教學就更關注于如何讓學生建立密碼學的基本概念、基本模型以及基本理論,并最終達到信息安全的立體體系的建立。
我校信息與計算科學專業(yè)深知密碼學對信息學科的重要性,安排了48學時的教學,其中理論教學32學時,上機實驗12學時。下面就是我!睹艽a學》課程教學內容和課時分配的安排方案。
2.1理論教學
大致教學內容可以分為以下部分:
(1)密碼學概述(2學時)。這部分的主要內容包括:密碼學的基本概念、密碼學的體系結構、發(fā)展簡史和密碼學的應用等等。本部分目的是形成對密碼學整體框架的初步印象,為今后的學習打下基礎。在這一環(huán)節(jié)筆者認為讓學生對密碼學要產生興趣非常重要,所以對與密碼學的應用部分筆者采用了播放紀錄片“密碼在二戰(zhàn)中的重要作用”。事實證明,效果非常好。
(2)古典密碼體制(2學時)。這一章節(jié)的學習通過讓學生描述如果你古代的一個密碼學家,對于秘密信息的隱藏你會如果去做展開。從而引出代換密碼和置換密碼這兩大主線。實踐表明,這種讓學生自主創(chuàng)新的教學方法引起了學生特別大的學習興趣。
(3)現(xiàn)代分組密碼(10學時)。主要內容包括分組密碼的設計方法;DES、AES和IDEA加密算法。本部分首先在介紹完本章所需數(shù)學知識(有限域上的求模逆運算)的基礎上,筆者對與DES算法的學習采用了將學生4人一組的方式,并且選出小組負責人。讓他們先自習,如有疑問先小組內部討論,要求畫出DES算法的數(shù)據(jù)結構圖。小組內部解決不了的,再拿出來大家一起討論。這種學習方式有效的提高了學生的積極性,同時更培養(yǎng)和提高了他們的自學能力。
(4)流密碼(4學時)。主要內容包括流密碼的原理、有限狀態(tài)自動機、線性反饋移位寄存器、RC4和流密碼算法SNOW2.0。本部分目的是介紹流密碼的基本思想和方法?墒孪葴蕚浜孟嚓P代碼材料,課堂演示線性和非線性反饋移位寄存器等的實現(xiàn),效果很好。
(5)公鑰密碼體制(6學時)。主要內容包括公鑰密碼的原理;數(shù)學基礎知識;RSA公鑰密碼體制;E1Gamal公鑰密碼體制;D.H密鑰協(xié)商方案和橢圓曲線密碼體制。本部分主要介紹公鑰密碼的基本思想——單向函數(shù)的概念和應用和幾個加密算法。由于涉及數(shù)論中離散對數(shù)、大數(shù)分解、平方剩余概念的初步知識,而且相關的數(shù)學理論公式繁多,理解起來有一定難度。但這些數(shù)學理論應用到加密算法后,都有相應的快速算法,如RSA加密算法中有模密快速算法、大數(shù)分解算法,E1Gamal有簡單的離散對數(shù)算法,并且這些快速算法的程序代碼都已經很成熟,仍采用“結合代碼講解算法”的方法,從而利于學生的理解和接受。 (5)密鑰管理和Hash函數(shù)(4學時)。主要內容包括密鑰分配的模式;密鑰傳送;密鑰協(xié)商;密鑰托管;秘密共享以及Hash函數(shù)。這部分的重點是(t,n)門限秘密分享方案。需要講清楚多項式插值公式。
(6)數(shù)字簽名和雜湊函數(shù)(4學時)。內容包括:數(shù)字簽名的基本概念;RSA數(shù)字簽名方案;E1一Gamal數(shù)字簽名;Schnorr數(shù)字簽名;數(shù)字簽名標準(DSS)和橢圓曲線上的數(shù)字簽名方案。本部分目的是介紹數(shù)字簽名的原理和各種常見的基本算法。涉及的數(shù)學基礎與公鑰密碼相同。課堂實例教學過程中進行現(xiàn)場演示數(shù)字簽名的使用。另外,可以結合不同的應用環(huán)境,給學生多介紹不同的數(shù)字簽名,如代理簽名、盲簽名、群簽名等等,以更好地理解簽名的認證作用,同時也可以讓學生了解該研究方向的前沿知識。
(7)身份識別(2學時)。身份識別的概念;強調身份識別;身份識別協(xié)議;本部分目的是介紹身份識別的基本思想和常見協(xié)議。具體實驗是:驗證碼的使用,使學生感受到密碼學的思想其實就一直在我們身邊。
(8)認證理論與技術(2學時)。認證模型;認證常見的攻擊和對策;認證協(xié)議;Kerberos系統(tǒng)。本部分目的:介紹常見的認證攻擊、對策和具體實例。要求學生比較各種協(xié)議的優(yōu)缺點。
2.2實踐教學與畢業(yè)設計
密碼學是信息安全的基礎理論課程,同時又是一門實踐性很強的學科。在實踐教學方面,主要是以實驗和課程設計為主,其目的是讓學生了解各種密碼算法的設計和實現(xiàn),通過編程實現(xiàn)相應的密碼算法,深入理解密碼算法的步驟、設計思想,以及每一步對效率的影響。這其中尤其要求學生注意實際實現(xiàn)算法和理論算法之間的差距所在,以及在編程實現(xiàn)中應該注意的問題。
我校的實踐教學分為以下四個實驗環(huán)節(jié):
實驗一:Euclid算法實驗(2學時);
實驗二:DES算法實驗(4學時);
實驗三:RSA算法實驗(3學時);
實驗四:Difie—Hellman密鑰交換算法實驗(3學時)。
這些基礎實驗環(huán)節(jié)的實現(xiàn)過程,主要采用的是“一題一驗收”的方法。對于每個題目而言,學生在進行實驗之前都必須提前交好預習報告;在實驗完成之后,統(tǒng)一檢查,并形成驗證結果報告。對于工作量相對較多的實驗(二),筆者將學生分成4人一小組(和教學環(huán)節(jié)的小組是同一組),自由分工合作完成同一個實驗。這樣既提高了學生密碼學的知識熱情,也培養(yǎng)了學生的團體協(xié)作精神以及掌握軟件開發(fā)知識的興趣。在驗收實驗結果時,要求每組選出一個主答辯人進行答辯,而且還抽查小組其他成員在設計中的具體分工。最后根據(jù)理論課表現(xiàn)和實驗設計成績綜合評定學生成績。這種方法模擬了今后學生畢業(yè)后工作的模式,讓學生提前充分體驗,以做好應對以后工作的挑戰(zhàn)。
。痴n程考核
既然密碼學是一門專業(yè)選修課,這樣就有利于我們能夠采用靈活多樣的考核方式來對學生進行考核。我校這門課程的考核體系大體可分為這樣幾個部分:實踐環(huán)節(jié)(30%),科研能力(撰寫論文或報告情況)(20%),平時作業(yè)(10%),期末考試(40%)。我們通過這種方法全方位考察學生學習的綜合水平,從而帶動了學生整體素質的進一步提高。
4小結
本文針對本科現(xiàn)代密碼學課程的特點,結合我校信息與計算科學專業(yè)教學的實際,討論了本課程的教學方法問題:首先分析了密碼學課程的內容和特點;其次從知識體系、實踐環(huán)節(jié)、考核方式等幾個方面對教學方法和課時安排進行了探討和設計,并將其應用到我校密碼學課程的實際教學中,取得了較好的教學效果,為同行提供了一定的可參考價值。
【《密碼學》課程教學方法和設計的探索論文】相關文章:
《程序設計課程》教學方法的探索與實踐07-12
《環(huán)境保護》課程教學方法的實踐與探索論文12-02
鋼結構網(wǎng)絡課程的設計和探索09-03
園林測量課程教學方法探索10-10
新課程理念下初中化學教學方法探索論文12-17
數(shù)控編程課程項目教學方法的探索10-04
航道整治課程教學方法探索與實踐10-07