【摘要】密碼學(xué)是信息安全專業(yè)的一門專業(yè)基礎(chǔ)課,密碼學(xué)課程設(shè)計(jì)是密碼學(xué)的重要組成部分。本文以密碼學(xué)課程設(shè)計(jì)的題目設(shè)計(jì)為出發(fā)點(diǎn),分析了目前信息安全本科專業(yè)實(shí)驗(yàn)課程的現(xiàn)狀,闡述了密碼學(xué)課程設(shè)計(jì)中題目設(shè)計(jì)應(yīng)充分地考慮密碼學(xué)學(xué)科的最新研究成果和計(jì)算機(jī)技術(shù)的發(fā)展現(xiàn)狀,并以此為原則,從實(shí)驗(yàn)內(nèi)容上提出了密碼學(xué)課程設(shè)計(jì)的內(nèi)容安排,為密碼學(xué)實(shí)踐教學(xué)提出了可行的方案。
【關(guān)鍵詞】密碼學(xué) 課程設(shè)計(jì) 教學(xué)改革 創(chuàng)新
【基金項(xiàng)目】本文系南京郵電大學(xué)通達(dá)學(xué)院教改項(xiàng)目(TD00411JG28)支持。
【中圖分類號(hào)】G64【文獻(xiàn)標(biāo)識(shí)碼】A 【文章編號(hào)】2095-3089(2013)01-0015-02
1.前言
隨著信息化時(shí)代的到來, 信息安全已成為信息化社會(huì)最重要與最關(guān)鍵的問題之一。同時(shí)。信息安全是一門國家重點(diǎn)發(fā)展的新興學(xué)科,是計(jì)算機(jī)科學(xué)與技術(shù)、通信工程、信息與計(jì)算科學(xué)等學(xué)科的交叉學(xué)科。南京郵電大學(xué)通達(dá)學(xué)院于2007年設(shè)立信息安全方向,隸屬于計(jì)算機(jī)科學(xué)與技術(shù)專業(yè),并于2012年設(shè)立獨(dú)立的信息安全專業(yè)。
密碼學(xué)作為信息與計(jì)算科學(xué)、信息安全等專業(yè)的專業(yè)基礎(chǔ)課,是信息安全的理論核心。作為信息安全專業(yè)的一門很重要的專業(yè)基礎(chǔ)課,密碼學(xué)對學(xué)生有非常高的要求。密碼學(xué)在具有寬廣深厚的理論基礎(chǔ)的同時(shí),也具有深刻的實(shí)踐應(yīng)用背景,具有很強(qiáng)的可操作性。
密碼學(xué)是一門理論性和實(shí)用性都很強(qiáng)的課程,具有很強(qiáng)的實(shí)踐性。實(shí)踐環(huán)節(jié)對幫助學(xué)生全面牢固地掌握課堂教學(xué)內(nèi)容、培養(yǎng)學(xué)生的實(shí)踐和實(shí)際動(dòng)手能力、提高學(xué)生全面素質(zhì)具有很重要的意義。密碼學(xué)課程設(shè)計(jì)是密碼學(xué)課程教學(xué)中的一項(xiàng)重要內(nèi)容,是完成教學(xué)計(jì)劃達(dá)到教學(xué)目標(biāo)的重要環(huán)節(jié),是教學(xué)計(jì)劃中綜合性較強(qiáng)的實(shí)踐教學(xué)環(huán)節(jié)。
2.密碼學(xué)課程設(shè)計(jì)中存在的問題
密碼學(xué)課程設(shè)計(jì)在密碼學(xué)課程中占有重要的地位。通過對各高校密碼學(xué)課程教學(xué)的了解,我們發(fā)現(xiàn)密碼學(xué)課程設(shè)計(jì)存在一些普遍的問題。以南京郵電大學(xué)通達(dá)學(xué)院為例,歸納如下:
(1)課程設(shè)計(jì)時(shí)間安排滯后。南京郵電大學(xué)通達(dá)學(xué)院密碼學(xué)課程的理論教學(xué)安排在大二的下半學(xué)期,而相應(yīng)的課程設(shè)計(jì)安排在大四上半學(xué)期,為期兩周。課程設(shè)計(jì)的時(shí)間嚴(yán)重滯后,眾多學(xué)生對于密碼學(xué)課程的基本概念、基本原理、基本方法都已經(jīng)比較模糊,需要花費(fèi)大量的時(shí)間和精力重新溫習(xí)教材的內(nèi)容。能夠從事具體編程實(shí)踐的時(shí)間大打折扣。
(2)課程設(shè)計(jì)內(nèi)容比較單薄。密碼學(xué)課程設(shè)計(jì)的實(shí)踐內(nèi)容通常是教材中的驗(yàn)證性實(shí)驗(yàn)。如DES(AES,IDEA等)算法、RSA(Elgamal)算法、Hash函數(shù)、各種簽名算法的實(shí)現(xiàn)等。不可否認(rèn)驗(yàn)證性實(shí)踐可以使學(xué)生對密碼學(xué)的原理、算法有清晰、深入的理解,并能更好地掌握密碼算法設(shè)計(jì)的機(jī)理和方法。但是固定陳舊的課程設(shè)計(jì)內(nèi)容,使得網(wǎng)絡(luò)中存在著大量的現(xiàn)成的、已有的源代碼,學(xué)生基本都可以通過Baidu、Google搜索到上述問題的解答,從而,根本無法取得密碼學(xué)課程設(shè)計(jì)原有的教學(xué)目標(biāo)。
(3)課程設(shè)計(jì)內(nèi)容陳舊,與實(shí)踐脫節(jié)。目前,密碼學(xué)課程設(shè)計(jì)的內(nèi)容還是僅局限教材的內(nèi)容,并沒有充分考慮具體的實(shí)踐背景。以RSA算法為例,教材中介紹的是基本的RSA算法,但是由于RSA算法的同態(tài)性,在實(shí)際的應(yīng)用中都是運(yùn)用的基于RSA的變型算法,如OAEP。內(nèi)容的陳舊不能很好的擴(kuò)寬學(xué)生的知識(shí)面和視野,并且也出現(xiàn)了教材的理論知識(shí)和具體的實(shí)踐應(yīng)用之間無法緊密銜接的問題,直接影響學(xué)生的積極性和學(xué)習(xí)興趣。
3.密碼學(xué)課程設(shè)計(jì)實(shí)驗(yàn)內(nèi)容探索
密碼學(xué)課程是一門理論和實(shí)踐課程相結(jié)合的課程。密碼學(xué)實(shí)踐教學(xué)包括密碼算法的驗(yàn)證實(shí)驗(yàn)和密碼算法的應(yīng)用實(shí)驗(yàn),這種實(shí)踐教學(xué)是集繼承和創(chuàng)新于一體的。我們在密碼學(xué)課程設(shè)計(jì)課程中,將把學(xué)生分成幾個(gè)小組, 課程設(shè)計(jì)的題目公布, 各個(gè)小組不重復(fù)的選擇可以完成的設(shè)計(jì)題目。學(xué)生在兩周的時(shí)間內(nèi)利用課堂和課外時(shí)間在查閱大量文獻(xiàn)的情況下完成該題目。題目完成后要求各個(gè)小組負(fù)責(zé)人答辯, 同時(shí)抽查詢問小組其他成員在設(shè)計(jì)中的具體分工和完成效果, 要求學(xué)生寫出高質(zhì)量的課程設(shè)計(jì)報(bào)告, 最后給出評定結(jié)果。
密碼學(xué)課程實(shí)踐從實(shí)驗(yàn)類型上可分為驗(yàn)證性和綜合性實(shí)驗(yàn),驗(yàn)證性實(shí)驗(yàn)主要是對對稱加密算法、公鑰算法和哈希函數(shù)等算法的驗(yàn)證,綜合性實(shí)驗(yàn)主要是數(shù)字簽名、保密性與認(rèn)證性和應(yīng)用安全等綜合實(shí)驗(yàn)。密碼學(xué)課程設(shè)計(jì)實(shí)驗(yàn)內(nèi)容的選擇設(shè)計(jì)至關(guān)重要。我們認(rèn)為密碼學(xué)課程設(shè)計(jì)的題目設(shè)計(jì)應(yīng)在依據(jù)密碼學(xué)理論教學(xué)內(nèi)容的基礎(chǔ)上,充分考慮密碼學(xué)學(xué)科的最新研究成果和計(jì)算機(jī)技術(shù)的發(fā)展現(xiàn)狀。我們在具體的密碼學(xué)課程設(shè)計(jì)中,以綜合性實(shí)驗(yàn)為主,盡量避免單純的驗(yàn)證性實(shí)驗(yàn),以防止學(xué)生能夠在網(wǎng)絡(luò)上找到現(xiàn)成的代碼,主要設(shè)計(jì)如下的5大類實(shí)驗(yàn)題目:
(1)對于分組密碼算法,我們不單純的讓學(xué)生實(shí)現(xiàn)DES算法、IDEA算法或者AES算法。而是以三個(gè)作為基礎(chǔ),讓學(xué)生采用不同的實(shí)現(xiàn)模式,如采用密碼分組鏈接模式和密碼反饋模式,對大的數(shù)據(jù)塊進(jìn)行加密與解密操作,并考察兩種模式的加密效率,和對明文、密文的錯(cuò)誤傳播進(jìn)行比較。通過該題目,可以使得學(xué)生熟練分組密碼的設(shè)計(jì)方法和實(shí)際的工作模式。
(2)對于公鑰密碼算法,我們不單純讓學(xué)生實(shí)現(xiàn)RSA算法或者Elgamal算法。因?yàn)橛捎诨镜腞SA算法由于同態(tài)性,所以在實(shí)際的應(yīng)用中,并不采用基本的RSA算法進(jìn)行加密。我們要求學(xué)生利用RSA-OAEP算法對給定的消息進(jìn)行加密。通過該題目,學(xué)生可以綜合的掌握大數(shù)庫的相關(guān)函數(shù)、RSA算法的相關(guān)算法(如歐幾里德算法、素判定算法等)和Hash函數(shù)的原理與實(shí)踐等。
(3)設(shè)計(jì)一個(gè)小型的公鑰密碼系統(tǒng)。公鑰密碼系統(tǒng)PKI的關(guān)鍵是對證書的管理,其中主要設(shè)計(jì)到數(shù)字簽名算法。該題目要求學(xué)生模擬一個(gè)公鑰密碼系統(tǒng)的證書管理過程,包括證書的生成、分發(fā)、取消等。其中簽名算法利用Schnorr算法。通過該題目,學(xué)生可以熟悉實(shí)際中PKI系統(tǒng)的運(yùn)行流程、并熟悉大數(shù)庫相關(guān)函數(shù)的操作,以及hash函數(shù)的相關(guān)編程等。
(4)密碼破解方面。主要對Windows操作系統(tǒng)的開機(jī)認(rèn)證的hash碼采用暴力破解和字典攻擊的方式破解。破解的優(yōu)化可以在兩個(gè)方面進(jìn)行考慮:一是利用時(shí)空折衷彩虹表的方式;在一個(gè)利用云計(jì)算下的MapReduce編程的方式。密碼口令的破解具有天然的可并行化處理的優(yōu)點(diǎn),而云計(jì)算對于并行化處理具有天然的優(yōu)勢。通過該題目,讓學(xué)生了解計(jì)算機(jī)科學(xué)最新的應(yīng)用現(xiàn)狀,理解掌握最新的應(yīng)用技術(shù),并熟悉hash函數(shù)的編程。
(5)密鑰協(xié)商算法的實(shí)現(xiàn)。它的安全性基于有限域上的離散對數(shù)難題,我們不要求學(xué)生實(shí)現(xiàn)基本的Diffie-Hellman算法,而是模擬實(shí)現(xiàn)端到端的密鑰協(xié)商協(xié)議生成相同的密鑰K。其中的驗(yàn)證算法利用HMAC算法。通過該題目,學(xué)生可綜合的熟悉大數(shù)庫相關(guān)函數(shù),以及基于Hash函數(shù)的MAC碼的設(shè)計(jì)等知識(shí)點(diǎn)。
4.結(jié)束語
密碼學(xué)課程設(shè)計(jì)是信息安全本科專業(yè)的一門重要的實(shí)踐課。但是,目前各高校的密碼學(xué)實(shí)驗(yàn)課普遍存在著開課滯后,課程設(shè)計(jì)題目單薄、局限性大,與實(shí)際的應(yīng)用相脫節(jié)等問題。因此綜合我校的實(shí)際情況,并充分結(jié)合密碼學(xué)學(xué)科的最新研究成果和計(jì)算機(jī)技術(shù)的發(fā)展現(xiàn)狀,提出了一系列具體的綜合性的密碼學(xué)課程設(shè)計(jì)題目。在幫助學(xué)生加深對密碼學(xué)具體算法設(shè)計(jì)方法、設(shè)計(jì)原理理解的基礎(chǔ)上,體會(huì)密碼學(xué)工具在具體安全問題上的綜合應(yīng)用,培養(yǎng)了學(xué)生的動(dòng)手能力,提高了學(xué)生的創(chuàng)新意識(shí)。
密碼學(xué)課程的教學(xué)改革不是一朝一夕就能完美地完成的,需要在教學(xué)實(shí)踐中不斷總結(jié)教學(xué)的特點(diǎn)和規(guī)律。教師如何在有限的學(xué)時(shí)數(shù)里, 確定好合適的課程設(shè)計(jì)題目,提高學(xué)生學(xué)習(xí)和探索的興趣,培養(yǎng)學(xué)生的實(shí)踐能力,是一個(gè)值得不斷深入探討和實(shí)踐的問題。
參考文獻(xiàn):
[1] 陳逢林. 密碼學(xué)實(shí)驗(yàn)課程的建設(shè)[J]. 安慶師范學(xué)院學(xué)報(bào)( 自然科學(xué)版),18(1),2012:108-111.
[2] 李曦. 密碼學(xué)課程實(shí)踐教學(xué)存在的問題及改進(jìn)措施[J]. 高等教育研究, 28(2), 2011:23-24.
[3] 呂秋云,趙澤茂,劉順蘭. 信息安全本科專業(yè)密碼學(xué)實(shí)驗(yàn)課程的教學(xué)研究[J]. 計(jì)算機(jī)教育,2009(15): 133-135.
[4] 李樹棟, 吳曉波. 密碼學(xué)課程教學(xué)設(shè)計(jì)與實(shí)驗(yàn)研究[J]. 甘肅科技, 25(1), 2009:153-155.
作者簡介:
王少輝(1977.7-),男,山東濰坊人,南京郵電大學(xué)計(jì)算機(jī)學(xué)院,講師。研究方向:信息安全,密碼學(xué)。
王志偉(1977.10-),男,江蘇揚(yáng)州人,南京郵電大學(xué)計(jì)算機(jī)學(xué)院,講師。研究方向:信息安全,密碼學(xué)。