聶旭云, 陳大江, 熊 虎
(電子科技大學(xué) 信息與軟件工程學(xué)院,成都610054)
自從2017 年教育部高教司發(fā)布“關(guān)于開(kāi)展新工科研究與實(shí)踐的通知”以來(lái),面向新工科的教學(xué)改革成為當(dāng)前改革的重點(diǎn)[1-2].新工科人才培養(yǎng)模式注重更新人才培養(yǎng)理念、重構(gòu)培養(yǎng)目標(biāo)和知識(shí)結(jié)構(gòu)、轉(zhuǎn)變培養(yǎng)方式等[3].教育部《普通高等學(xué)校本科專業(yè)類教學(xué)質(zhì)量國(guó)家標(biāo)準(zhǔn)》指出,大學(xué)生本科專業(yè)教育質(zhì)量評(píng)價(jià)要突出學(xué)生中心、產(chǎn)出導(dǎo)向和持續(xù)改進(jìn),其中產(chǎn)出導(dǎo)向(outcomes-based education,OBE)是指教學(xué)過(guò)程和結(jié)果不能僅以知識(shí)傳授為重點(diǎn),而更應(yīng)注重學(xué)生能力的培養(yǎng)[1].目前,以O(shè)BE 為核心理念來(lái)指導(dǎo)教學(xué)目標(biāo)設(shè)計(jì)、改進(jìn)教學(xué)過(guò)程、完善評(píng)價(jià)方法已經(jīng)成為面向新工科的課程教學(xué)改革的主要方向.OBE 理念要求課程大綱制定要體現(xiàn)學(xué)生學(xué)習(xí)目標(biāo)以及如何通過(guò)有效評(píng)價(jià)來(lái)保障學(xué)生達(dá)到學(xué)習(xí)目標(biāo).隨著工程教育認(rèn)證的全面推行,推進(jìn)面向新工科的軟件工程專業(yè)課程教學(xué)改革,重新確定課程目標(biāo)與內(nèi)容,并將以學(xué)生為中心和面向產(chǎn)出的教學(xué)實(shí)踐落到實(shí)處,這是目前教學(xué)活動(dòng)中迫切需要解決的問(wèn)題[3].
信息安全數(shù)學(xué)基礎(chǔ)是網(wǎng)絡(luò)空間安全專業(yè)的必修基礎(chǔ)課程,一般開(kāi)設(shè)在大二上學(xué)期.它的內(nèi)容涵蓋數(shù)論、抽象代數(shù)中的整除、同余、群、環(huán)、域等理論.課程內(nèi)容涉及大量的概念、性質(zhì)和理論方法,作為工科大二學(xué)生學(xué)習(xí)這些知識(shí)有一定的難度.人們對(duì)如何提高信息安全數(shù)學(xué)基礎(chǔ)的教學(xué)效果進(jìn)行了大量的探索[4-9],但多數(shù)改進(jìn)方法都是圍繞著理論教學(xué)進(jìn)行.教師若僅采用傳統(tǒng)授課方法,注重概念的講解和理論的推導(dǎo),那么教學(xué)過(guò)程就會(huì)比較枯燥,學(xué)生的學(xué)習(xí)興趣也會(huì)大大降低.電子科技大學(xué)軟件工程(互聯(lián)網(wǎng)安全)專業(yè),遵循工程教育認(rèn)證和新工科教育的理念,參考其他院校的先進(jìn)經(jīng)驗(yàn)[10],探索并實(shí)踐了以算法為核心的信息安全數(shù)學(xué)基礎(chǔ)教學(xué)體系,對(duì)課程目標(biāo)和所支撐的畢業(yè)要求進(jìn)行了梳理,按照以算法為核心的教學(xué)思路,改進(jìn)了課程教材[11],提出了相應(yīng)的理論與實(shí)踐教學(xué)模式,培養(yǎng)學(xué)生的實(shí)踐能力和創(chuàng)新能力[12].
課程目標(biāo)的制定應(yīng)該自頂向下,從專業(yè)培養(yǎng)目標(biāo)和畢業(yè)要求的角度出發(fā)確定具體的教學(xué)目標(biāo),其中最為關(guān)鍵的一點(diǎn)是觀念轉(zhuǎn)變,課程目標(biāo)制定的出發(fā)點(diǎn)要由“教師想教什么”轉(zhuǎn)變?yōu)椤皩W(xué)生需要學(xué)什么”.其次,課程目標(biāo)的分解應(yīng)該使得教師能夠更好地對(duì)課程目標(biāo)的達(dá)成度進(jìn)行評(píng)價(jià)[2],應(yīng)由傳統(tǒng)的橫向分解轉(zhuǎn)變?yōu)榭v向分解,這也是基于OBE 課程教學(xué)改革的重要舉措.
信息安全數(shù)學(xué)基礎(chǔ)課程在電子科技大學(xué)軟件工程(互聯(lián)網(wǎng)安全)專業(yè)的整個(gè)課程體系當(dāng)中所支撐的畢業(yè)要求指標(biāo)點(diǎn)具體為“能夠采用科學(xué)的方法對(duì)軟件系統(tǒng)中的關(guān)鍵環(huán)節(jié),設(shè)計(jì)相應(yīng)的實(shí)驗(yàn)方案,搭建實(shí)驗(yàn)環(huán)境,開(kāi)展實(shí)驗(yàn)”.為了后續(xù)密碼學(xué)、網(wǎng)絡(luò)安全協(xié)議等課程的順利學(xué)習(xí),本課程要求學(xué)生掌握各類代數(shù)系統(tǒng)的結(jié)構(gòu)及其元素運(yùn)算的方法,搭建各類密碼算法和密碼系統(tǒng)實(shí)現(xiàn)的實(shí)驗(yàn)環(huán)境.
在2016年的信息安全數(shù)學(xué)基礎(chǔ)教學(xué)大綱中,課程目標(biāo)的分解是按照知識(shí)點(diǎn)的深入進(jìn)行的,如下所示:
CO1:對(duì)信息安全的基礎(chǔ)概念、基本數(shù)學(xué)方法等有一個(gè)基本了解,掌握數(shù)論基礎(chǔ)知識(shí);
CO2:掌握信息安全技術(shù)中的核心數(shù)學(xué)算法,數(shù)學(xué)環(huán)境構(gòu)造方法,掌握近世代數(shù)基礎(chǔ)知識(shí);
CO3:建立對(duì)信息安全技術(shù)的整體概念,了解經(jīng)典信息安全算法的數(shù)學(xué)困難問(wèn)題;
CO4:了解信息安全基礎(chǔ)算法,掌握安全性證明中的基礎(chǔ)數(shù)學(xué)問(wèn)題及方法.
上述分解更多的是從理論學(xué)習(xí)上去解構(gòu)信息安全數(shù)學(xué)基礎(chǔ)的知識(shí),不能很好地對(duì)畢業(yè)要求指標(biāo)點(diǎn)的達(dá)成起到支撐作用.因此,在2019年,課程組將課程目標(biāo)分解如下:
CO1:掌握密碼算法中的數(shù)論和抽象代數(shù)的基本概念和性質(zhì);
CO2:掌握各類代數(shù)結(jié)構(gòu)如整數(shù)模n剩余類環(huán)、模多項(xiàng)式剩余類環(huán)、有限域等的構(gòu)造方法和運(yùn)算規(guī)則;
CO3:掌握密碼算法實(shí)現(xiàn)的關(guān)鍵環(huán)節(jié)即數(shù)學(xué)基礎(chǔ)算法的原理,如數(shù)論中的大整數(shù)運(yùn)算、模指數(shù)運(yùn)算、有限域運(yùn)算等;
CO4:根據(jù)算法原理,設(shè)計(jì)實(shí)驗(yàn)方案,掌握并實(shí)現(xiàn)信息安全數(shù)學(xué)基礎(chǔ)相關(guān)算法.
從上述課程目標(biāo)縱向分解可以看出,本課程的課程目標(biāo)是遞進(jìn)式、可獨(dú)立評(píng)估的,可以將具體教學(xué)內(nèi)容、教學(xué)環(huán)節(jié)以及教學(xué)評(píng)估與課程目標(biāo)直接關(guān)聯(lián),同時(shí)課程達(dá)成度的評(píng)價(jià)也為本課程所支撐的畢業(yè)要求指標(biāo)點(diǎn)的達(dá)成度評(píng)價(jià)提供了依據(jù).
信息安全數(shù)學(xué)基礎(chǔ)核心知識(shí)分為兩大部分:數(shù)論和抽象代數(shù).這兩部分內(nèi)容關(guān)聯(lián)緊密,不可分割.通過(guò)數(shù)論中的實(shí)例來(lái)理解抽象代數(shù)中群、環(huán)、域的概念,反之,利用抽象代數(shù)中的理論來(lái)簡(jiǎn)化數(shù)論中相關(guān)定理的證明,從而促進(jìn)學(xué)生更好地理解這些數(shù)學(xué)理論.經(jīng)過(guò)多年的教學(xué)實(shí)踐,發(fā)現(xiàn)工科學(xué)生對(duì)如何實(shí)現(xiàn)數(shù)論和抽象代數(shù)中的相關(guān)算法更感興趣.通過(guò)實(shí)現(xiàn)這些數(shù)學(xué)算法,可以更容易地實(shí)現(xiàn)現(xiàn)有的密碼算法.因此,課程組圍繞RSA加密算法和ElGamal加密算法的基本原理和實(shí)現(xiàn)方法組織了教學(xué)內(nèi)容,并將數(shù)論和抽象代數(shù)這兩部分通過(guò)從n到p的演化聯(lián)系起來(lái).
2.2.1 數(shù)論教學(xué)內(nèi)容組織
本課程數(shù)論部分的教學(xué)從分析RSA公鑰加密算法出發(fā),利用問(wèn)題導(dǎo)向的方式引入數(shù)論相關(guān)知識(shí),結(jié)合RSA公鑰密碼算法的實(shí)現(xiàn)過(guò)程,熟悉并掌握相關(guān)的數(shù)學(xué)算法.RSA是目前最常用的一類公鑰密碼算法.通過(guò)RSA算法的實(shí)現(xiàn),可將數(shù)論部分的知識(shí)點(diǎn)和相關(guān)算法串聯(lián)起來(lái).以RSA公鑰加密算法為例,算法可分為兩部分,一是密鑰生成,二是加密和解密.
根據(jù)RSA的安全性要求,其公鑰長(zhǎng)度至少為1024比特,這個(gè)長(zhǎng)度已經(jīng)遠(yuǎn)遠(yuǎn)超出了程序語(yǔ)言中的長(zhǎng)整型的表達(dá)范圍,因而需要建立多精度數(shù)整數(shù)計(jì)算環(huán)境.從密鑰生成算法中可以看出,首先要產(chǎn)生兩個(gè)大素?cái)?shù)p和q,來(lái)得到正整數(shù)n.由于素?cái)?shù)的分布規(guī)律性不強(qiáng),因此需要采用素性檢測(cè)算法來(lái)生成,一般推薦使用Miller-Rabin素性檢測(cè)算法.公鑰的生成需要求模φ(n)下的逆元,這就需要用到擴(kuò)展的歐幾里得算法.
在RSA加密過(guò)程中,加密和解密均需要用到大整數(shù)的冪運(yùn)算,因此可采用重復(fù)平方乘算法、蒙哥馬利算法提高其效率.更進(jìn)一步,在解密過(guò)程中,因?yàn)槟?shù)n=pq為兩個(gè)素?cái)?shù)的乘積,因此可用中國(guó)剩余定理來(lái)加速其解密過(guò)程.
綜上所述,實(shí)現(xiàn)RSA算法需要掌握和理解的算法主要有多精度數(shù)運(yùn)算、擴(kuò)展的歐幾里得算法、素性檢測(cè)、大整數(shù)模冪運(yùn)算以及中國(guó)剩余定理等,如圖1所示.
圖1 RSA算法實(shí)現(xiàn)所涉及的知識(shí)點(diǎn)和算法
因此,數(shù)論部分從整除概念出發(fā),引出最大公因數(shù)、素?cái)?shù)的概念,通過(guò)帶余除法給出多精度整數(shù)的表示以及相應(yīng)的加減乘除算法,同時(shí)通過(guò)整除和帶余除法給出同余的概念,進(jìn)而構(gòu)造模整數(shù)的剩余類集合,討論該集合及元素的性質(zhì),給出模整數(shù)的冪運(yùn)算加速算法以及解同余方程的中國(guó)剩余定理等.這里重點(diǎn)要掌握的算法是多精度數(shù)運(yùn)算、擴(kuò)展的歐幾里得算法、素性檢測(cè)、重復(fù)平方乘算法以及中國(guó)剩余定理算法,如圖2所示.
圖2 數(shù)論部分主要知識(shí)點(diǎn)及相關(guān)算法
2.2.2 抽象代數(shù)教學(xué)內(nèi)容組織
本課程抽象代數(shù)部分從分析有限域上的ElGamal公鑰加密體制出發(fā).這里稍微對(duì)傳統(tǒng)的ElGamal加密算法做了改動(dòng).傳統(tǒng)的ElGamal加密算法是定義在有限域p上的,由于教學(xué)需要,課程組將ElGamal加密算法推廣到p的擴(kuò)域Fpn上.ElGamal加密算法也分為兩部分,一是密鑰生成,二是加密和解密.為了實(shí)現(xiàn)一個(gè)Fpn域上的ElGamal加密體制,首先要建立好算法的計(jì)算環(huán)境,即要構(gòu)造出Fpn域,定義其加法、乘法和求逆運(yùn)算,這里需要用到多項(xiàng)式同余、多項(xiàng)式求逆(擴(kuò)展的歐幾里得算法).其次要找到域Fpn中的乘法群的生成元,這里需要利用到循環(huán)群中元素的階的判定及尋找生成元的算法.最后,計(jì)算公鑰還需要使用重復(fù)平方乘算法.運(yùn)算環(huán)境搭建好之后,加密和解密算法僅涉及到用重復(fù)平方乘算法來(lái)計(jì)算冪運(yùn)算以及用多項(xiàng)式擴(kuò)展的歐幾里得算法來(lái)求元素的逆.如圖3所示.
圖3 ElGamal算法實(shí)現(xiàn)所涉及的知識(shí)點(diǎn)及算法
因此,抽象代數(shù)部分由分析整數(shù)集合和整數(shù)模n剩余類集合出發(fā),引出群、環(huán)、域的定義和性質(zhì),給出循環(huán)群的結(jié)構(gòu),理想和剩余類環(huán)的定義及性質(zhì)等.構(gòu)造素域上的多項(xiàng)式環(huán),類似于整數(shù)集合當(dāng)中的整除和同余理論,給出相應(yīng)的概念和理論分析,如帶余除法、最大公因式、不可約多項(xiàng)式、多項(xiàng)式同余等.在多項(xiàng)式環(huán)的基礎(chǔ)之上,給出有限域的構(gòu)造,包括元素的表示方法、運(yùn)算規(guī)則等.這里重點(diǎn)要掌握的是循環(huán)群的生成元的尋找算法、多項(xiàng)式相關(guān)算法(如多項(xiàng)式的加減乘除、同余求逆等)、有限域中元素的運(yùn)算算法等,如圖4所示.
圖4 抽象代數(shù)部分主要知識(shí)點(diǎn)
信息安全數(shù)學(xué)基礎(chǔ)的實(shí)踐教學(xué)遵循由點(diǎn)及面、循序漸進(jìn)的原則,首先利用課程實(shí)驗(yàn)搭建必要的實(shí)驗(yàn)環(huán)境,如大整數(shù)運(yùn)算環(huán)境、有限域運(yùn)算環(huán)境等,其次,利用綜合課程設(shè)計(jì)將課程內(nèi)容和主要知識(shí)點(diǎn)串聯(lián)起來(lái),并采用研討的方式,擴(kuò)展教學(xué)內(nèi)容,為進(jìn)一步參加創(chuàng)新項(xiàng)目和學(xué)科競(jìng)賽奠定基礎(chǔ).
課程實(shí)驗(yàn)的主要目的是培養(yǎng)學(xué)生設(shè)計(jì)實(shí)驗(yàn)方案,搭建實(shí)驗(yàn)環(huán)境,開(kāi)展實(shí)驗(yàn)的能力.本課程的課程實(shí)驗(yàn)一共4個(gè)算法,8個(gè)學(xué)時(shí).這4個(gè)算法分別為多精度整數(shù)運(yùn)算算法、模大整數(shù)重復(fù)平方乘算法、多項(xiàng)式擴(kuò)展的歐幾里得算法和有限域的運(yùn)算算法.課程實(shí)驗(yàn)采取實(shí)驗(yàn)室集體教學(xué),提交實(shí)驗(yàn)報(bào)告作為考核依據(jù).
電子科技大學(xué)軟件工程(互聯(lián)網(wǎng)安全)專業(yè)的綜合課程設(shè)計(jì)是獨(dú)立的實(shí)踐教學(xué)環(huán)節(jié),層次遞進(jìn),前后銜接,分為綜合課程設(shè)計(jì)I、II、III,分別在第三、四、五學(xué)期執(zhí)行[13].信息安全數(shù)學(xué)基礎(chǔ)的綜合設(shè)計(jì)屬于綜合設(shè)計(jì)I階段,是專業(yè)大二上學(xué)期學(xué)生的必修環(huán)節(jié),其主要目的是培養(yǎng)學(xué)生進(jìn)行分析文獻(xiàn)、選擇解決方案的能力.課程組選擇RSA加密算法的實(shí)現(xiàn)和有限域上ElGamal加密算法的實(shí)現(xiàn)作為綜合設(shè)I的題目.綜合設(shè)計(jì)I題目發(fā)布后,學(xué)生自由組隊(duì),一般4-6個(gè)學(xué)生一組.綜合設(shè)計(jì)采取課下討論形式完成.指導(dǎo)教師在綜合課程設(shè)計(jì)開(kāi)展之前,需要制定任務(wù)書,給出總體要求、實(shí)施建議和預(yù)期成果等.綜合課程設(shè)計(jì)開(kāi)展初期,學(xué)生在教師的指導(dǎo)下進(jìn)行相關(guān)文獻(xiàn)查閱和研討,制定工作計(jì)劃,完成小組分工,提出重點(diǎn)要解決的問(wèn)題和可能的解決方案.在綜合課程設(shè)計(jì)實(shí)施過(guò)程中,教師和小組成員定期進(jìn)行討論,以學(xué)生為主導(dǎo),指導(dǎo)教師參與,給出進(jìn)展建議,協(xié)助解決關(guān)鍵技術(shù)問(wèn)題.
課程評(píng)價(jià)分為兩個(gè)部分,一是課程目標(biāo)達(dá)成評(píng)價(jià),二是畢業(yè)要求達(dá)成評(píng)價(jià).
課程的四個(gè)課程目標(biāo)在整體評(píng)價(jià)中分別賦予相應(yīng)的權(quán)重,然后根據(jù)期中測(cè)試、期末考試和實(shí)驗(yàn)報(bào)告來(lái)綜合評(píng)價(jià).期末考試試題分別從概念、結(jié)構(gòu)和算法三個(gè)層面來(lái)考察學(xué)生的掌握情況,課程實(shí)驗(yàn)評(píng)價(jià)依據(jù)由實(shí)驗(yàn)報(bào)告給出實(shí)驗(yàn)成績(jī),共分為4個(gè)部分:實(shí)驗(yàn)?zāi)康募霸?、?shí)驗(yàn)內(nèi)容及步驟、實(shí)驗(yàn)結(jié)果及分析以及實(shí)驗(yàn)報(bào)告質(zhì)量.對(duì)課程目標(biāo)和畢業(yè)要求指標(biāo)點(diǎn)的達(dá)成主要通過(guò)實(shí)驗(yàn)報(bào)告前三個(gè)部分評(píng)價(jià)來(lái)支撐.
課程目標(biāo)評(píng)價(jià)如表1所示:
表1 《信息安全數(shù)學(xué)基礎(chǔ)》課程達(dá)成度評(píng)價(jià)表
對(duì)畢業(yè)要求指標(biāo)點(diǎn)達(dá)成度的評(píng)價(jià),主要通過(guò)課程目標(biāo)3和課程目標(biāo)4來(lái)完成.如表2所示.
表2 《信息安全數(shù)學(xué)基礎(chǔ)》課程畢業(yè)要求指標(biāo)點(diǎn)達(dá)成度評(píng)價(jià)表
綜合課程設(shè)計(jì)的評(píng)價(jià)與課程評(píng)價(jià)分開(kāi),獨(dú)立評(píng)價(jià).綜合設(shè)計(jì)注重形成性評(píng)價(jià),即綜合考查學(xué)生在課題實(shí)施過(guò)程中各方面能力的體現(xiàn),如文獻(xiàn)綜述、需求分析、算法設(shè)計(jì)與實(shí)現(xiàn)、報(bào)告撰寫、現(xiàn)場(chǎng)答辯等,結(jié)合綜合課程設(shè)計(jì)報(bào)告來(lái)對(duì)學(xué)生的能力和素質(zhì)進(jìn)行綜合評(píng)價(jià).綜合課程設(shè)計(jì)I執(zhí)行周期為15周,考核分為兩個(gè)階段三個(gè)部分,一是中期考核,綜合課程設(shè)計(jì)執(zhí)行10周左右,學(xué)生提交中期報(bào)告,由指導(dǎo)教師進(jìn)行檢查,了解學(xué)生的課題完成度和問(wèn)題分析能力,并根據(jù)中期報(bào)告進(jìn)行評(píng)價(jià);二是期末答辯,在學(xué)期期末,學(xué)生完成綜合課程設(shè)計(jì)并撰寫課程設(shè)計(jì)報(bào)告,學(xué)院組織專家對(duì)綜合課程設(shè)計(jì)進(jìn)行答辯評(píng)審,主要考察課題的完成情況和學(xué)生的總結(jié)報(bào)告撰寫情況.期末答辯前,指導(dǎo)教師還將根據(jù)每周討論情況給出學(xué)生的平時(shí)成績(jī),并對(duì)設(shè)計(jì)報(bào)告進(jìn)行評(píng)價(jià),將平時(shí)成績(jī)、中期考核成績(jī)和報(bào)告評(píng)價(jià)成績(jī)提交給專家組,由專家組結(jié)合答辯成績(jī)進(jìn)行統(tǒng)分,給出最終的考核成績(jī).考核成績(jī)中,平時(shí)成績(jī)占20%,中期考核占20%,期末答辯占30%,總結(jié)報(bào)告占30%.
本課程自2019年開(kāi)始實(shí)施以算法為核心的教學(xué)改革實(shí)踐.與2018年相比,課程考核加大了實(shí)驗(yàn)環(huán)節(jié)所占考核比重,在平時(shí)成績(jī)中從25%提升到了50%.從表3中可以看出,CO3和CO4的達(dá)成度顯著提高,這也說(shuō)明學(xué)生的實(shí)踐能力得到了提升.
表3 2019年課程達(dá)成度評(píng)價(jià)及對(duì)比分析
畢業(yè)要求指標(biāo)點(diǎn)達(dá)成度評(píng)價(jià)也從0.732提升到了0.801方面,如表4所示.
表4 2019年畢業(yè)要求指標(biāo)點(diǎn)達(dá)成度評(píng)價(jià)及對(duì)比分析
此外,從圖5中可以看出,在經(jīng)過(guò)教學(xué)改革后,70分以上占比從55%提升到了64%,一定程度上也反映了學(xué)生的學(xué)習(xí)興趣有所提升.
圖5 信息安全數(shù)學(xué)基礎(chǔ)2018年和2019年成績(jī)分段統(tǒng)計(jì)對(duì)比
電子科技大學(xué)軟件工程(互聯(lián)網(wǎng)安全)專業(yè)信息安全數(shù)學(xué)基礎(chǔ)自2019年開(kāi)始實(shí)施以算法為核心的教學(xué)改革.教學(xué)改革符合工程教育認(rèn)證理念,使課程教學(xué)從知識(shí)教學(xué)向能力培養(yǎng)轉(zhuǎn)變.教學(xué)實(shí)踐表明,提高了學(xué)生的學(xué)習(xí)興趣和實(shí)踐能力.未來(lái),課程組將以全國(guó)高校密碼數(shù)學(xué)挑戰(zhàn)賽為載體[14],擴(kuò)展課程設(shè)計(jì)內(nèi)容,為學(xué)生參加此類競(jìng)賽打下堅(jiān)實(shí)的基礎(chǔ).
致謝作者非常感謝相關(guān)文獻(xiàn)對(duì)本文的啟發(fā)以及審稿專家提出的寶貴意見(jiàn).