趙秀鳳 關(guān)杰 李信然
摘要:啟發(fā)式教學(xué)就是教師根據(jù)教學(xué)目的、教學(xué)內(nèi)容、學(xué)生的知識水平和知識規(guī)律,運(yùn)用各種教學(xué)手段,采用啟廢誘導(dǎo)的辦法傳授知識、培養(yǎng)能力,使學(xué)生積極主動地學(xué)習(xí),以促進(jìn)他們的身心發(fā)展的教學(xué)方法。1976年,Diffie(笛菲)和Hellman(赫爾曼)提出了公鑰密碼學(xué)的思想。隨后,Merkel(摩克)和Hellman(赫爾曼)基于背包問題構(gòu)造了陷門單向函數(shù),給出了背包公鑰密碼體制。背包公鑰密碼體制體現(xiàn)了公鑰密碼的設(shè)計思想,揭示了公鑰密碼的本質(zhì),被譽(yù)為打開公鑰密碼學(xué)大門的一塊敲門磚。因此,背包公鑰密碼體制是《密碼學(xué)》的一個重要的教學(xué)內(nèi)容。在建構(gòu)主義教學(xué)理論的指導(dǎo)下,以學(xué)員為主體的背包公鑰密碼體制的啟發(fā)式教學(xué)設(shè)計有非常重要的意義,多次課堂教學(xué)實(shí)踐證明了啟發(fā)式教學(xué)設(shè)計有非常良好的教學(xué)效果。
關(guān)鍵詞:啟發(fā)式教學(xué);背包公鑰密碼體制;教學(xué)設(shè)計;教學(xué)反思
一、引言
北京大學(xué)錢理群教授認(rèn)為,“教育就是牽著學(xué)生的手,把他們引領(lǐng)到大師面前、巨人面前,互相介紹之后就悄悄地離開,讓他們進(jìn)行心貼心的談話”。錢理群的教育理念放在當(dāng)今社會仍具有重要的現(xiàn)實(shí)意義,在這樣的教育理念指導(dǎo)下的實(shí)踐教學(xué),很容易培養(yǎng)學(xué)生主動學(xué)習(xí)、主動思考、主動發(fā)現(xiàn)的習(xí)慣,在這個過程中學(xué)生也可以領(lǐng)略到豁然頓悟或悠然會心的快樂以及成就感,從而保持樂此不疲的求知與學(xué)習(xí)興趣。錢理群的教育思想落實(shí)到具體的教學(xué)實(shí)踐中就是啟發(fā)式教學(xué)方法。所謂啟發(fā)式教學(xué),就是教師根據(jù)教學(xué)目的、教學(xué)內(nèi)容、學(xué)生的知識水平和知識規(guī)律,運(yùn)用各種教學(xué)手段,采用啟發(fā)誘導(dǎo)的辦法傳授知識、培養(yǎng)能力,使學(xué)生積極主動地學(xué)習(xí),以促進(jìn)他們的身心發(fā)展的教學(xué)方法。如今,許多高校及教師都在積極探索啟發(fā)式教學(xué)方法。
《密碼學(xué)》是中國人民解放軍信息工程大學(xué)面向信息安全專業(yè)本科生開設(shè)的專業(yè)基礎(chǔ)課程,通過課程的學(xué)習(xí),學(xué)生可以理解編制密碼的基本原理,掌握實(shí)現(xiàn)信息機(jī)密性和認(rèn)證性的密碼技術(shù)。課程組在建構(gòu)主義教學(xué)理論的指導(dǎo)下,對《密碼學(xué)》中的“背包公鑰密碼體制”進(jìn)行了啟發(fā)式教學(xué)設(shè)計,課堂教學(xué)實(shí)踐證明了啟發(fā)式教學(xué)設(shè)計有非常良好的教學(xué)效果。
1976年,Diffie(笛菲)和Hellman(赫爾曼)提出了公鑰密碼學(xué)的思想。1978年,Merkel(摩克)和Hellman(赫爾曼)在論文“Hiding informationand signatures in trapdoor knapsacks”中基于背包問題構(gòu)造了陷門單向函數(shù),給出了著名的背包公鑰密碼體制。背包公鑰密碼體制體現(xiàn)了公鑰密碼的設(shè)計思想,揭示了公鑰密碼的本質(zhì),被譽(yù)為打開公鑰密碼大門的一塊敲門磚。因此,背包公鑰密碼體制對于公鑰密碼研究有著非常重要的理論意義和應(yīng)用價值,是《密碼學(xué)》的一個重要的教學(xué)內(nèi)容。
二、教學(xué)過程設(shè)計
背包公鑰密碼體制的啟發(fā)式教學(xué)過程設(shè)計分為四個教學(xué)環(huán)節(jié):首先,教師由密鑰管理問題引出公鑰密碼思想;其次,給出背包問題的定義;再次,通過啟發(fā)誘導(dǎo),探索背包公鑰密碼體制的設(shè)計原理:最后,總結(jié)背包公鑰密碼體制的意義,并給出安全性分析,再以花絮的形式引出下次課程的學(xué)習(xí)內(nèi)容。
(一)第一個教學(xué)環(huán)節(jié):任務(wù)驅(qū)動,引出公鑰密碼思想
在利用序列密碼和分組密碼系統(tǒng)進(jìn)行保密信息傳輸時,發(fā)方和收方需要預(yù)先共享一個密鑰。例如:Bob想給Alice發(fā)送一個保密郵件,那么,他首先利用共享密鑰與加密算法對明文進(jìn)行加密,然后將密文發(fā)送給Alice,Alice收到密文之后,利用共享密鑰與解密算法得到明文。這種密碼體制要求通信雙方在進(jìn)行保密通信之前,預(yù)先共享密鑰,因此,必須首先解決密鑰分發(fā)問題。
隨著網(wǎng)絡(luò)科技的發(fā)展與廣泛應(yīng)用,尤其是在大型通信網(wǎng)絡(luò)中,密鑰管理問題日益成為一個影響發(fā)展的瓶頸。比如,在1000個人的通信網(wǎng)絡(luò)中,每個人需要保管999個密鑰,整個網(wǎng)絡(luò)就需要(1000×999)/2=499500個密鑰。此時,問題就出來了:
問題1:如何降低密鑰管理的代價呢?
教師可以啟發(fā)學(xué)生思考:密鑰管理的關(guān)鍵問題是密鑰分發(fā),如果可以將加密密鑰公開,就無須密鑰分發(fā)這個步驟了,但是這樣就會危及到解密密鑰的安全性。在研究中教師可以利用生活中“鎖和鑰匙”的原理,引導(dǎo)學(xué)生將加密密鑰和解密密鑰進(jìn)行區(qū)分,并且加密密鑰的公開不影響解密密鑰的安全性。然后,教師給出總結(jié):1976年,Diffie(笛菲)和Hellman(赫爾曼)在美國國家計算機(jī)大會上提出了公開密碼學(xué)的思想,這項舉措成為密碼史上的里程碑,對密碼學(xué)領(lǐng)域的后續(xù)發(fā)展有重要的意義。如果每個用戶都有一對密鑰,一個用于加密,稱加密密鑰,一個用于脫密,稱脫密密鑰,加密密鑰是公開的,而脫密密鑰是保密的,且加密密鑰的公開不會危及脫密密鑰的安全。這樣,用戶只要保存一個脫密密鑰,就可以大大降低密鑰管理的成本與負(fù)擔(dān)。這就是公鑰密碼的思想。緊接著,又會有一個非常自然的問題出現(xiàn):
問題2:如何構(gòu)造一個具體的公鑰密碼體制呢?
從這個問題教師可以引出陷門單向函數(shù)的概念。具體而言,從“加密密鑰→解密密鑰”的難解性引出單向性的概念:從“密文→明文”的難解性和“密文(解密密匙)→明文”的可解密性引出陷門單向函數(shù)的定義。從而總結(jié)出:設(shè)計公鑰密碼體制的關(guān)鍵是構(gòu)造一個陷門單向函數(shù)。
問題3:如何構(gòu)造陷門單向函數(shù)?
教師啟發(fā)學(xué)生思考:從單向函數(shù)的難解性,引出數(shù)學(xué)上的難解問題,進(jìn)而引出背包問題。
(二)第二個教學(xué)環(huán)節(jié):背包問題
問題4:什么是背包問題呢?
定義1:設(shè)長度為b的背包和一組直徑相同的圓盤共n個,圓盤厚度分別為a1,…,an,試問能否從中選出一部分盤子,正好裝滿這個背包?如果能,應(yīng)該如何選取?這個問題形式化描述為:
a1X1+a2X2+…+anXn=bendprint
這個方程是否有二進(jìn)制解(X1,X2,…,Xn)?如果有,則求解。
教師帶領(lǐng)學(xué)生分析這個問題的計算復(fù)雜度為○(2n),即該問題是多項式時間難解問題。那么,能否利用背包問題設(shè)計公鑰加密算法呢?
教師可以啟發(fā)學(xué)生思考:背包問題可以設(shè)計加密算法,即將明文對應(yīng)二進(jìn)制串X1,X2,…,Xn,將b對應(yīng)密文c,方案能保證明文的安全性,但是合法的接收者也無法正確解密,原因就在于背包問題是NP困難問題。教師給出總結(jié):背包問題可以用于加密,但無法解密。
下面給出一種特殊的背包問題。
定義2:簡單背包問題
如果序列a1,…,an滿足則該序列稱為超遞增序列,超遞增序列對應(yīng)的背包問題被稱為簡單背包問題。
一般背包問題難解,簡單背包問題可解嗎?通過一個例子可以說明解簡單背包問題的算法。
例1:求簡單背包問題3X1+11X2+24X3+50X4+115X5=142.
那么,能否利用簡單背包問題設(shè)計公鑰密碼算法?
教師引導(dǎo)學(xué)生思考:由簡單背包問題的可解性,考慮利用簡單背包問題設(shè)計解密算法,即簡單背包問題適用于設(shè)計解密算法,但是無法保證明文的安全性。
問題5:那么,能否綜合利用簡單背包問題和背包問題構(gòu)造陷門單向函數(shù)呢?
(三)第三個教學(xué)環(huán)節(jié):探討背包公鑰密碼體制的原理
背包密碼體制的基本思想是:選取一個超遞增的背包序列,通過一個保密的置亂變化,把這個序列變成一個普通的背包序列。然后,將變化后的普通背包序列作為公鑰,將超遞增的背包序列作為私鑰保密。
值得注意的是,在這個教學(xué)環(huán)節(jié)中,研究者不是把上述思想直接呈現(xiàn)給大家,而是帶領(lǐng)大家一起去發(fā)現(xiàn)、去探索,一起去經(jīng)歷這個難得的過程。這是課程的重點(diǎn)內(nèi)容,也是難點(diǎn)內(nèi)容。
同時,教師也要引導(dǎo)大家思考:簡單背包問題可以解密,而普通背包問題可以加密,那么,如果大家利用簡單背包問題經(jīng)過一個保密變化F,把它變成一個普通背包問題,然后利用普通背包問題就可以加密得到密文,而密文對應(yīng)一個背包問題,因此,明文無法恢復(fù),從而保證了明文的安全性。另外,對于接收者來說,他掌握了保密變化,所以可以利用保密變化的逆變換將密文變換一個C,C對應(yīng)一個簡單背包問題,從而可以利用超遞增序列進(jìn)行解密。
保密變換F的作用是把超遞增序列的特性隱藏。下面,研究者帶領(lǐng)學(xué)生一起探討如何選擇保密變化F。首先,F(xiàn)應(yīng)該保證解密的正確性,即應(yīng)該保證C對應(yīng)簡單背包問題。
已知超遞增序列γ=(γ1,γ2,…,γn),Mi=F(γi,c=∑ni=1=lmiMi,c'=F-1(c)=(∑ni=1lmiMi)=F-1(∑1i=1miF(γi)
為了保證解密的正確性,上式必須等于∑ni=miγi.因此,F(xiàn)必須滿足線性疊加性,即同態(tài)性。那么,什么運(yùn)算具備同態(tài)性呢?乘法運(yùn)算。但是乘法運(yùn)算無法保證將超遞增序列的超遞增性隱藏,因此,無法滿足研究的需求。什么運(yùn)算可以隱藏超遞增性呢?教師要鼓勵學(xué)生發(fā)散思維,最后的結(jié)論是模約減運(yùn)算(同余運(yùn)算)。
在實(shí)施課堂教學(xué)時,教師應(yīng)該力求將以上背包公鑰密碼的設(shè)計原理部分分析透徹。然后,給出Merkle-Hellman背包公鑰密碼體制,并利用一個實(shí)例加深理解。
(四)第四個教學(xué)環(huán)節(jié):總結(jié)
研究者從兩個方面對本次課程進(jìn)行總結(jié),首先是背包公鑰密碼體制在公鑰密碼研究領(lǐng)域的意義,其次是通過背包公鑰密碼體制的安全性分析,以花絮的形式引出下次課程的學(xué)習(xí)內(nèi)容。
1.背包公鑰密碼的意義
背包公鑰密碼體制利用簡單背包問題和背包問題設(shè)計了陷門單向函數(shù),體現(xiàn)了公鑰密碼體制的設(shè)計思想,揭示了公鑰密碼算法的本質(zhì)。其設(shè)計思想至今依然閃耀著智慧的光輝,閃爍著創(chuàng)新的光芒,在新型公鑰密碼體制設(shè)計以及全同態(tài)密碼設(shè)計方面都有應(yīng)用,對現(xiàn)代密碼設(shè)計與分析都有重要的參考價值和指導(dǎo)意義。
2.背包公鑰密碼體制的安全性
雖然背包問題是數(shù)學(xué)上的難解問題,但是背包公鑰密碼體制并不是無堅不摧的。起初,Merkle(摩克)和Hellman(赫爾曼)認(rèn)為這算法無懈可擊,就懸賞100美元給第一個破譯它的人。作為公鑰的序列畢竟還是有原來的超遞增序列的影子的,Shamir,即薩莫爾(RSA中的“S”),在兩年后抓住了變換的“尾巴”,將它破譯并得到了獎金。隨后,Merkle(摩克)和Hellman(赫爾曼)又加大了變換的強(qiáng)度,并懸賞1000美元。但這次Rivest,即李維斯特(RsA中的“R”),又成功將它破解了。Merkle(摩克)和Hellman(赫爾曼)不敢再對下一個版本懸賞10000美元,所以Adleman,即阿德曼(也就是RSA中的“A”)就沒有好運(yùn)氣了。后來,背包公鑰密碼算法又被加強(qiáng)了,但是應(yīng)用并不廣泛。
最著名的公鑰密碼算法是RSA公鑰密碼算法,它是由麻省理工學(xué)院(MIT)的一個研究小組在1978年發(fā)明的。RSA這個名稱來自它的三個發(fā)明人的姓氏的首字母(R1vest、Shamir、Adleman)。RSA公鑰密碼算法自提出以來就受到廣泛的重視,也得到了廣泛的應(yīng)用。那么,RSA公鑰密碼算法是endprint
如何構(gòu)造陷門單向函數(shù)的,其安全性又如何呢7這是下次課程的學(xué)習(xí)內(nèi)容。
三、教學(xué)反思
經(jīng)過多次課堂教學(xué)實(shí)踐的檢驗,事實(shí)表明“以學(xué)生為主體”的啟發(fā)式教學(xué)設(shè)計有助于培養(yǎng)學(xué)生主動學(xué)習(xí)、主動思考、主動發(fā)現(xiàn)的能力,能更好地促進(jìn)學(xué)生的全面發(fā)展,提高整體的教學(xué)質(zhì)量與效果。啟發(fā)式教學(xué)設(shè)計以及課堂教學(xué)實(shí)踐主要體現(xiàn)在以下兩個方面:
(一)關(guān)注能力達(dá)成而非知識獲取
在教學(xué)設(shè)計與教學(xué)實(shí)踐中要彰顯學(xué)生的主體地位,讓學(xué)生成為學(xué)習(xí)的主人。學(xué)生在整個學(xué)習(xí)過程中不僅僅是接受知識,更要面對面、心貼心地與知識對話,從而培養(yǎng)自己的批判性思維和創(chuàng)新思維。學(xué)生在主動獲取知識的過程中培養(yǎng)了個人對知識的建構(gòu)能力,并且在這個過程中獲得的間接經(jīng)驗和直接經(jīng)驗將融入他今后的學(xué)習(xí)和工作中,從而為未來的發(fā)展打下堅實(shí)的基礎(chǔ)。正如清華大學(xué)姚期智先生所說的那樣,“希望我們的學(xué)生能感受到學(xué)習(xí)、研究過程中面臨的挑戰(zhàn)與取得的突破,以及由此帶來的幸福感。唯有這樣,我們才能培養(yǎng)出世界最頂尖的年輕人,不管他們將來是做學(xué)問還是去創(chuàng)業(yè)”。研究者也希望自己的學(xué)生能體會到挑戰(zhàn)與突破的樂趣,從而不斷超越自我,成為真正有價值、有意義的人。
(二)以“問題解決”作為教學(xué)過程設(shè)計的主線
背包公鑰密碼體制的教學(xué)設(shè)計是以研究問題的思路為切入點(diǎn)的,力求尋根探源,在潛移默化之中傳授給學(xué)生基本的學(xué)術(shù)素養(yǎng)。同時,教師通過提出問題引出教學(xué)內(nèi)容的方式,可以提高學(xué)生對教學(xué)內(nèi)容的關(guān)注度。學(xué)生通過解決具體情景中的問題來達(dá)到學(xué)習(xí)目標(biāo),并內(nèi)化為自我的思維方式和能力。根據(jù)調(diào)查,學(xué)生特別喜歡課堂上的互動和研討,師生和諧互動的教學(xué)模式可以激發(fā)學(xué)生的學(xué)習(xí)興趣,從而引導(dǎo)、促進(jìn)學(xué)生獨(dú)立思考,促進(jìn)學(xué)生能力的全面提升。
然而,設(shè)計科學(xué)合理的問題是師生互動課堂教學(xué)成敗的關(guān)鍵。所謂“取法乎上,僅得其中;取法乎中,僅得其下”,教師要把握好研討問題的難易程度,設(shè)計“跳起來才夠得著的蘋果”作為研討題目,這樣才可以使學(xué)生樂于接受挑戰(zhàn),并積極應(yīng)對挑戰(zhàn)。通過討論,學(xué)生能比較深入地理解課堂上涉及的概念,掌握處理實(shí)際問題的方法,培養(yǎng)自己解決問題的能力。但是開放式的互動課堂對教師提出了更高的要求,教師不僅要對學(xué)科思想有深刻的理解,還需具備妥善處理傳授知識的準(zhǔn)確性與開放式研討的矛盾的能力,以及掌握課堂研究的能力,并能實(shí)現(xiàn)對學(xué)生自主學(xué)習(xí)能力的開發(fā)。
四、結(jié)束語
背包公鑰密碼體制是公鑰密碼體制的一個典型算法,體現(xiàn)了公鑰密碼學(xué)的設(shè)計思想,在密碼史上具有重要的理論意義和應(yīng)用價值,也是《密碼學(xué)》課程中一個重要的教學(xué)與研究內(nèi)容。“背包公鑰密碼體制”的啟發(fā)式教學(xué)設(shè)計案例,在課堂教學(xué)實(shí)踐中取得了良好的教學(xué)效果,在信息安全與密碼學(xué)教學(xué)理論與實(shí)踐方面具有一定的參考價值。
責(zé)編:清善endprint