高職計算機專業(yè)課程中加入TEA算法的意義和方法
發(fā)布時間:2014-07-28 20:46
一、高職計算機專業(yè)《面向?qū)ο蟪绦蛟O計》課程中加入TEA算法的方法
高職計算機專業(yè)《面向?qū)ο蟪绦蛟O計》課程以JAVA語言為主,其內(nèi)容主要由以下幾個模塊組成:(1)結構化程序設計;(2)面向?qū)ο蟪绦蛟O計的概念及思想;(3)文件與IO流;(4)圖形用戶界面;(5)Applet小應用程序;(6)多線程。為了鼓勵全體學生都能參與課程的教學與學習活動中,調(diào)動每一個學生的學習積極性與能動性,使每個學生都有事做、想做、會做、喜歡做。因此,筆者設計了一個教學思路,如圖3:
由于已經(jīng)將算法詳細地介紹給了學生,因此學生只是將該算法用JAVA語言來表現(xiàn)并上機進行驗證,當同學們的程序運行通過,并發(fā)現(xiàn)可以將輸入的一些字符加密成功,輸出結果是與原來輸入結果完全不同的字符時,他們獲得了成就感,并感覺到自己也可以加密信息了,從而對這門課程產(chǎn)生了濃厚的興趣,并盼望進一步的深入學習。
在此基礎上,可以讓學生嘗試將RSA等加密算法用JAVA實現(xiàn),也可以幫助學生理解程序設計的基本概念。
進入第二部分,開始學習面向?qū)ο蟮母拍詈退枷,一開始,學生對這些面向?qū)ο蟮母拍畈皇呛芾斫猓?a >筆耕論文,筆者要求學生編寫一個TEA類,該類有加密、解密等成員方法,讓學生將前面的結構化TEA算法改成面向?qū)ο蟮姆椒。通過自己動手編寫程序,學生逐漸豎立了類、對象、構造方法、繼承、重載等概念,也逐漸豎立了面向?qū)ο蟮木幊趟季S。
第三部分開始講述文件與IO流,此時,要求學生不是對某個數(shù)據(jù)加密解密,而是將整個文件加密解密,編程難度加大了,學生的興趣也隨之加大加深了。在編寫程序過程中,學生對前面章節(jié)學過的如循環(huán)、字符串、數(shù)組等概念又得到了復習。當學生第一次將一個文件加密成功后,他們的欣喜是由衷的。
第四部分圖形用戶界面是學生最感興趣的,因為之前編寫的程序其運行結果都是千篇一律,看不出什么效果,只知道程序運行成功了,加密解密完成了,而圖形用戶界面以圖形的方式顯示出運行效果,從視覺方面引發(fā)了學生的成就感。在這一階段的教學中,要求學生將之前編寫的加密解密程序改成圖形用戶界面,需要運用各類組件和布局組織自己的程序運行界面,還需要編寫菜單和各類觸發(fā)事件。當需要對一個文件進行加密時,需要運用打開文件的對話框選擇待加密的源文件,以及存放加密完成后的目標文件。
二、高職計算機專業(yè)《面向?qū)ο蟪绦蛟O計》課程中加入TEA算法的意義
TEA算法每一次可以操作8個字節(jié),密鑰采用16個字節(jié),采用迭代的形式實現(xiàn)。。TEA加密算法的迭代次數(shù)是可以改變的,目前推薦64輪迭代,不過32輪迭代、16輪迭代也是足夠的,甚至可以采用8輪迭代。TEA算法由于實現(xiàn)簡單,加密速度快,常被一些保密性要求不高的系統(tǒng)采用,比如QQ的登錄加密就是采用16輪TEA算法來實現(xiàn)的。
TEA算法是編程算法中一個比較容易理解的算法之一,學生比較容易撐握,而且它主要是用在加密及解密中,筆者在教學過程中,抓住學生的“成就感”的心理:將一個加密解密程序TEA算法編排穿插在教學內(nèi)容中,學生很感興趣,大大提高了學習該課程的興趣,并取得了良好的教學效果。
本文編號:6787
本文鏈接:http://www.lk138.cn/qitalunwen/6787.html
最近更新
教材專著