資源描述:
《數(shù)據(jù)加密技術(shù)》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在工程資料-天天文庫。
1、數(shù)據(jù)加密技術(shù)我們經(jīng)常需要一種措施來保護(hù)我們的數(shù)據(jù),防止被一些懷有不良用心的人所看到或者破壞。在信息時(shí)代,信息可以幫助團(tuán)體或個(gè)人,使他們受益,同樣,信息也可以用來對他們構(gòu)成威脅,造成破壞。在競爭激烈的大公司中,工業(yè)間諜經(jīng)常會(huì)獲取對方的情報(bào)。因此,在客觀上就需要一種強(qiáng)有力的安全措施來保護(hù)機(jī)密數(shù)據(jù)不被竊取或篡改。數(shù)據(jù)加密與解密從宏觀上講是非常簡單的,很容易理解。加密與解密的一些方法是非常直接的,很容易掌握,可以很方便的對機(jī)密數(shù)據(jù)進(jìn)行加密和解密。—:數(shù)據(jù)加密方法免費(fèi)公文網(wǎng)版權(quán)所有在傳統(tǒng)上,我們有幾種方法來加密數(shù)據(jù)流。所有這些方法都可以用軟件很容易的實(shí)現(xiàn)
2、,但是當(dāng)我們只知道密文的時(shí)候,是不容易破譯這些加密算法的(當(dāng)同時(shí)有原文和密文時(shí),破譯加密算法雖然也不是很容易,但已經(jīng)是可能的了)。最好的加密算法對系統(tǒng)性能幾乎沒有影響,并且還可以帶來其他內(nèi)在的優(yōu)點(diǎn)。例如,大家都知道的,它既壓縮數(shù)據(jù)又加密數(shù)據(jù)。又如,的一些軟件包總是包含一些加密方法以使復(fù)制文件這一功能對一些敏感數(shù)據(jù)是無效的,或者需要用戶的密碼。所有這些加密算法都要有高效的加密和解密能力。幸運(yùn)的是,在所有的加密算法中最簡單的一種就是“置換表”算法,這種算法也能很好達(dá)到加密的需要。每一個(gè)數(shù)據(jù)段(總是一個(gè)字節(jié))對應(yīng)著“置換表”中的一個(gè)偏移量,偏移量所對
3、應(yīng)的值就輸出成為加密后的文件。加密程序和解密程序都需要一個(gè)這樣的“置換表”。事實(shí)上,系列就有一個(gè)指令''在硬件級來完成這樣的工作。這種加密算法比較簡單,加密解密速度都很快,但是一旦這個(gè)“置換表”被對方獲得,那這個(gè)加密方案就完全被識(shí)破了。更進(jìn)一步講,這種加密算法對于黑客破譯來講是相當(dāng)直接的,只要找到一個(gè)“置換表”就可以了。這種方法在計(jì)算機(jī)出現(xiàn)之前就已經(jīng)被廣泛的使用。對這種“置換表”方式的一個(gè)改進(jìn)就是使用個(gè)或者更多的“置換表”,這些表都是基于數(shù)據(jù)流中字節(jié)的位置的,或者基于數(shù)據(jù)流本身。這時(shí),破譯變的更加困難,因?yàn)楹诳捅仨氄_的做幾次變換。通過使用更多
4、的“置換表”,并且按偽隨機(jī)的方式使用每個(gè)表,這種改進(jìn)的加密方法已經(jīng)變的很難破譯。比如,我們可以對所有的偶數(shù)位置的數(shù)據(jù)使用表,對所有的奇數(shù)位置使用表,即使黑客獲得了明文和密文,他想破譯這個(gè)加密方案也是非常困難的,除非黑客確切的知道用了兩張表。與使用“置換表”相類似,“變換數(shù)據(jù)位置”也在計(jì)算機(jī)加密中使用。但是,這需要更多的執(zhí)行時(shí)間。從輸入中讀入明文放到一個(gè)中,再在中對他們重排序,然后按這個(gè)順序再輸出。解密程序按相反的順序還原數(shù)據(jù)。這種方法總是和一些別的加密算法混合使用,這就使得破譯變的特別的困難,幾乎有些不可能了。例如,有這樣一個(gè)詞,變換起字母的順
5、序,可以變?yōu)椋械淖帜付紱]有變化,沒有增加也沒有減少,但是字母之間的順序已經(jīng)變化了。但是,還有一種更好的加密算法,只有計(jì)算機(jī)可以做,就是字字節(jié)循環(huán)移位和操作。如果我們把一個(gè)字或字節(jié)在一個(gè)數(shù)據(jù)流內(nèi)做循環(huán)移位,使用多個(gè)或變化的方向(左移或右移),就可以迅速的產(chǎn)生一個(gè)加密的數(shù)據(jù)流。這種方法是很好的,破譯它就更加困難!而且,更進(jìn)一步的是,如果再使用操作,按位做異或操作,就就使破譯密碼更加困難了。如果再使用偽隨機(jī)的方法,這涉及到要產(chǎn)生一系列的數(shù)字,我們可以使用數(shù)列。對數(shù)列所產(chǎn)生的數(shù)做模運(yùn)算(例如模),得到一個(gè)結(jié)果,然后循環(huán)移位這個(gè)結(jié)果的次數(shù),將使破譯
6、次密碼變的幾乎不可能!但是,使用數(shù)列這種偽隨機(jī)的方式所產(chǎn)生的密碼對我們的解密程序來講是非常容易的。在一些情況下,我們想能夠知道數(shù)據(jù)是否已經(jīng)被篡改了或被破壞了,這時(shí)就需要產(chǎn)生一些校驗(yàn)碼,并且把這些校驗(yàn)碼插入到數(shù)據(jù)流中。這樣做對數(shù)據(jù)的防偽與程序本身都是有好處的。但是感染計(jì)算機(jī)程序的病毒才不會(huì)在意這些數(shù)據(jù)或程序是否加過密,是否有數(shù)字簽名。所以,加密程序在每次到內(nèi)存要開始執(zhí)行時(shí),都要檢查一下本身是否被病毒感染,對與需要加、解密的文件都要做這種檢查!很自然,這樣一種方法體制應(yīng)該保密的,因?yàn)椴《境绦虻木帉懻邔?huì)利用這些來破壞別人的程序或數(shù)據(jù)。因此,在一些反
7、病毒或殺病毒軟件中一定要使用加密技術(shù)。循環(huán)冗余校驗(yàn)是一種典型的校驗(yàn)數(shù)據(jù)的方法。對于每一個(gè)數(shù)據(jù)塊,它使用位循環(huán)移位和操作來產(chǎn)生一個(gè)位或位的校驗(yàn)和,這使得丟失一位或兩個(gè)位的錯(cuò)誤一定會(huì)導(dǎo)致校驗(yàn)和出錯(cuò)。這種方式很久以來就應(yīng)用于文件的傳輸,例如。這是方法已經(jīng)成為標(biāo)準(zhǔn),而且有詳細(xì)的文檔。但是,基于標(biāo)準(zhǔn)算法的一種修改算法對于發(fā)現(xiàn)加密數(shù)據(jù)塊中的錯(cuò)誤和文件是否被病毒感染是很有效的。二?基于公鑰的加密算法一個(gè)好的加密算法的重要特點(diǎn)之一是具有這種能力:可以指定一個(gè)密碼或密鑰,并用它來加密明文,不同的密碼或密鑰產(chǎn)生不同的密文。這又分為兩種方式:對稱密鑰算法和非對稱密鑰
8、算法。所謂對稱密鑰算法就是加密解密都使用相同的密鑰,非對稱密鑰算法就是加密解密使用不同的密鑰。非常著名的公鑰加密以及加密方法都是非對稱加密算法。加密密