摘要:密碼技術作為信息安全的核心技術之一,能有效保障信息的機密性、認證性、完整性和不可否認性。本文根據筆者在日本公立函館未來大學從事博士后研究的親身經歷,介紹該校面向計算機專業(yè)碩士生開設的密碼學課程的內容設置與教學方法。
關鍵詞:密碼學;課程設置;教學方法
中圖分類號:G642
文獻標識碼:A
1引言
密碼學能有效保障信息的機密性、認證性、完整性和不可否認性,是信息安全的核心技術之一,為信息安全提供了深刻的理論依據和豐富的應用實踐基礎。目前各大高校已為信息安全專業(yè)、計算機科學與技術、通信工程和信息與計算科學專業(yè)的本科生或研究生開設了密碼學課程,如北京大學、上海交通大學、哈爾濱工業(yè)大學、武漢大學、西安電子科技大學、電子科技大學等,也有一些教研論文發(fā)表[1-4]。然而,對于更多的高校,密碼學課程的教學卻處于探索階段。
公立函館未來大學(Future University-Hakodate)位于日本北海道函館市龜田中野町,始建于2000年,是一所以信息科學為特色的公立大學。該校有兩大學院(系統(tǒng)信息科學研究科和系統(tǒng)信息科學專業(yè))和三學部(信息建筑學科、復雜系統(tǒng)學科和系統(tǒng)信息科學部)。學校研究與教育涵蓋了以硬件為中心的計算機科學、認知科學、信息系統(tǒng)設計與復雜系統(tǒng)。雖建校不久,但該校的密碼學學科卻取得了驕人的成績,在高木剛(Tsuyoshi Takagi)教授的帶領下,在雙線性配對運算方向已到達國際先進水平。筆者在公立函館未來大學從事博士后研究期間,旁聽了高木剛教授面向計算機專業(yè)碩士生開始的密碼學課程,并和他交流了教學經驗及學術思想,感觸頗深。本文就該校密碼學課程設置與教學方法進行了描述和討論。
2密碼學課程的特點
作為信息安全和其他信息科學類專業(yè)的一門專業(yè)基礎課,密碼學課程具有以下特點[4]:
(1) 作用和地位十分重要。密碼學是實現(xiàn)保密通信和信息系統(tǒng)安全的主要技術手段和工具,信息安全的保密性、認證性、完整性和不可否認性等屬性都需要用密碼學的工具來完成。隨著計算機和計算機網絡在軍事、政務、金融、商業(yè)等部門的廣泛應用,社會對計算機的依賴越來越大,如果計算機系統(tǒng)的安全受到破壞,將導致社會的混亂并造成巨大損失。因此,確保計算機系統(tǒng)的安全已成為世人關注的社會問題并成為信息科學的熱點研究領域。密碼技術是信息安全的關鍵技術之一,幾乎所有的信息安全技術都應用到密碼技術。
(2) 覆蓋的內容多,涉及的數(shù)學知識多。由于發(fā)展歷史較長和研究問題的特殊性質,密碼學從基礎理論到實用算法,形成的內容和分支較多。例如,數(shù)字簽名體制就分為代理簽名體制、盲簽名體制、環(huán)簽名體制、群簽名體制等10余種簽名體制。同時,密碼學還涉及較多的數(shù)學知識,如數(shù)論、抽象代數(shù)、概率論、組合數(shù)學、計算復雜性和信息論等方面的知識。
(3) 與其他學科聯(lián)系廣泛。密碼學與其他學科具有廣泛聯(lián)系,這些學科包括應用數(shù)學、通信、計算機科學、信息處理等。從應用數(shù)學的角度看,密碼學是數(shù)論、抽象代數(shù)等理論的一種應用;從通信的角度看,密碼學是實現(xiàn)保密通信的一種技術手段;從計算機科學的角度看,密碼學是數(shù)據安全、計算機安全和網絡安全的研究內容;從信息處理的角度看,密碼是信息處理的一種形式。密碼學的研究內容決定了它的交叉性和廣泛性,這使得人們能從不同方面去研究密碼學,從而推動密碼學學科的不斷發(fā)展。各種數(shù)學和其他學科研究的新成果也會很快地應用于密碼學當中,例如基于橢圓曲線的加密和簽名方法、量子密碼和數(shù)字水印等。
(4) 實踐性很強。密碼學的研究目的就是解決實際生活當中的信息安全問題,例如提供保密性、認證性、完整性和不可否認性,這些屬性是信息社會中不可或缺的重要屬性,它們隨著計算機的普及,借助于密碼學的各種算法得以實現(xiàn)。因此,密碼學是一門實踐性很強的課程。只有理論聯(lián)系實際,才能把這門課程學好。
3密碼學課程教學內容的設置
公立函館未來大學的密碼學課程分為以下幾部分:
(1) 數(shù)學基礎:該部分講述整除、同余、模運算、歐幾里得算法、擴展的歐幾里得算法、歐拉函數(shù)、群、環(huán)、域和概率論等的基本概念。該部分的教學目的是使學生對密碼學所需的數(shù)學知識有個大概的了解,為以后的學習打下基礎。
(2) 密碼學基本概念:該部分講述密碼學的歷史、加密和隱私概念、密碼學的目標、攻擊模型、密碼協(xié)議和可證明安全性等。該部分的教學目的是使學生對密碼學有個總體的認識,為以后的學習打下基礎。
(3) 對稱密碼體制:該部分講述了流密碼和分組密碼體制。流密碼只是介紹了一些基本概念。分組密碼是本章的重點,主要講述了DES、AES和分組密碼的工作模式。該部分的教學目的是使學生對對稱密碼體制,尤其是分組密碼體制有深刻的認識,了解分組密碼設計原理和特點。
(4) 公鑰密碼體制:該部分講述公鑰密碼體制的概念、RSA公鑰密碼體制、ElGamal公鑰密碼體制、Rabin公鑰密碼體制、基于橢圓曲線的密碼體制和基于身份的密碼體制。該部分的教學目的是使學生對公鑰密碼體制有個深刻的理解,了解公鑰密碼體制與對稱密碼體制的區(qū)別。
(5) 數(shù)字簽名:該部分講述數(shù)字簽名的基本概念、RSA數(shù)字簽名、ElGamal數(shù)字簽名、數(shù)字簽名標準DSS、群簽名、代理簽名、盲簽名和環(huán)簽名等。該部分的教學目的是使學生掌握常用的數(shù)字簽名體制,掌握數(shù)字簽名體制的設計原理和特點,對特殊的數(shù)字簽名,如群簽名、代理簽名、盲簽名和環(huán)簽名有個初步的認識。
(6)Hash函數(shù):該部分講述Hash函數(shù)的基本概念、MD5、SHA、基于分組密碼的Hash函數(shù)和Hash函數(shù)的應用。該部分的教學目的是使學生掌握Hash函數(shù)的設計原理和要求,對MD5和SHA兩種重要Hash函數(shù)有個深刻理解。
(7) 密碼協(xié)議:該部分講述密鑰分配和密鑰交換、認證體制、零知識證明、電子選舉和電子現(xiàn)金等。該部分的教學目的是使學生對密碼應用有深刻的理解,對如何根據應用環(huán)境設計密碼協(xié)議有個基本的認識。
(8) 可證明安全性:該部分講述公鑰密碼和數(shù)字簽名的可證明安全性。包括公鑰加密體制的安全性概念、數(shù)字簽名體制的安全性概念、隨機預言模型、RSA-OAEP等。該部分的教學目的是使學生對可證明安全性知識有個初步認識,能夠對公鑰加密體制和數(shù)字簽名體制進行形式化證明。
4密碼學課程的教學方法
通過筆者在公立函館未來大學密碼學課程的學習,總結出如下教學方法:
(1) 注重數(shù)學知識的講解。學習密碼學需要用到很多數(shù)學知識,教師在教學中很重視數(shù)學知識的傳授,在第一章中專門講授了密碼學需要的數(shù)學知識。此外,教師在講授其他章節(jié)內容時也常常介紹一些數(shù)學知識,如在講授RSA算法時講授了模運算和復雜性理論。
(2) 注重講清各部分的區(qū)別與聯(lián)系,以便于學生掌握和記憶。密碼學課程涉及到很多概念,這些概念很難記憶。教師在教學中注重講解各種概念的區(qū)別與聯(lián)系,如對稱密碼體制和公鑰密碼體制的區(qū)別和聯(lián)系、公鑰加密體制和數(shù)字簽名體制的區(qū)別和聯(lián)系、分組密碼體制和流密碼體制的區(qū)別和聯(lián)系。通過這些講解,學生掌握和理解這些知識就容易多了。
(3) 注意講述歷史知識,激發(fā)學生興趣。密碼學涉及到很多有趣的歷史知識。在講授密碼的起源時,教師介紹了公元前五世紀斯巴達人使用的一種叫“天書”(Skytale)的器械。它用一根木棍,將羊皮條緊緊纏在木棒上,密信自上而下寫在羊皮條上,然后將羊皮條解開送出,只有把羊皮條重新纏在一根同樣直徑的木棍上,才能把密信的內容讀出來——這是最早的一種移位密碼。在講解公鑰密碼概念時,他們講解了Diffie和Hellman這兩位公鑰密碼開創(chuàng)者的生平,并將這兩位學者的照片給學生看。通過這些歷史知識的講解,學生對密碼學產生了濃厚的興趣。
(4) 注重與科研工作相結合。教師在教學中很注重與科研工作相結合。他們常常講到自己的科研項目與經歷,也常常將最新的研究成果帶到課堂,將最新的論文發(fā)給學生研讀,使學生對最新的研究方向有個初步認識。
(5) 注重總體理解。某些密碼學算法涉及的步驟很多,理解比較困難。如DES就涉及到了16輪變換,每輪都有置換和代換運算。教師在介紹該算法時注重總體算法的把握,先讓學生對該算法有個總體的認識,然后再講述每一步驟的詳細算法。
5結束語
本文介紹了日本公立函館未來大學面向計算機專業(yè)碩士生開設的密碼學課程的具體情況,包括課程內容設置與教學特點。希望能對我國密碼學課程有一定的啟發(fā)。
參考文獻:
[1] 沈瑛,鄭河榮. 密碼學課程的設計與實踐[J]. 溫州職業(yè)技術學院學報,2003,3(3):76-77.
[2] 段桂華,楊路明. 基于組件技術的密碼學理論與技術實驗教學方法[J]. 北京電子科技學院學報,2006,14(1):44-46.
[3] 丁勇. 信息與計算科學專業(yè)密碼學教學研究[J]. 桂林電子科技大學學報,2008,28(2):131-133.
[4] 李夢東. 密碼學課程設置與教學方法探究[J]. 北京電子科技學院學報,2007,15(3):61-66.
The Course Design of Cryptology and Its Teaching Method at Future University-Hakodate
LIFa-gen
(School of Computer Science and Engineering, University of Electronic Science and
Technology of China, Chengdu 610054,China)
Abstract: Cryptology is one of core techniques of information security. Cryptology can provides confidentiality, authentication, integrity, and non-repudiation. This paper describes course design and teaching method of cryptology in the major of computer science at Future University-Hakodate according to my experience.
Keywords: cryptology; course design; teaching method