楊建強(qiáng) 吳中博 李學(xué)鋒 鄭毅
摘? 要: 密碼學(xué)是“信息安全基礎(chǔ)”課程的重要教學(xué)內(nèi)容,但其對(duì)應(yīng)的實(shí)驗(yàn)卻比較難以設(shè)計(jì)。使用CrypTool設(shè)計(jì)了7個(gè)密碼學(xué)類(lèi)的實(shí)驗(yàn),囊括密碼學(xué)的重要知識(shí)點(diǎn),每個(gè)實(shí)驗(yàn)難易適度、工作量適中,非常適合用作“信息安全基礎(chǔ)”課程的密碼類(lèi)實(shí)驗(yàn)。使用結(jié)果表明,CrypTool明顯促進(jìn)了學(xué)生對(duì)密碼學(xué)相關(guān)知識(shí)的理解和掌握。
關(guān)鍵詞: CrypTool; 信息安全基礎(chǔ); 密碼學(xué); 實(shí)驗(yàn)
中圖分類(lèi)號(hào):G642.0? ? ? ? ? 文獻(xiàn)標(biāo)識(shí)碼:A? ? ?文章編號(hào):1006-8228(2021)09-88-04
Abstract: Cryptography is an important teaching content in the "Information Security Fundamentals" course, but its experiments are difficult to design. In this paper, seven cryptography experiments are designed by using CrypTool, which totally covers all the important cryptography knowledge points. Each experiment is moderately difficult, and its workload is moderate also, suitable for the cryptography experiments of the "Information Security Fundamentals" course. The results show that the use of CrypTool obviously promotes students' understanding and mastery of cryptography-related knowledge.
Key words: CrypTool; information security fundamentals; cryptography; experiment
0 引言
隨著萬(wàn)物互聯(lián)、5G、大數(shù)據(jù)時(shí)代的到來(lái),網(wǎng)絡(luò)信息安全正變得越來(lái)越重要,整個(gè)社會(huì)對(duì)信息安全人才的需求不斷增長(zhǎng)。很多高校的相關(guān)專(zhuān)業(yè)都開(kāi)設(shè)了信息安全基礎(chǔ)類(lèi)的課程[1],特別是計(jì)算機(jī)類(lèi)的專(zhuān)業(yè)。信息安全基礎(chǔ)課程具有很強(qiáng)的專(zhuān)業(yè)性和綜合性,教學(xué)內(nèi)容比較多,其中最重要的教學(xué)內(nèi)容是密碼學(xué),包括古典密碼、現(xiàn)代對(duì)稱(chēng)密碼、公鑰密碼、哈希函數(shù)和數(shù)字簽名等內(nèi)容。密碼學(xué)也被視為其他網(wǎng)絡(luò)信息安全技術(shù)的基礎(chǔ)[2]。信息安全基礎(chǔ)課程的實(shí)驗(yàn)中,通常有不少實(shí)驗(yàn)都與密碼學(xué)有關(guān)。以我校計(jì)算機(jī)類(lèi)專(zhuān)業(yè)開(kāi)設(shè)的“信息安全基礎(chǔ)”課程為例,8個(gè)實(shí)驗(yàn)中有3個(gè)都與密碼學(xué)有關(guān),分別是:對(duì)稱(chēng)密碼DES算法實(shí)踐、公鑰密碼RSA算法實(shí)踐、哈希函數(shù)及數(shù)字簽名。然而,因?yàn)槊艽a學(xué)理論性強(qiáng),概念呈現(xiàn)不夠直觀,同時(shí)在“信息安全基礎(chǔ)”課程中并不需要深入到密碼算法的具體細(xì)節(jié),所以信息安全基礎(chǔ)課程的密碼學(xué)類(lèi)實(shí)驗(yàn)是比較難設(shè)計(jì)的。本文基于CrypTool設(shè)計(jì)了7個(gè)密碼學(xué)類(lèi)實(shí)驗(yàn),用于“信息安全基礎(chǔ)”課程。
1 “信息安全基礎(chǔ)”課程中密碼學(xué)類(lèi)實(shí)驗(yàn)面臨的困境
對(duì)于“信息安全基礎(chǔ)”這樣的課程,在設(shè)計(jì)密碼學(xué)類(lèi)實(shí)驗(yàn)的內(nèi)容時(shí),通常有兩種做法。一種是編寫(xiě)密碼算法程序,另一種是利用實(shí)現(xiàn)了特定密碼算法的軟件工具進(jìn)行簡(jiǎn)單的算法驗(yàn)證。
對(duì)于第一種做法,由于密碼算法的原理都是比較復(fù)雜的,程序代碼量也比較大,所以,一般都會(huì)向?qū)W生提供基本完備的密碼算法程序源代碼,學(xué)生只需添加少量的關(guān)鍵代碼,完成程序的編譯鏈接,生成的程序能夠正常工作即可。但是,這樣的實(shí)驗(yàn)設(shè)計(jì)往往并不能實(shí)現(xiàn)實(shí)驗(yàn)的目標(biāo),只是讓學(xué)生熟悉相關(guān)密碼算法的原理。因?yàn)?,即使只需添加少量的代碼,學(xué)生也需要熟悉算法的幾乎所有細(xì)節(jié)、熟悉源代碼所使用的編程語(yǔ)言、讀懂算法的幾乎所有代碼才可以順利完成。這會(huì)讓學(xué)生花費(fèi)大量的時(shí)間,通常兩個(gè)學(xué)時(shí)的實(shí)驗(yàn)中無(wú)法有效、順利地完成實(shí)驗(yàn)任務(wù),而且,對(duì)于“信息安全基礎(chǔ)”這門(mén)課程來(lái)說(shuō),也是不必要的。畢竟該課程不同于信息安全專(zhuān)業(yè)的“密碼學(xué)”課程,后者會(huì)專(zhuān)門(mén)介紹各種密碼算法,其實(shí)驗(yàn)通常會(huì)深入到密碼算法的具體細(xì)節(jié)[3]。而“信息安全基礎(chǔ)”課程的主要目的是讓學(xué)生了解信息安全的基本知識(shí)、掌握常用的網(wǎng)絡(luò)信息安全技術(shù)。密碼學(xué)僅是其教學(xué)內(nèi)容的一部分,所以熟悉特定密碼算法的細(xì)節(jié)不應(yīng)該成為該課程的教學(xué)任務(wù)。
第二種做法通常只要求完成算法的驗(yàn)證操作,也就是數(shù)據(jù)的加密、解密、指紋計(jì)算或簽名驗(yàn)證等。有些工具可能會(huì)提供算法的關(guān)鍵步驟演示或互動(dòng)操作,但通常比較粗糙。這種實(shí)驗(yàn)設(shè)計(jì)難度過(guò)低,學(xué)生通常只需按部就班地操作即可完成任務(wù),對(duì)促進(jìn)學(xué)生理解算法的原理幾乎沒(méi)有幫助。
2 CrypTool簡(jiǎn)介
CrypTool是一個(gè)專(zhuān)門(mén)為學(xué)習(xí)密碼學(xué)而設(shè)計(jì)的免費(fèi)的開(kāi)源軟件。目前有四個(gè)版本,CrypTool 1、CrypTool 2、JCrypTool和CrypTool-Online[4]。其中CrypTool 1是使用最廣泛的版本,主要功能包括十多種古典密碼算法和重要的現(xiàn)代密碼算法的實(shí)現(xiàn),各種密碼算法分析方法,消息認(rèn)證、數(shù)字簽名等其他信息安全功能的實(shí)現(xiàn),以及若干安全協(xié)議的分步實(shí)現(xiàn)過(guò)程,重要密碼算法的交互式動(dòng)態(tài)演示等。
CrypTool 2和JCrypTool是CrypTool 1的后繼版本,提供了比CrypTool 1更加廣泛的功能。比如CrypTool 2允許對(duì)各種密碼算法進(jìn)行組合變換并得到可視化的結(jié)果,JCrypTool可以同時(shí)在Linux、Mac和Windows平臺(tái)上運(yùn)行,并允許編程者以插件的形式將新的密碼算法和協(xié)議添加到CrypTool中[5]。CrypTool-Online是在線(xiàn)版本(網(wǎng)址https://www.cryptool.org/en/cto/),無(wú)需安裝軟件,通過(guò)瀏覽器就能學(xué)習(xí)各種密碼算法及密碼分析技術(shù)等內(nèi)容。
對(duì)于“信息安全基礎(chǔ)”這門(mén)課程來(lái)說(shuō),CrypTool 1的功能已完全能夠滿(mǎn)足密碼學(xué)的教學(xué)需求,而CrypTool 2和JCrypTool提供的功能則屬于“超綱”內(nèi)容。所以,本文給出的密碼學(xué)類(lèi)實(shí)驗(yàn)都是基于CrypTool 1而設(shè)計(jì)的。
3 密碼學(xué)類(lèi)實(shí)驗(yàn)的設(shè)計(jì)
3.1 實(shí)驗(yàn)設(shè)計(jì)原則
密碼學(xué)并不是“信息安全基礎(chǔ)”課程的全部,其在該課程中的教學(xué)目標(biāo)是讓學(xué)生熟悉密碼算法的基本原理及應(yīng)用,初步了解破解密碼算法的一些方法。在設(shè)計(jì)基于CrypTool的密碼類(lèi)實(shí)驗(yàn)時(shí),應(yīng)該滿(mǎn)足以下幾個(gè)原則:①實(shí)驗(yàn)內(nèi)容要有代表性且與密碼學(xué)的某個(gè)重要知識(shí)點(diǎn)有關(guān);②以能夠促進(jìn)學(xué)生理解密碼學(xué)的某個(gè)重要知識(shí)點(diǎn)為目標(biāo);③實(shí)驗(yàn)內(nèi)容不能太難,不能“超綱”,也不能太簡(jiǎn)單;④實(shí)驗(yàn)內(nèi)容不能太繁重,也不能太少,最好在一個(gè)教學(xué)時(shí)段內(nèi)(通常2個(gè)學(xué)時(shí))完成;⑤CrypTool為完成實(shí)驗(yàn)任務(wù)提供了足夠多的動(dòng)手環(huán)節(jié)。
3.2 密碼類(lèi)實(shí)驗(yàn)項(xiàng)目及任務(wù)
⑴ 古典密碼實(shí)踐
本實(shí)驗(yàn)的目的是讓學(xué)生了解古典密碼的基本操作(置換和替代)及古典密碼的弱點(diǎn),同時(shí)也為學(xué)生理解現(xiàn)代對(duì)稱(chēng)密碼算法的原理打下基礎(chǔ)。實(shí)驗(yàn)任務(wù)包括:了解Caesar和Vigenère密碼的原理,使用Caesar和Vigenère密碼加密和解密文件。具體內(nèi)容如下。
① 通過(guò)Caesar密碼的演示動(dòng)畫(huà),了解Caesar密碼的原理。
② 選擇一個(gè)密鑰(代表移位數(shù)的字母),使用Caesar密碼對(duì)一個(gè)至少大部分內(nèi)容是英文字母的文本文件進(jìn)行加密,觀察加密后的文件內(nèi)容。然后,使用同樣的密鑰解密文件,確認(rèn)是否解密成功。使用Histogram分析工具分別計(jì)算明文和密文的字母頻率分布并進(jìn)行比較,找出明文和密文的字母頻率之間的對(duì)應(yīng)關(guān)系。
③ 通過(guò)Vigenère密碼的演示動(dòng)畫(huà),了解Vigenère密碼的原理。
④ 選擇一個(gè)密鑰,使用Vigenère密碼對(duì)一個(gè)至少大部分內(nèi)容是英文字母的文本文件進(jìn)行加密,觀察加密后的文件內(nèi)容。然后,使用同樣的密鑰解密文件,確認(rèn)是否解密成功。使用Histogram分析工具分別計(jì)算明文和密文的字母頻率分布并進(jìn)行比較,確認(rèn)明文和密文的字母頻率之間是否有明確的對(duì)應(yīng)關(guān)系。
⑵ 對(duì)稱(chēng)密碼DES算法實(shí)踐
本實(shí)驗(yàn)的目的是讓學(xué)生了解DES算法基本原理,進(jìn)而了解現(xiàn)代對(duì)稱(chēng)密碼算法的基本思想;了解壓縮和加密相結(jié)合時(shí)的正確做法,這種結(jié)合在后續(xù)的某些安全協(xié)議中會(huì)用到。實(shí)驗(yàn)任務(wù)包括:了解DES算法的流程,使用DES算法加密和解密文件,將壓縮和加密結(jié)合起來(lái)使用。具體內(nèi)容如下。
① 通過(guò)DES算法的流程可視化功能,了解DES算法的流程。
② 選擇一個(gè)密鑰,使用采用了某種工作模式(ECB或CBC)的DES算法加密一個(gè)包含有英文字符的文件(建議文本文件)并保存到磁盤(pán)上。使用同樣的密鑰和工作模式解密加密的文件,確認(rèn)是否解密成功。使用其他密鑰再解密一次并確認(rèn)是否成功。
③ 在②的基礎(chǔ)上,增加文件壓縮環(huán)節(jié),分別嘗試“先壓縮后加密文件”和“先加密后壓縮文件”。比較兩種操作結(jié)果文件的大小,確認(rèn)哪種方式效果更佳。最后完成文件的解密,確認(rèn)解密是否成功。
⑶ 對(duì)稱(chēng)密碼AES算法實(shí)踐
本實(shí)驗(yàn)的目的是讓學(xué)生了解AES算法的基本原理,進(jìn)而了解現(xiàn)代對(duì)稱(chēng)密碼算法的基本思想;了解壓縮和加密相結(jié)合時(shí)的正確做法,這種結(jié)合在后續(xù)的某些安全協(xié)議中會(huì)用到。實(shí)驗(yàn)任務(wù)包括:了解AES算法的流程,使用AES算法加密和解密文件,將壓縮和加密結(jié)合起來(lái)使用。具體內(nèi)容如下。
① 通過(guò)AES算法流程可視化功能,了解AES算法的流程。
提醒,CrypTool為AES提供了三種可視化功能,分別是算法流程演示動(dòng)畫(huà)(Animation)、算法探查(Inspector)和算法流程可視化(Flow Visualization)。后兩種深入到算法的細(xì)枝末節(jié),不適合作為實(shí)驗(yàn)內(nèi)容,故此處選擇Animation。
② 選擇一種密鑰長(zhǎng)度和一個(gè)密鑰,使用AES算法加密一個(gè)包含有英文字符的文件(建議文本文件)并保存到磁盤(pán)上。使用同樣的密鑰解密加密的文件,確認(rèn)是否解密成功。使用其他密鑰再解密一次并確認(rèn)是否成功。
③ 在②的基礎(chǔ)上,增加文件壓縮環(huán)節(jié),分別嘗試“先壓縮后加密文件”和“先加密后壓縮文件”。比較兩種操作結(jié)果的文件大小,確認(rèn)哪種方式效果更佳。最后完成文件的解密,確認(rèn)解密是否成功。
⑷ 公鑰密碼RSA算法實(shí)踐
本實(shí)驗(yàn)的目的是讓學(xué)生了解公鑰密碼RSA算法的原理,進(jìn)而認(rèn)識(shí)到公鑰密碼與現(xiàn)代對(duì)稱(chēng)密碼在實(shí)現(xiàn)機(jī)制上的不同。實(shí)驗(yàn)任務(wù)包括:熟悉RSA算法的構(gòu)造過(guò)程,破解RSA算法,使用RSA算法加密和解密文件。具體內(nèi)容如下。
① 在RSA算法演示界面(RSA Demonstration),通過(guò)交互式操作熟悉RSA算法的構(gòu)造過(guò)程;用構(gòu)造的RSA算法參數(shù)對(duì)輸入的文本進(jìn)行加密;解密加密后的密文,確認(rèn)解密是否成功。
為了加深對(duì)RSA算法原理的理解,應(yīng)要求學(xué)生:指定選擇素?cái)?shù)p和q的范圍,而不是使用默認(rèn)的范圍值;手工選擇公鑰e,禁止使用默認(rèn)選擇的值;至少實(shí)踐兩遍。
② 破解RSA算法:在RSA算法演示界面(RSA Demonstration),利用選擇的因子分解方法對(duì)在①中構(gòu)造的RSA模數(shù)進(jìn)行因子分解,然后利用分解得到的p和q以及已知的公鑰e破解私鑰d。
為了加深對(duì)大整數(shù)進(jìn)行因子分解的困難性的理解,在①的多次實(shí)踐中,應(yīng)要求至少有一次學(xué)生必須指定較大的p和q范圍值,以便得到較大的素?cái)?shù),比如值超過(guò)2127的素?cái)?shù)。
③ 使用RSA加密和解密文件:選擇一個(gè)RSA密鑰對(duì),使用RSA算法加密一個(gè)包含有英文字符的文件(建議文本文件)并保存到磁盤(pán)上。使用同樣的RSA密鑰解密加密的文件,確認(rèn)是否解密成功。確認(rèn)RSA加密和解密中各使用了密鑰對(duì)中的哪一個(gè)密鑰。使用其他RSA密鑰再解密一次并確認(rèn)是否成功。
⑸ Diffie-Hellman密鑰交換算法實(shí)踐
本實(shí)驗(yàn)的目的是讓學(xué)生了解公鑰密碼算法Diffie-Hellman的原理,進(jìn)而認(rèn)識(shí)到公鑰密碼未必用于加密,同時(shí)在一定程度上認(rèn)識(shí)到公鑰密碼與現(xiàn)代對(duì)稱(chēng)密碼在實(shí)現(xiàn)機(jī)制上的不同。實(shí)驗(yàn)任務(wù)包括:多次用Diffie-Hellman算法(或協(xié)議)完成通信雙方會(huì)話(huà)密鑰的交換,總結(jié)Diffie-Hellman算法的流程。
① 保持素?cái)?shù)p的默認(rèn)長(zhǎng)度設(shè)置,自動(dòng)生成較大的Diffie-Hellman算法參數(shù)p和g,自動(dòng)選擇通信雙方的私鑰,完成Diffie-Hellman算法流程。初步了解每一步的功能。
② 將素?cái)?shù)p的位長(zhǎng)度設(shè)置為較小的值(比如6位),自動(dòng)生成Diffie-Hellman算法參數(shù),自動(dòng)選擇通信雙方的私鑰,完成Diffie-Hellman算法流程。進(jìn)一步了解每一步的功能。
③ 將素?cái)?shù)p的位長(zhǎng)度設(shè)置為較小的值(如6位),自動(dòng)生成Diffie-Hellman算法參數(shù),手動(dòng)選擇通信雙方的私鑰,完成Diffie-Hellman算法流程。進(jìn)一步了解每一步的功能。
④ 手動(dòng)設(shè)置Diffie-Hellman算法參數(shù),手動(dòng)選擇通信雙方的私鑰,完成Diffie-Hellman算法流程。理解每一步的功能。
⑹ 哈希函數(shù)與數(shù)字簽名實(shí)踐
本實(shí)驗(yàn)的目的是讓學(xué)生了解哈希函數(shù)的特點(diǎn)和作用,以及公鑰密碼的簽名功能,熟悉RSA數(shù)字簽名的原理。實(shí)驗(yàn)任務(wù)包括:了解哈希函數(shù)的特點(diǎn)及功能,創(chuàng)建用于數(shù)字簽名的RSA密鑰對(duì),使用哈希函數(shù)和RSA算法對(duì)文檔進(jìn)行數(shù)字簽名并驗(yàn)證簽名是否正確。具體內(nèi)容如下。
① 在哈希函數(shù)演示界面(Hash Demonstration)中,使用不同的哈希函數(shù)計(jì)算打開(kāi)的文件(建議文本文件)的指紋(哈希值);對(duì)原始文件的內(nèi)容做少量修改,觀察其指紋的變化,以及原始文件的指紋和修改后文件的指紋的不同。
② 選擇RSA算法和RSA模數(shù)長(zhǎng)度,輸入個(gè)人名稱(chēng)及保護(hù)密鑰對(duì)的PIN,創(chuàng)建自己的RSA密鑰對(duì)。記下所生成的RSA模數(shù)n和公鑰e的十六進(jìn)制值。建議在Key identifier字段輸入PIN值,以方便密鑰對(duì)的使用。
③ 選擇某種哈希函數(shù)(比如SHA-1),選擇RSA作為簽名算法并選擇在②中創(chuàng)建的RSA密鑰對(duì),對(duì)一個(gè)文件(建議文本文件)進(jìn)行簽名。觀察簽名文件的內(nèi)容,保存簽名文件。確認(rèn)簽名時(shí)使用了RSA密鑰對(duì)中的哪一個(gè)密鑰。確認(rèn)②中PIN用于保護(hù)RSA密鑰對(duì)中的哪一個(gè)密鑰。
④ 驗(yàn)證文檔簽名:打開(kāi)在③中創(chuàng)建的簽名文件,分別使用在②中創(chuàng)建的RSA密鑰對(duì)和其他密鑰對(duì)驗(yàn)證簽名,確認(rèn)簽名是否正確。確認(rèn)驗(yàn)證簽名時(shí)使用了RSA密鑰對(duì)中的哪一個(gè)密鑰。
⑺ RSA-AES混合加密實(shí)踐
本實(shí)驗(yàn)的目的是讓學(xué)生了解對(duì)稱(chēng)密碼和公鑰密碼相結(jié)合時(shí)的典型做法。這種做法廣泛應(yīng)用在很多安全協(xié)議中。實(shí)驗(yàn)任務(wù)包括使用RSA-AES混合加密加密和解密文檔,總結(jié)混合加密的流程及要點(diǎn)。具體內(nèi)容如下。
① 在RSA-AES混合加密的交互式界面中,打開(kāi)一個(gè)文件(建議文本文件),生成一個(gè)會(huì)話(huà)密鑰,選擇一個(gè)RSA密鑰對(duì)。記錄下打開(kāi)的文件路徑及名字、會(huì)話(huà)密鑰、得到的RSA密鑰參數(shù)。然后完成對(duì)文件的混合加密,觀察原文件的內(nèi)容和加密后的內(nèi)容。確認(rèn)得到的RSA密鑰參數(shù)是公鑰還是私鑰。確認(rèn)會(huì)話(huà)密鑰和RSA密鑰參數(shù)與AES算法或RSA算法的關(guān)系。最后把加密后的結(jié)果保存到文件中。
② 打開(kāi)在①中生成加密文件,使用逐步解密功能(RSA-AES Decryption)對(duì)文件進(jìn)行解密,并確認(rèn)解密是否成功。確認(rèn)解密時(shí)使用了RSA密鑰對(duì)中的哪一個(gè)密鑰,記下這個(gè)密鑰。記下會(huì)話(huà)密鑰。確認(rèn)它們與在①中記錄的RSA密鑰參數(shù)值及會(huì)話(huà)密鑰是否相同。
③ 總結(jié)并用文字描述RSA-AES混合加密的解密及解密流程。
4 密碼類(lèi)實(shí)驗(yàn)的使用
以上共設(shè)計(jì)了七個(gè)基于CrypTool的密碼學(xué)類(lèi)的實(shí)驗(yàn),可用于“信息安全基礎(chǔ)”之類(lèi)的課程的實(shí)驗(yàn)中。除了第⑵、⑶個(gè)實(shí)驗(yàn)在實(shí)驗(yàn)?zāi)康暮腿蝿?wù)上有較大的重疊外,其他實(shí)驗(yàn)都是獨(dú)一無(wú)二的,僅與密碼學(xué)的某個(gè)重要的知識(shí)點(diǎn)有關(guān)。不同學(xué)校的“信息安全基礎(chǔ)”課程,教學(xué)內(nèi)容上會(huì)有或多或少的差異,對(duì)密碼學(xué)的要求也有不同,實(shí)驗(yàn)學(xué)時(shí)的多少也有不同,可以根據(jù)實(shí)際情況從本文提供的七個(gè)密碼類(lèi)實(shí)驗(yàn)中選擇相應(yīng)的實(shí)驗(yàn)。建議按如下順序進(jìn)行選擇:⑵(或⑶)、⑷、⑹、⑴、⑺、⑸。如果實(shí)驗(yàn)學(xué)時(shí)比較充裕,可以選擇全部七個(gè)實(shí)驗(yàn)。
本人在我校計(jì)算機(jī)科學(xué)與技術(shù)專(zhuān)業(yè)2018級(jí)本科兩個(gè)班級(jí)的“信息安全基礎(chǔ)”課程中,選擇⑵、⑷和⑹作為密碼學(xué)類(lèi)實(shí)驗(yàn)。實(shí)驗(yàn)中學(xué)生的積極性明顯高于往屆;實(shí)驗(yàn)后與學(xué)生交流,發(fā)現(xiàn)他們幾乎都準(zhǔn)確地理解了實(shí)驗(yàn)所涉及的重要密碼學(xué)概念。這表明CrypTool工具確實(shí)能夠促進(jìn)學(xué)生對(duì)密碼學(xué)知識(shí)的理解和掌握。
5 結(jié)束語(yǔ)
密碼學(xué)是“信息安全基礎(chǔ)”課程的重要教學(xué)內(nèi)容,在該課程的實(shí)驗(yàn)中,密碼學(xué)類(lèi)的實(shí)驗(yàn)通常也占有較大的比例。然而,密碼學(xué)類(lèi)實(shí)驗(yàn)卻又比較難以設(shè)計(jì)。本文根據(jù)密碼學(xué)學(xué)習(xí)工具CrypTool提供的功能設(shè)計(jì)了七個(gè)密碼學(xué)類(lèi)的實(shí)驗(yàn),涉及密碼學(xué)中的古典密碼、現(xiàn)代對(duì)稱(chēng)密碼、公鑰密碼、哈希函數(shù)、數(shù)字簽名、混合加密等知識(shí)點(diǎn),給出了每個(gè)實(shí)驗(yàn)的目的和任務(wù)。每個(gè)實(shí)驗(yàn)都是按照兩個(gè)學(xué)時(shí)的時(shí)間設(shè)計(jì)的,難易適度、工作量適中。這些實(shí)驗(yàn)項(xiàng)目較好地解決了“信息安全基礎(chǔ)”課程的密碼學(xué)類(lèi)實(shí)驗(yàn)的設(shè)計(jì)問(wèn)題,各個(gè)學(xué)校的“信息安全基礎(chǔ)”課程可根據(jù)需要從中選擇某些實(shí)驗(yàn)項(xiàng)目作為課程的實(shí)驗(yàn)。本文提供的實(shí)驗(yàn)僅用到CrypTool的第一個(gè)版本CrypTool 1,其后繼版本CrypTool 2提供了更多的功能。后續(xù)我們將根據(jù)CrypTool 2的功能,設(shè)計(jì)一些高階的密碼學(xué)類(lèi)實(shí)驗(yàn),為對(duì)密碼學(xué)有較高教學(xué)要求的信息安全類(lèi)課程的實(shí)驗(yàn)教學(xué)提供參考。
參考文獻(xiàn)(References):
[1] 黃達(dá)明,仲盛.本科信息安全教學(xué)研究最新進(jìn)展綜述[J].南京信息工程大學(xué)學(xué)報(bào)(自然科學(xué)版),2020.12(4):421-430
[2] William Stallings著.網(wǎng)絡(luò)安全基礎(chǔ):應(yīng)用于標(biāo)準(zhǔn)(第5版)[M].清華大學(xué)出版社,2015.
[3] 王后珍,張煥國(guó).密碼學(xué)課程建設(shè)及教學(xué)方法探討[J].高教學(xué)刊,2016.7:78-79
[4] The CrypTool Portal[2021-2-3].https://www.cryptool.org/en/
[5] 申麗君,王金雙,陳融,尤俊,袁志堅(jiān).CrypTool在密碼學(xué)教學(xué)中的應(yīng)用[J].計(jì)算機(jī)工程與科學(xué),2014.36(S1):208-211