摘要:本文針對(duì)“信息安全數(shù)學(xué)基礎(chǔ)”課程教學(xué)中存在的問題和困境,結(jié)合教學(xué)實(shí)踐經(jīng)驗(yàn),給出幾個(gè)課程教學(xué)案例,對(duì)激發(fā)學(xué)生學(xué)習(xí)興趣,提高課程教學(xué)質(zhì)量具有積極的借鑒意義。
關(guān)鍵詞:案例教學(xué);信息安全數(shù)學(xué)基礎(chǔ);密碼學(xué)
在當(dāng)今的信息時(shí)代,信息已成為國(guó)家的重要戰(zhàn)略資源。信息的安全直接關(guān)系到一個(gè)國(guó)家的政治穩(wěn)定、經(jīng)濟(jì)發(fā)展和社會(huì)進(jìn)步。為加強(qiáng)對(duì)信息安全人才的培養(yǎng),我國(guó)教育部、科技部、信息產(chǎn)業(yè)部、國(guó)防科工委、國(guó)家自然科學(xué)基金都把“信息安全”作為優(yōu)先發(fā)展的領(lǐng)域。2001年以來(lái)國(guó)內(nèi)已有50多所高等院校建立了信息安全本科專業(yè),部分院校還設(shè)立了信息安全相關(guān)的碩士點(diǎn)、博士點(diǎn)。而“未來(lái)的信息戰(zhàn)爭(zhēng)在某種程度上是數(shù)學(xué)的戰(zhàn)爭(zhēng)”,數(shù)學(xué)在信息安全中占有非常重要的地位。如信息安全模型的建立、密碼體制的設(shè)計(jì)、安全性證明以及對(duì)密碼體制的形式化分析和密碼分析,涉及數(shù)論、代數(shù)、組合數(shù)學(xué)、橢圓曲線理論等方面的知識(shí),而這些數(shù)學(xué)知識(shí)是學(xué)生在“高等數(shù)學(xué)”、“線性代數(shù)”、“概率統(tǒng)計(jì)”等工科必修數(shù)學(xué)課程中沒有學(xué)習(xí)過的。因此考慮到相關(guān)數(shù)學(xué)基礎(chǔ)知識(shí)在信息安全專業(yè)學(xué)習(xí)中的重要性,絕大部分院校在各自的信息安全專業(yè)人才培養(yǎng)方案中都將“信息安全數(shù)學(xué)基礎(chǔ)”課程作為一門專業(yè)必修課。[1]
1課程現(xiàn)狀
筆者自本校2004年設(shè)立信息研究與安全本科專業(yè)以來(lái),已連續(xù)講授了3屆本科生的“信息安全數(shù)學(xué)基礎(chǔ)”課程,并編寫了《信息安全數(shù)學(xué)基礎(chǔ)》教材(國(guó)防工業(yè)大學(xué)出版社2009年3月出版),積累了比較豐富的授課經(jīng)驗(yàn),希望能與大家共享。
由于“信息安全數(shù)學(xué)基礎(chǔ)”課程課時(shí)緊、內(nèi)容多、
難度大,各個(gè)知識(shí)點(diǎn)之間缺少聯(lián)系,是對(duì)數(shù)論、近世代數(shù)、橢圓曲線理論等數(shù)學(xué)專業(yè)知識(shí)的簡(jiǎn)單集成和壓縮,理解起來(lái)比較困難。筆者在教學(xué)過程中邊摸索邊改進(jìn),注重?cái)?shù)學(xué)理論的引入,介紹相關(guān)知識(shí)的實(shí)際背景和科學(xué)史實(shí),激發(fā)學(xué)生的學(xué)習(xí)興趣,避免學(xué)生學(xué)習(xí)的盲目性。尤其是筆者在教學(xué)過程中集中體現(xiàn)啟發(fā)式教學(xué)的理念,大量使用案例教學(xué),將枯燥無(wú)味的數(shù)學(xué)理論知識(shí)做成實(shí)踐—理論—實(shí)踐的三明治,色、香、味俱全,使學(xué)生“吃”起來(lái)津津有味,很好的調(diào)動(dòng)了學(xué)生的積極性和主動(dòng)性,使課堂氣氛活躍,充分體現(xiàn)了學(xué)生的主體地位和老師的主導(dǎo)作用。學(xué)生不僅輕松愉悅的掌握了教材中的數(shù)學(xué)知識(shí),還主動(dòng)在課后閱讀其他參考資料,收到了很好的學(xué)習(xí)效果。以下是筆者在教學(xué)過程中使用的教學(xué)案例,希望能起到拋磚引玉的作用。[2]
2教學(xué)過程中的幾個(gè)案例
2.1單向函數(shù)概念教學(xué)案例
T:(幻燈片)兩個(gè)朋友Alice和Bob想在晚上一起外出,但他們定不下來(lái)是去電影院還是歌劇院。于是他們達(dá)成一個(gè)通過投擲硬幣來(lái)決定的協(xié)議。Alice拿著一枚硬幣并對(duì)Bob說:“你選擇一面,然后我來(lái)拋”。Bob選擇后,Alice把硬幣拋向空中。然后他們都注視硬幣,看結(jié)果是哪一面朝上。如果Bob選擇的那面朝上,則他就可決定要去的地方,否則由Alice決定。
作者簡(jiǎn)介:秦艷琳(1980-),女,講師,博士研究生,研究方向?yàn)樾畔踩c密碼學(xué)。
現(xiàn)在假想這兩個(gè)朋友嘗試在電話上執(zhí)行上述協(xié)議,Alice向Bob說:“你選一面,然后我拋硬幣并告訴你是否贏”。
向?qū)W生提問Bob能否接受Alice的提議?
S:(共同回答) Bob顯然不會(huì)同意,因?yàn)樗荒茯?yàn)證Alice拋擲硬幣的結(jié)果,也即Alice為了達(dá)到自己的目的可以給出虛假的拋硬幣結(jié)果。
T:解決上述問題的方法之一是:我們可以在這個(gè)協(xié)議中加入一個(gè)奇妙的數(shù)學(xué)函數(shù)——單向函數(shù),把它變成一個(gè)適合在電話上工作的密碼協(xié)議。
(幻燈片)單向函數(shù)f是滿足以下條件的一類函數(shù):
(I) 對(duì)任意整數(shù)x,由x計(jì)算f(x)是容易的,而給出f(x),要找出對(duì)應(yīng)的原像x是不可能的,不管x是奇數(shù)還是偶數(shù)。
(II) 不可能找出一對(duì)整數(shù)(x,y),滿足x≠y且f(x)=f(y)。
T:假定兩個(gè)朋友已經(jīng)就奇妙函數(shù)f(x)達(dá)成了一致,并一致同意用偶數(shù)x來(lái)表示“正面”,用奇數(shù)x代表“背面”,然后進(jìn)行如下步驟(幻燈片):
(1)Alice選擇一個(gè)大隨機(jī)數(shù)x并計(jì)算f(x),然后通過電話告訴Bob f(x)的值;
(2)Bob告訴Alice自己對(duì)x的奇偶性猜測(cè);
(3)Alice告訴Bob x的值;
(4)Bob驗(yàn)證f(x)并察看他所做的猜測(cè)是正確或是錯(cuò)誤。
T:請(qǐng)同學(xué)結(jié)合單向函數(shù)的性質(zhì)來(lái)對(duì)上述協(xié)議的有效性進(jìn)行分析
S:展開小組討論。
T:請(qǐng)×××同學(xué)回答。(學(xué)生回答不夠全面)
T:還有沒有人進(jìn)行補(bǔ)充?(在學(xué)生補(bǔ)充后,給出準(zhǔn)確的分析)。
首先,根據(jù)f具有性質(zhì)II,Alice無(wú)法找到不同的兩個(gè)數(shù)x和y,其中一個(gè)是奇數(shù)而另一個(gè)是偶數(shù),使其滿足f(x)=f(y)。因此,Alice一旦通過電話告訴Bob f(x)的值,她也就向Bob就x的值做出了承諾,她無(wú)法再改變x的值,也即Alice已經(jīng)完成了其擲硬幣過程。其次,由于f具有性質(zhì)I,已知f(x),Bob不能判定出Alice所使用的x是奇數(shù)還是偶數(shù),因而他不得不把自己的猜測(cè)(步驟2))真實(shí)的給出。之后Alice可給出x的值令Bob相信其猜測(cè)是否正確。事實(shí)上,如果Bob利用Alice告訴的x對(duì)f(x)進(jìn)行計(jì)算的結(jié)果與Alice在第1步給出的結(jié)果一樣,且Bob相信f所具有的性質(zhì),則Bob應(yīng)該相信最終的輸贏。
2.2同余式的基本概念和性質(zhì)教學(xué)案例
T:由生活中的同余現(xiàn)象引入同余式的概念,如:5月2日是周六,5月份還有哪幾天是周六?
S:(共同回答)5月9日,5月16日,5月23日,5月30日。
T:這些日期之間有什么聯(lián)系呢?請(qǐng)×××同學(xué)回答。
S:9,16,23和30被7除了之后余數(shù)都是2。
T:很正確。我們也可以說9,16,23和30是關(guān)于模數(shù)7同余的,今天我們就來(lái)研究同余式的基本概念和性質(zhì)。
T:(幻燈片)介紹同余式的基本概念和相關(guān)性質(zhì)。
然后給出同余式在古典密碼中的簡(jiǎn)單應(yīng)用以加深學(xué)員對(duì)同余概念及性質(zhì)的印象。
凱撒密碼是古羅馬的凱撒大帝使用過的一種密碼。凱撒大帝在作戰(zhàn)中為了防止下達(dá)給部屬的命令在傳送過程中被敵人截獲,使用了一種加密手段:把明文字母循環(huán)右移3位后得到的密文字母。即明文字母和密文字母的對(duì)應(yīng)關(guān)系如下:
A→D,B→E,C→F,D→G,E→H,F(xiàn)→I,G→J,H→K,I→L,J→M,K→N,L→O,M→P,N→Q,O→R,P→S,Q→T,R→U,S→V,T→W,U→X,V→Y,W→Z,X→A,Y→B,Z→C,
T:在學(xué)習(xí)了同余式的概念之后,能否用公式表達(dá)出凱撒密碼的加解密算法?(提示用M表示明文字母,C表示密文字母,并分別用0~25代表A~Z)
S:部分同學(xué)將加密公式寫為:C=M+3;解密公式寫為:M=C-3。
T:指出上述加解密公式的錯(cuò)誤,給出正確寫法:
加密算法可表示為C≡ M+3(mod26),解密算法可表示為M≡ C-3(mod26)。
T:給出另外一個(gè)實(shí)例——仿射密碼(幻燈片):
Alice與Bob進(jìn)行保密通信,他們認(rèn)為凱撒密碼過于簡(jiǎn)單,容易被敵手破獲,就采用了以下的加密手段:將每個(gè)字母對(duì)應(yīng)的數(shù)字乘以k再加上b作為密文字母對(duì)應(yīng)的數(shù)字。用公式表達(dá)加密算法為:
C≡ kM+b(mod26),(k,26)=1。
向?qū)W生提問為什么k必須取與26互素的整數(shù)?Bob收到密信后怎么解密?
S:這是因?yàn)橹挥?k,26)=1時(shí),才存在k-1,滿足k#8226;k-1≡ 1(mod26),這樣才能對(duì)C進(jìn)行解密,即解密公式為
M≡ k-1C-k-1b(mod26)。
T:請(qǐng)學(xué)生練習(xí)k=7,b=6時(shí),仿射密碼的加密公式和解密公式的寫法。
2.3歐拉函數(shù)和歐拉定理教學(xué)案例
T:Bob想通過一種比較安全的手段向Alice傳送一份高密級(jí)的文件M,他們決定采取目前最流行的公鑰密碼算法RSA[3]。
首先,Alice執(zhí)行以下步驟產(chǎn)生自己的公私鑰對(duì),如圖1所示。
圖1產(chǎn)生公開鑰e和私鑰d的過程
Bob要發(fā)給A的文件為M=(m0,m1,…,ml),mi=0或1。利用二進(jìn)制,可將M表成一個(gè)整數(shù)m=m0+2m1+…+2lml。這里假設(shè)m T:大家能否說明解密公式的正確性? S:進(jìn)行思考并展開討論。 T:給出解密公式正確性的證明: 由歐拉定理可知,若(m,n)=1,有 mφ(n)≡ 1(modn), cd≡ med≡ m1-xφ(n)≡ m#8226;(mφ(n))-x≡ m(modn)。 所以利用解密公式Alice是可以正確恢復(fù)出明文m的。 進(jìn)一步提問,Alice和Bob所采用的這種加密方式安全嗎?提示:假設(shè)黑客截取了密文c,他必須要 圖2加密解密過程 知道d才能正確解密,那么在已知公開參數(shù)n,e的情況下能否容易的得到d?(給學(xué)生思考的時(shí)間)。然后進(jìn)行解釋,如圖3所示。 圖3RSA算法安全性分析 由公開鑰e找到私鑰d必須已知φ(n),而φ(n)=(p-1)(q-1),這就需要對(duì)大整數(shù)n進(jìn)行素因子分解以求得p和q,只要n取的足夠大(比如2048比特),對(duì)n進(jìn)行分解是十分困難的。 2.4二次剩余理論教學(xué)案例 T:(幻燈片)依次介紹二次剩余的基本概念、勒讓德符號(hào)及雅可比符號(hào)的定義和相關(guān)性質(zhì)。最后,給出以下應(yīng)用實(shí)例: Alice和Bob在認(rèn)真研究了二次剩余的相關(guān)理論后,設(shè)計(jì)了一種巧妙的公鑰密碼算法來(lái)實(shí)現(xiàn)他們之間的保密通信。 首先Alice執(zhí)行下列步驟產(chǎn)生自己的公私鑰,如圖4所示。 Bob和Alice按照以下幻燈片所示進(jìn)行保密通信,如圖5所示。 圖4產(chǎn)生公私鑰對(duì)的過程 圖5保密通信過程 T:請(qǐng)大家思考Alice按照上述方法解密能否恢復(fù)出正確的明文? S:分小組進(jìn)行討論。 T:給出解密正確性的證明: 對(duì)于明文比特0,相應(yīng)的密文為c=x2,故有 , ,因此明文比特0被加密成模n的一個(gè)二次剩余。 對(duì)于明文比特1,相應(yīng)的密文為c=yx2。由于 ,故有 和 ,也即明文比特1被加密成模n的二次非剩余(盡管 )。 因?yàn)锳lice知道p,q所以她可以確定ci是二次剩余還是二次非剩余,而其他人由于無(wú)法得到p,q,即使求出 ,也無(wú)法確定ci是二次剩余還是二次非剩余,因此無(wú)法正確恢復(fù)出ci對(duì)應(yīng)的明文比特。 上述算法就是著名的Goldwasser-Micali密碼體制。 2.5原根及離散對(duì)數(shù)教學(xué)案例 T:在介紹完原根的概念、求法以及離散對(duì)數(shù)問題之后,給出以下實(shí)例(幻燈片): Bob想通過一種安全的手段向Alice傳送一份高密級(jí)的文件M,他們決定采取目前廣泛應(yīng)用的公鑰密碼算法ElGamal[4]。 首先,Alice按照以下步驟產(chǎn)生自己的公私鑰對(duì),如圖6所示。 圖6ElGamal算法的公私鑰對(duì)產(chǎn)生過程 Bob要發(fā)給A的文件為 M=(m0,m1,…,ml),mi=0或1。 利用二進(jìn)制可將M表成一個(gè)整數(shù)m=m0+2m1+…+2lml。只要p選擇的足夠大,可以保證m 圖7ElGamal保密通信過程 請(qǐng)同學(xué)們思考解密算法能否恢復(fù)出正確的m。 S:因?yàn)閏1=ak(modp),c2=myk(modp),y=ad(modp),故 ,即解密變換能正確地從密文恢復(fù)出相應(yīng)的明文。 T:再請(qǐng)同學(xué)們思考這種公鑰密碼算法是否安全? S:是安全的。由公開密鑰y求出私鑰d需要求解離散對(duì)數(shù)問題,只要參數(shù)p選擇的足夠大,那么離散對(duì)數(shù)問題是難解的。 3結(jié)束語(yǔ) 本文給出了筆者在教學(xué)過程中使用的幾個(gè)案例,這些案例將各個(gè)相關(guān)數(shù)學(xué)知識(shí)點(diǎn)有機(jī)的聯(lián)系在一起, 突出了“信息安全數(shù)學(xué)基礎(chǔ)”課程的實(shí)用性,增加了課程學(xué)習(xí)的趣味性,使學(xué)生在實(shí)際應(yīng)用中理解和掌握相關(guān)數(shù)學(xué)理論,避免了單純講授數(shù)學(xué)知識(shí)給學(xué)生帶來(lái)的枯燥感和盲目感,使學(xué)生由被動(dòng)接受老師講授的內(nèi)容改為在老師的引導(dǎo)下主動(dòng)思考,積極響應(yīng),活躍了原本沉悶的課堂氣氛,收到了良好的教學(xué)效果。但在進(jìn)行實(shí)際的案例教學(xué)過程中,筆者也發(fā)現(xiàn)由于大部分學(xué)生沒有學(xué)習(xí)過“密碼學(xué)”課程,因此對(duì)案例中的部分密碼學(xué)術(shù)語(yǔ)比較陌生,這在一定程度上影響了案例教學(xué)的效果。筆者也將在今后的教學(xué)研究過程中不斷改進(jìn)相關(guān)案例,使其更加淺顯易懂,貼近生活,充分發(fā)揮出案例教學(xué)的優(yōu)勢(shì)。 參考文獻(xiàn): [1] 余琍,徐霜. 信息安全專業(yè)人才培養(yǎng)模式創(chuàng)新思路與實(shí)踐教學(xué)改革[J]. 計(jì)算機(jī)教育,2008(23):38-40. [2] 邱衛(wèi)東,陳克非.信息安全數(shù)學(xué)教學(xué)的新型互動(dòng)模式[J]. 計(jì)算機(jī)教育,2007(10):19-21. [3] Wenbo Mao. 現(xiàn)代密碼學(xué)理論與實(shí)踐[M]. 北京:電子工業(yè)出版社,2004. [4] Willian Stallings. 密碼編碼學(xué)與網(wǎng)絡(luò)安全:原理與實(shí)踐[M]. 2版. 北京:電子工業(yè)出版社,2001. (編輯:白杰)