數(shù)據(jù)加密技術(shù)范文

時間:2023-04-02 19:53:03

導語:如何才能寫好一篇數(shù)據(jù)加密技術(shù),這就需要搜集整理更多的資料和文獻,歡迎閱讀由公務員之家整理的十篇范文,供你借鑒。

數(shù)據(jù)加密技術(shù)

篇1

 

一:數(shù)據(jù)加密方法

   在傳統(tǒng)上,我們有幾種方法來加密數(shù)據(jù)流。所有這些方法都可以用軟件很容易的實現(xiàn),但是當我們只知道密文的時候,是不容易破譯這些加密算法的(當同時有原文和密文時,破譯加密算法雖然也不是很容易,但已經(jīng)是可能的了)。最好的加密算法對系統(tǒng)性能幾乎沒有影響,并且還可以帶來其他內(nèi)在的優(yōu)點。例如,大家都知道的pkzip,它既壓縮數(shù)據(jù)又加密數(shù)據(jù)。又如,dbms的一些軟件包總是包含一些加密方法以使復制文件這一功能對一些敏感數(shù)據(jù)是無效的,或者需要用戶的密碼。所有這些加密算法都要有高效的加密和解密能力。

  

   幸運的是,在所有的加密算法中最簡單的一種就是“置換表”算法,這種算法也能很好達到加密的需要。每一個數(shù)據(jù)段(總是一個字節(jié))對應著“置換表”中的一個偏移量,偏移量所對應的值就輸出成為加密后的文件。加密程序和解密程序都需要一個這樣的“置換表”。事實上,80x86 cpu系列就有一個指令‘xlat’在硬件級來完成這樣的工作。這種加密算法比較簡單,加密解密速度都很快,但是一旦這個“置換表”被對方獲得,那這個加密方案就完全被識破了。更進一步講,這種加密算法對于黑客破譯來講是相當直接的,只要找到一個“置換表”就可以了。這種方法在計算機出現(xiàn)之前就已經(jīng)被廣泛的使用。

 

    對這種“置換表”方式的一個改進就是使用2個或者更多的“置換表”,這些表都是基于數(shù)據(jù)流中字節(jié)的位置的,或者基于數(shù)據(jù)流本身。這時,破譯變的更加困難,因為黑客必須正確的做幾次變換。通過使用更多的“置換表”,并且按偽隨機的方式使用每個表,這種改進的加密方法已經(jīng)變的很難破譯。比如,我們可以對所有的偶數(shù)位置的數(shù)據(jù)使用a表,對所有的奇數(shù)位置使用b表,即使黑客獲得了明文和密文,他想破譯這個加密方案也是非常困難的,除非黑客確切的知道用了兩張表。

 

   與使用“置換表”相類似,“變換數(shù)據(jù)位置”也在計算機加密中使用。但是,這需要更多的執(zhí)行時間。從輸入中讀入明文放到一個buffer中,再在buffer中對他們重排序,然后按這個順序再輸出。解密程序按相反的順序還原數(shù)據(jù)。這種方法總是和一些別的加密算法混合使用,這就使得破譯變的特別的困難,幾乎有些不可能了。例如,有這樣一個詞,變換起字母的順序,slient 可以變?yōu)閘isten,但所有的字母都沒有變化,沒有增加也沒有減少,但是字母之間的順序已經(jīng)變化了。

 

    但是,還有一種更好的加密算法,只有計算機可以做,就是字/字節(jié)循環(huán)移位和xor操作。如果我們把一個字或字節(jié)在一個數(shù)據(jù)流內(nèi)做循環(huán)移位,使用多個或變化的方向(左移或右移),就可以迅速的產(chǎn)生一個加密的數(shù)據(jù)流。這種方法是很好的,破譯它就更加困難!而且,更進一步的是,如果再使用xor操作,按位做異或操作,就就使破譯密碼更加困難了。如果再使用偽隨機的方法,這涉及到要產(chǎn)生一系列的數(shù)字,我們可以使用fibbonaci數(shù)列。對數(shù)列所產(chǎn)生的數(shù)做模運算(例如模3),得到一個結(jié)果,然后循環(huán)移位這個結(jié)果的次數(shù),將使破譯次密碼變的幾乎不可能!但是,使用fibbonaci數(shù)列這種偽隨機的方式所產(chǎn)生的密碼對我們的解密程序來講是非常容易的。

 

    在一些情況下,我們想能夠知道數(shù)據(jù)是否已經(jīng)被篡改了或被破壞了,這時就需要產(chǎn)生一些校驗碼,并且把這些校驗碼插入到數(shù)據(jù)流中。這樣做對數(shù)據(jù)的防偽與程序本身都是有好處的。但是感染計算機程序的病毒才不會在意這些數(shù)據(jù)或程序是否加過密,是否有數(shù)字簽名。所以,加密程序在每次load到內(nèi)存要開始執(zhí)行時,都要檢查一下本身是否被病毒感染,對與需要加、解密的文件都要做這種檢查!很自然,這樣一種方法體制應該保密的,因為病毒程序的編寫者將會利用這些來破壞別人的程序或數(shù)據(jù)。因此,在一些反病毒或殺病毒軟件中一定要使用加密技術(shù)。

循環(huán)冗余校驗是一種典型的校驗數(shù)據(jù)的方法。對于每一個數(shù)據(jù)塊,它使用位循環(huán)移位和xor操作來產(chǎn)生一個16位或32位的校驗和 ,這使得丟失一位或兩個位的錯誤一定會導致校驗和出錯。這種方式很久以來就應用于文件的傳輸,例如 xmodem-crc。 這是方法已經(jīng)成為標準,而且有詳細的文檔。但是,基于標準crc算法的一種修改算法對于發(fā)現(xiàn)加密數(shù)據(jù)塊中的錯誤和文件是否被病毒感染是很有效的。

 

 二.基于公鑰的加密算法

 

    一個好的加密算法的重要特點之一是具有這種能力:可以指定一個密碼或密鑰,并用它來加密明文,不同的密碼或密鑰產(chǎn)生不同的密文。這又分為兩種方式:對稱密鑰算法和非對稱密鑰算法。所謂對稱密鑰算法就是加密解密都使用相同的密鑰,非對稱密鑰算法就是加密解密使用不同的密鑰。非常著名的pgp公鑰加密以及rsa加密方法都是非對稱加密算法。加密密鑰,即公鑰,與解密密鑰,即私鑰,是非常的不同的。從數(shù)學理論上講,幾乎沒有真正不可逆的算法存在。例如,對于一個輸入‘a(chǎn)’執(zhí)行一個操作得到結(jié)果‘b’,那么我們可以基于‘b’,做一個相對應的操作,導出輸入‘a(chǎn)’。在一些情況下,對于每一種操作,我們可以得到一個確定的值,或者該操作沒有定義(比如,除數(shù)為0)。對于一個沒有定義的操作來講,基于加密算法,可以成功地防止把一個公鑰變換成為私鑰。因此,要想破譯非對稱加密算法,找到那個唯一的密鑰,唯一的方法只能是反復的試驗,而這需要大量的處理時間。

    

    rsa加密算法使用了兩個非常大的素數(shù)來產(chǎn)生公鑰和私鑰。即使從一個公鑰中通過因數(shù)分解可以得到私鑰,但這個運算所包含的計算量是非常巨大的,以至于在現(xiàn)實上是不可行的。加密算法本身也是很慢的,這使得使用rsa算法加密大量的數(shù)據(jù)變的有些不可行。這就使得一些現(xiàn)實中加密算法都基于rsa加密算法。pgp算法(以及大多數(shù)基于rsa算法的加密方法)使用公鑰來加密一個對稱加密算法的密鑰,然后再利用一個快速的對稱加密算法來加密數(shù)據(jù)。這個對稱算法的密鑰是隨機產(chǎn)生的,是保密的,因此,得到這個密鑰的唯一方法就是使用私鑰來解密。

   

    我們舉一個例子:假定現(xiàn)在要加密一些數(shù)據(jù)使用密鑰‘12345’。利用rsa公鑰,使用rsa算法加密這個密鑰‘12345’,并把它放在要加密的數(shù)據(jù)的前面(可能后面跟著一個分割符或文件長度,以區(qū)分數(shù)據(jù)和密鑰),然后,使用對稱加密算法加密正文,使用的密鑰就是‘12345’。當對方收到時,解密程序找到加密過的密鑰,并利用rsa私鑰解密出來,然后再確定出數(shù)據(jù)的開始位置,利用密鑰‘12345’來解密數(shù)據(jù)。這樣就使得一個可靠的經(jīng)過高效加密的數(shù)據(jù)安全地傳輸和解密。

 

   一些簡單的基于rsa算法的加密算法可在下面的站點找到:

    ftp://ftp.funet.fi/pub/crypt/cryptography/asymmetric/rsa

 

  三.一個嶄新的多步加密算法

 

    現(xiàn)在又出現(xiàn)了一種新的加密算法,據(jù)說是幾乎不可能被破譯的。這個算法在1998年6月1日才正式公布的。下面詳細的介紹這個算法:

使用一系列的數(shù)字(比如說128位密鑰),來產(chǎn)生一個可重復的但高度隨機化的偽隨機的數(shù)字的序列。一次使用256個表項,使用隨機數(shù)序列來產(chǎn)生密碼轉(zhuǎn)表,如下所示:

把256個隨機數(shù)放在一個距陣中,然后對他們進行排序,使用這樣一種方式(我們要記住最初的位置)使用最初的位置來產(chǎn)生一個表,隨意排序的表,表中的數(shù)字在0到255之間。如果不是很明白如何來做,就可以不管它。但是,下面也提供了一些原碼(在下面)是我們明白是如何來做的?,F(xiàn)在,產(chǎn)生了一個具體的256字節(jié)的表。讓這個隨機數(shù)產(chǎn)生器接著來產(chǎn)生這個表中的其余的數(shù),以至于每個表是不同的。下一步,使用"shotgun technique"技術(shù)來產(chǎn)生解碼表。基本上說,如果 a映射到b,那么b一定可以映射到a,所以b[a[n]] = n.(n是一個在0到255之間的數(shù))。在一個循環(huán)中賦值,使用一個256字節(jié)的解碼表它對應于我們剛才在上一步產(chǎn)生的256字節(jié)的加密表。

 

    使用這個方法,已經(jīng)可以產(chǎn)生這樣的一個表,表的順序是隨機,所以產(chǎn)生這256個字節(jié)的隨機數(shù)使用的是二次偽隨機,使用了兩個額外的16位的密碼.現(xiàn)在,已經(jīng)有了兩張轉(zhuǎn)換表,基本的加密解密是如下這樣工作的。前一個字節(jié)密文是這個256字節(jié)的表的索引?;蛘撸瑸榱颂岣呒用苄Ч?,可以使用多余8位的值,甚至使用校驗和或者crc算法來產(chǎn)生索引字節(jié)。假定這個表是256*256的數(shù)組,將會是下面的樣子:

   

    crypto1 = a[crypto0][value]

 

    變量'crypto1'是加密后的數(shù)據(jù),'crypto0'是前一個加密數(shù)據(jù)(或著是前面幾個加密數(shù)據(jù)的一個函數(shù)值)。很自然的,第一個數(shù)據(jù)需要一個“種子”,這個“種子” 是我們必須記住的。如果使用256*256的表,這樣做將會增加密文的長度?;蛘撸梢允褂媚惝a(chǎn)生出隨機數(shù)序列所用的密碼,也可能是它的crc校驗和。順便提及的是曾作過這樣一個測試: 使用16個字節(jié)來產(chǎn)生表的索引,以128位的密鑰作為這16個字節(jié)的初始的"種子"。然后,在產(chǎn)生出這些隨機數(shù)的表之后,就可以用來加密數(shù)據(jù),速度達到每秒鐘100k個字節(jié)。一定要保證在加密與解密時都使用加密的值作為表的索引,而且這兩次一定要匹配。

 

    加密時所產(chǎn)生的偽隨機序列是很隨意的,可以設(shè)計成想要的任何序列。沒有關(guān)于這個隨機序列的詳細的信息,解密密文是不現(xiàn)實的。例如:一些ascii碼的序列,如“eeeeeeee"可能被轉(zhuǎn)化成一些隨機的沒有任何意義的亂碼,每一個字節(jié)都依賴于其前一個字節(jié)的密文,而不是實際的值。對于任一個單個的字符的這種變換來說,隱藏了加密數(shù)據(jù)的有效的真正的長度。

 

    如果確實不理解如何來產(chǎn)生一個隨機數(shù)序列,就考慮fibbonacci數(shù)列,使用2個雙字(64位)的數(shù)作為產(chǎn)生隨機數(shù)的種子,再加上第三個雙字來做xor操作。 這個算法產(chǎn)生了一系列的隨機數(shù)。算法如下:

 

unsigned long dw1, dw2, dw3, dwmask;

int i1;

unsigned long arandom[256];

 

dw1 = {seed #1};

dw2 = {seed #2};

dwmask = {seed #3};

// this gives you 3 32-bit "seeds", or 96 bits total

for(i1=0; i1 < 256; i1++)

{

dw3 = (dw1 + dw2) ^ dwmask;

arandom[i1] = dw3;

dw1 = dw2;

dw2 = dw3;

}

 

   如果想產(chǎn)生一系列的隨機數(shù)字,比如說,在0和列表中所有的隨機數(shù)之間的一些數(shù),就可以使用下面的方法:

 

int __cdecl mysortproc(void *p1, void *p2)

{

unsigned long **pp1 = (unsigned long **)p1;

unsigned long **pp2 = (unsigned long **)p2;

if(**pp1 < **pp2)

return(-1);

else if(**pp1 > *pp2)

return(1);

return(0);

}

 

...

int i1;

unsigned  long  *aprandom[256];

unsigned  long  arandom[256];    // same array as before, in this case

int  aresult[256];                // results go here

 

for(i1=0; i1 < 256; i1++)

{

aprandom[i1] = arandom + i1;

}

 

// now sort it

qsort(aprandom, 256, sizeof(*aprandom), mysortproc);

 

// final step - offsets for pointers are placed into output array

for(i1=0; i1 < 256; i1++)

{

aresult[i1] = (int)(aprandom[i1] - arandom);

}

...

 

    變量'aresult'中的值應該是一個排過序的唯一的一系列的整數(shù)的數(shù)組,整數(shù)的值的范圍均在0到255之間。這樣一個數(shù)組是非常有用的,例如:對一個字節(jié)對字節(jié)的轉(zhuǎn)換表,就可以很容易并且非??煽康膩懋a(chǎn)生一個短的密鑰(經(jīng)常作為一些隨機數(shù)的種子)。這樣一個表還有其他的用處,比如說:來產(chǎn)生一個隨機的字符,計算機游戲中一個物體的隨機的位置等等。上面的例子就其本身而言并沒有構(gòu)成一個加密算法,只是加密算法一個組成部分。

 

    作為一個測試,開發(fā)了一個應用程序來測試上面所描述的加密算法。程序本身都經(jīng)過了幾次的優(yōu)化和修改,來提高隨機數(shù)的真正的隨機性和防止會產(chǎn)生一些短的可重復的用于加密的隨機數(shù)。用這個程序來加密一個文件,破解這個文件可能會需要非常巨大的時間以至于在現(xiàn)實上是不可能的。

 

  四.結(jié)論:

    由于在現(xiàn)實生活中,我們要確保一些敏感的數(shù)據(jù)只能被有相應權(quán)限的人看到,要確保信息在傳輸?shù)倪^程中不會被篡改,截取,這就需要很多的安全系統(tǒng)大量的應用于政府、大公司以及個人系統(tǒng)。數(shù)據(jù)加密是肯定可以被破解的,但我們所想要的是一個特定時期的安全,也就是說,密文的破解應該是足夠的困難,在現(xiàn)實上是不可能的,尤其是短時間內(nèi)。

 

 

 

參考文獻:

 

1 . pgp!  pgpi.com/

cyber knights(new link)  members.tripod.com/cyberkt/

(old link:  netnet.com/~merlin/knights/ )

2 . crypto chamber  jyu.fi/~paasivir/crypt/

 

3 . ssh cryptograph a-z (includes info on ssl and https)  ssh.fi/tech/crypto/

 

篇2

一:數(shù)據(jù)加密方法

在傳統(tǒng)上,我們有幾種方法來加密數(shù)據(jù)流。所有這些方法都可以用軟件很容易的實現(xiàn),但是當我們只知道密文的時候,是不容易破譯這些加密算法的(當同時有原文和密文時,破譯加密算法雖然也不是很容易,但已經(jīng)是可能的了)。最好的加密算法對系統(tǒng)性能幾乎沒有影響,并且還可以帶來其他內(nèi)在的優(yōu)點。例如,大家都知道的pkzip,它既壓縮數(shù)據(jù)又加密數(shù)據(jù)。又如,dbms的一些軟件包總是包含一些加密方法以使復制文件這一功能對一些敏感數(shù)據(jù)是無效的,或者需要用戶的密碼。所有這些加密算法都要有高效的加密和解密能力。

幸運的是,在所有的加密算法中最簡單的一種就是“置換表”算法,這種算法也能很好達到加密的需要。每一個數(shù)據(jù)段(總是一個字節(jié))對應著“置換表”中的一個偏移量,偏移量所對應的值就輸出成為加密后的文件。加密程序和解密程序都需要一個這樣的“置換表”。事實上,80x86cpu系列就有一個指令‘xlat’在硬件級來完成這樣的工作。這種加密算法比較簡單,加密解密速度都很快,但是一旦這個“置換表”被對方獲得,那這個加密方案就完全被識破了。更進一步講,這種加密算法對于黑客破譯來講是相當直接的,只要找到一個“置換表”就可以了。這種方法在計算機出現(xiàn)之前就已經(jīng)被廣泛的使用。

對這種“置換表”方式的一個改進就是使用2個或者更多的“置換表”,這些表都是基于數(shù)據(jù)流中字節(jié)的位置的,或者基于數(shù)據(jù)流本身。這時,破譯變的更加困難,因為黑客必須正確的做幾次變換。通過使用更多的“置換表”,并且按偽隨機的方式使用每個表,這種改進的加密方法已經(jīng)變的很難破譯。比如,我們可以對所有的偶數(shù)位置的數(shù)據(jù)使用a表,對所有的奇數(shù)位置使用b表,即使黑客獲得了明文和密文,他想破譯這個加密方案也是非常困難的,除非黑客確切的知道用了兩張表。

與使用“置換表”相類似,“變換數(shù)據(jù)位置”也在計算機加密中使用。但是,這需要更多的執(zhí)行時間。從輸入中讀入明文放到一個buffer中,再在buffer中對他們重排序,然后按這個順序再輸出。解密程序按相反的順序還原數(shù)據(jù)。這種方法總是和一些別的加密算法混合使用,這就使得破譯變的特別的困難,幾乎有些不可能了。例如,有這樣一個詞,變換起字母的順序,slient可以變?yōu)閘isten,但所有的字母都沒有變化,沒有增加也沒有減少,但是字母之間的順序已經(jīng)變化了。

但是,還有一種更好的加密算法,只有計算機可以做,就是字/字節(jié)循環(huán)移位和xor操作。如果我們把一個字或字節(jié)在一個數(shù)據(jù)流內(nèi)做循環(huán)移位,使用多個或變化的方向(左移或右移),就可以迅速的產(chǎn)生一個加密的數(shù)據(jù)流。這種方法是很好的,破譯它就更加困難!而且,更進一步的是,如果再使用xor操作,按位做異或操作,就就使破譯密碼更加困難了。如果再使用偽隨機的方法,這涉及到要產(chǎn)生一系列的數(shù)字,我們可以使用fibbonaci數(shù)列。對數(shù)列所產(chǎn)生的數(shù)做模運算(例如模3),得到一個結(jié)果,然后循環(huán)移位這個結(jié)果的次數(shù),將使破譯次密碼變的幾乎不可能!但是,使用fibbonaci數(shù)列這種偽隨機的方式所產(chǎn)生的密碼對我們的解密程序來講是非常容易的。

在一些情況下,我們想能夠知道數(shù)據(jù)是否已經(jīng)被篡改了或被破壞了,這時就需要產(chǎn)生一些校驗碼,并且把這些校驗碼插入到數(shù)據(jù)流中。這樣做對數(shù)據(jù)的防偽與程序本身都是有好處的。但是感染計算機程序的病毒才不會在意這些數(shù)據(jù)或程序是否加過密,是否有數(shù)字簽名。所以,加密程序在每次load到內(nèi)存要開始執(zhí)行時,都要檢查一下本身是否被病毒感染,對與需要加、解密的文件都要做這種檢查!很自然,這樣一種方法體制應該保密的,因為病毒程序的編寫者將會利用這些來破壞別人的程序或數(shù)據(jù)。因此,在一些反病毒或殺病毒軟件中一定要使用加密技術(shù)。

循環(huán)冗余校驗是一種典型的校驗數(shù)據(jù)的方法。對于每一個數(shù)據(jù)塊,它使用位循環(huán)移位和xor操作來產(chǎn)生一個16位或32位的校驗和,這使得丟失一位或兩個位的錯誤一定會導致校驗和出錯。這種方式很久以來就應用于文件的傳輸,例如xmodem-crc。這是方法已經(jīng)成為標準,而且有詳細的文檔。但是,基于標準crc算法的一種修改算法對于發(fā)現(xiàn)加密數(shù)據(jù)塊中的錯誤和文件是否被病毒感染是很有效的。

二.基于公鑰的加密算法

一個好的加密算法的重要特點之一是具有這種能力:可以指定一個密碼或密鑰,并用它來加密明文,不同的密碼或密鑰產(chǎn)生不同的密文。這又分為兩種方式:對稱密鑰算法和非對稱密鑰算法。所謂對稱密鑰算法就是加密解密都使用相同的密鑰,非對稱密鑰算法就是加密解密使用不同的密鑰。非常著名的pgp公鑰加密以及rsa加密方法都是非對稱加密算法。加密密鑰,即公鑰,與解密密鑰,即私鑰,是非常的不同的。從數(shù)學理論上講,幾乎沒有真正不可逆的算法存在。例如,對于一個輸入‘a(chǎn)’執(zhí)行一個操作得到結(jié)果‘b’,那么我們可以基于‘b’,做一個相對應的操作,導出輸入‘a(chǎn)’。在一些情況下,對于每一種操作,我們可以得到一個確定的值,或者該操作沒有定義(比如,除數(shù)為0)。對于一個沒有定義的操作來講,基于加密算法,可以成功地防止把一個公鑰變換成為私鑰。因此,要想破譯非對稱加密算法,找到那個唯一的密鑰,唯一的方法只能是反復的試驗,而這需要大量的處理時間。

rsa加密算法使用了兩個非常大的素數(shù)來產(chǎn)生公鑰和私鑰。即使從一個公鑰中通過因數(shù)分解可以得到私鑰,但這個運算所包含的計算量是非常巨大的,以至于在現(xiàn)實上是不可行的。加密算法本身也是很慢的,這使得使用rsa算法加密大量的數(shù)據(jù)變的有些不可行。這就使得一些現(xiàn)實中加密算法都基于rsa加密算法。pgp算法(以及大多數(shù)基于rsa算法的加密方法)使用公鑰來加密一個對稱加密算法的密鑰,然后再利用一個快速的對稱加密算法來加密數(shù)據(jù)。這個對稱算法的密鑰是隨機產(chǎn)生的,是保密的,因此,得到這個密鑰的唯一方法就是使用私鑰來解密。

我們舉一個例子:假定現(xiàn)在要加密一些數(shù)據(jù)使用密鑰‘12345’。利用rsa公鑰,使用rsa算法加密這個密鑰‘12345’,并把它放在要加密的數(shù)據(jù)的前面(可能后面跟著一個分割符或文件長度,以區(qū)分數(shù)據(jù)和密鑰),然后,使用對稱加密算法加密正文,使用的密鑰就是‘12345’。當對方收到時,解密程序找到加密過的密鑰,并利用rsa私鑰解密出來,然后再確定出數(shù)據(jù)的開始位置,利用密鑰‘12345’來解密數(shù)據(jù)。這樣就使得一個可靠的經(jīng)過高效加密的數(shù)據(jù)安全地傳輸和解密。

一些簡單的基于rsa算法的加密算法可在下面的站點找到:

ftp://ftp.funet.fi/pub/crypt/cryptography/asymmetric/rsa

三.一個嶄新的多步加密算法

現(xiàn)在又出現(xiàn)了一種新的加密算法,據(jù)說是幾乎不可能被破譯的。這個算法在1998年6月1日才正式公布的。下面詳細的介紹這個算法:

使用一系列的數(shù)字(比如說128位密鑰),來產(chǎn)生一個可重復的但高度隨機化的偽隨機的數(shù)字的序列。一次使用256個表項,使用隨機數(shù)序列來產(chǎn)生密碼轉(zhuǎn)表,如下所示:

把256個隨機數(shù)放在一個距陣中,然后對他們進行排序,使用這樣一種方式(我們要記住最初的位置)使用最初的位置來產(chǎn)生一個表,隨意排序的表,表中的數(shù)字在0到255之間。如果不是很明白如何來做,就可以不管它。但是,下面也提供了一些原碼(在下面)是我們明白是如何來做的。現(xiàn)在,產(chǎn)生了一個具體的256字節(jié)的表。讓這個隨機數(shù)產(chǎn)生器接著來產(chǎn)生這個表中的其余的數(shù),以至于每個表是不同的。下一步,使用"shotguntechnique"技術(shù)來產(chǎn)生解碼表?;旧险f,如果a映射到b,那么b一定可以映射到a,所以b[a[n]]=n.(n是一個在0到255之間的數(shù))。在一個循環(huán)中賦值,使用一個256字節(jié)的解碼表它對應于我們剛才在上一步產(chǎn)生的256字節(jié)的加密表。

使用這個方法,已經(jīng)可以產(chǎn)生這樣的一個表,表的順序是隨機,所以產(chǎn)生這256個字節(jié)的隨機數(shù)使用的是二次偽隨機,使用了兩個額外的16位的密碼.現(xiàn)在,已經(jīng)有了兩張轉(zhuǎn)換表,基本的加密解密是如下這樣工作的。前一個字節(jié)密文是這個256字節(jié)的表的索引?;蛘?,為了提高加密效果,可以使用多余8位的值,甚至使用校驗和或者crc算法來產(chǎn)生索引字節(jié)。假定這個表是256*256的數(shù)組,將會是下面的樣子:

crypto1=a[crypto0][value]

變量''''crypto1''''是加密后的數(shù)據(jù),''''crypto0''''是前一個加密數(shù)據(jù)(或著是前面幾個加密數(shù)據(jù)的一個函數(shù)值)。很自然的,第一個數(shù)據(jù)需要一個“種子”,這個“種子”是我們必須記住的。如果使用256*256的表,這樣做將會增加密文的長度?;蛘撸梢允褂媚惝a(chǎn)生出隨機數(shù)序列所用的密碼,也可能是它的crc校驗和。順便提及的是曾作過這樣一個測試:使用16個字節(jié)來產(chǎn)生表的索引,以128位的密鑰作為這16個字節(jié)的初始的"種子"。然后,在產(chǎn)生出這些隨機數(shù)的表之后,就可以用來加密數(shù)據(jù),速度達到每秒鐘100k個字節(jié)。一定要保證在加密與解密時都使用加密的值作為表的索引,而且這兩次一定要匹配。

加密時所產(chǎn)生的偽隨機序列是很隨意的,可以設(shè)計成想要的任何序列。沒有關(guān)于這個隨機序列的詳細的信息,解密密文是不現(xiàn)實的。例如:一些ascii碼的序列,如“eeeeeeee"可能被轉(zhuǎn)化成一些隨機的沒有任何意義的亂碼,每一個字節(jié)都依賴于其前一個字節(jié)的密文,而不是實際的值。對于任一個單個的字符的這種變換來說,隱藏了加密數(shù)據(jù)的有效的真正的長度。

如果確實不理解如何來產(chǎn)生一個隨機數(shù)序列,就考慮fibbonacci數(shù)列,使用2個雙字(64位)的數(shù)作為產(chǎn)生隨機數(shù)的種子,再加上第三個雙字來做xor操作。這個算法產(chǎn)生了一系列的隨機數(shù)。算法如下:

unsignedlongdw1,dw2,dw3,dwmask;

inti1;

unsignedlongarandom[256];

dw1={seed#1};

dw2={seed#2};

dwmask={seed#3};

//thisgivesyou332-bit"seeds",or96bitstotal

for(i1=0;i1<256;i1++)

{

dw3=(dw1+dw2)^dwmask;

arandom[i1]=dw3;

dw1=dw2;

dw2=dw3;

}

如果想產(chǎn)生一系列的隨機數(shù)字,比如說,在0和列表中所有的隨機數(shù)之間的一些數(shù),就可以使用下面的方法:

int__cdeclmysortproc(void*p1,void*p2)

{

unsignedlong**pp1=(unsignedlong**)p1;

unsignedlong**pp2=(unsignedlong**)p2;

if(**pp1<**pp2)

return(-1);

elseif(**pp1>*pp2)

return(1);

return(0);

}

...

inti1;

unsignedlong*aprandom[256];

unsignedlongarandom[256];//samearrayasbefore,inthiscase

intaresult[256];//resultsgohere

for(i1=0;i1<256;i1++)

{

aprandom[i1]=arandom+i1;

}

//nowsortit

qsort(aprandom,256,sizeof(*aprandom),mysortproc);

//finalstep-offsetsforpointersareplacedintooutputarray

for(i1=0;i1<256;i1++)

{

aresult[i1]=(int)(aprandom[i1]-arandom);

}

...

變量''''aresult''''中的值應該是一個排過序的唯一的一系列的整數(shù)的數(shù)組,整數(shù)的值的范圍均在0到255之間。這樣一個數(shù)組是非常有用的,例如:對一個字節(jié)對字節(jié)的轉(zhuǎn)換表,就可以很容易并且非常可靠的來產(chǎn)生一個短的密鑰(經(jīng)常作為一些隨機數(shù)的種子)。這樣一個表還有其他的用處,比如說:來產(chǎn)生一個隨機的字符,計算機游戲中一個物體的隨機的位置等等。上面的例子就其本身而言并沒有構(gòu)成一個加密算法,只是加密算法一個組成部分。

作為一個測試,開發(fā)了一個應用程序來測試上面所描述的加密算法。程序本身都經(jīng)過了幾次的優(yōu)化和修改,來提高隨機數(shù)的真正的隨機性和防止會產(chǎn)生一些短的可重復的用于加密的隨機數(shù)。用這個程序來加密一個文件,破解這個文件可能會需要非常巨大的時間以至于在現(xiàn)實上是不可能的。

四.結(jié)論:

由于在現(xiàn)實生活中,我們要確保一些敏感的數(shù)據(jù)只能被有相應權(quán)限的人看到,要確保信息在傳輸?shù)倪^程中不會被篡改,截取,這就需要很多的安全系統(tǒng)大量的應用于政府、大公司以及個人系統(tǒng)。數(shù)據(jù)加密是肯定可以被破解的,但我們所想要的是一個特定時期的安全,也就是說,密文的破解應該是足夠的困難,在現(xiàn)實上是不可能的,尤其是短時間內(nèi)。

參考文獻:

1.pgp!/

cyberknights(newlink)/cyberkt/

(oldlink:/~merlin/knights/)

2.cryptochamberjyu.fi/~paasivir/crypt/

3.sshcryptographa-z(includesinfoonsslandhttps)ssh.fi/tech/crypto/

4.funet''''cryptologyftp(yetanotherfinlandresource)ftp://ftp.funet.fi/pub/crypt/

agreatenigmaarticle,howthecodewasbrokenbypolishscientists

/nbrass/1enigma.htm

5.ftpsiteinukftp://sable.ox.ac.uk/pub/crypto/

6.australianftpsiteftp://ftp.psy.uq.oz.au/pub/

7.replayassociatesftparchiveftp://utopia.hacktic.nl/pub/replay/pub/crypto/

8.rsadatasecurity(whynotincludethemtoo!)/

篇3

21世紀是一個信息大爆炸的時代,計算機和網(wǎng)絡的發(fā)展越來越先進的同時,我們亟待解決的問題也是層出不窮,為了保證我們個人的信息數(shù)據(jù)安全,除了安裝殺毒軟件之外,我們還應該使用加密技術(shù)保證信息數(shù)據(jù)的安全性。以下是目前的一些計算機信息數(shù)據(jù)加密技術(shù)的介紹。

1.1計算機信息數(shù)據(jù)的存儲加密以及傳輸加密

存儲加密和傳輸加密是計算機信息數(shù)據(jù)安全的重要組成部分。下面就計算機的傳輸加密和存儲加密技術(shù)進行詳細的介紹:

(1)計算機信息存儲加密技術(shù):存儲加密技術(shù)是計算機在運行過程中數(shù)據(jù)在計算機中存儲的過程的安全。存儲加密技術(shù)根據(jù)是實現(xiàn)的方式的不同,又可以分為存儲控制和密文存儲兩種類型。加密模塊或者加密算法是實行密文存儲的主要方式,限制用戶的權(quán)限和辨別用戶的合法性是實現(xiàn)存儲控制的兩種方式。這兩種加密技術(shù)均可有效的防治計算機信息在存儲的過程中的盜取。

(2)計算機信息傳輸加密技術(shù):對需要傳輸?shù)臄?shù)據(jù)進行加密處理是傳輸加密技術(shù)的主要方式,來確保計算機信息數(shù)據(jù)在傳輸過程中的安全性。傳輸加密技術(shù)也包括兩種類型:端-端加密和線路加密。對傳輸路線進行不同的加密密匙是線路加密技術(shù)的主要實現(xiàn)方式。發(fā)送用戶在發(fā)送信息數(shù)據(jù)的時候就對信息進行加密處理,用無法識別的方式或者無法閱讀的方式進行信息的傳輸,當數(shù)據(jù)到達目的地以后,接受用戶解碼這些數(shù)據(jù)包,就變成了可供用戶使用信息了。

1.2確認加密技術(shù)和密匙管理加密技術(shù)

除了上文中提到的計算機存儲加密技術(shù)和傳輸加密技術(shù)以外,還有另外一種加密技術(shù)即確認加密技術(shù)和密匙管理加密技術(shù)。

(1)密匙管理加密技術(shù):密匙的媒體主要有磁卡、半導體存儲器以及磁盤等,密匙的產(chǎn)生、保存以及銷毀時密匙管理技術(shù)的重要組成部分。為保證信息數(shù)據(jù)的安全性我們可以通過密匙管理加密技術(shù),密匙的管理技術(shù)就是通過管理以上各個環(huán)節(jié)的安全來保證計算機信息數(shù)據(jù)的安全。

(2)確認加密技術(shù):通過限制計算機數(shù)據(jù)信息的共享范圍是確認加密技術(shù)的只要實現(xiàn)方式,防治惡意程序的修改和仿造,更好的保證了計算機信息數(shù)據(jù)的安全性。確認加密技術(shù)可以有效防止別人偽造虛假信息。還能夠使接受者辨別自己收到的信息是否合法真實的。在確認加密技術(shù)中,根據(jù)目的的不同信息確認的系統(tǒng)主要有以下幾種不同的形式:消息確認、身份確認、數(shù)字簽字。

1.3消息摘要和完整性鑒別技術(shù)

(1)消息摘要就是與一個消息或者文本唯一相對應的一個值,從國一個單項的hash加密函數(shù)對消息發(fā)生作用而產(chǎn)生的加密技術(shù)。

(2)完整性鑒別技術(shù):完整性鑒別技術(shù)是一套完整的鑒別系統(tǒng),由信息數(shù)據(jù)、身份、口令和密匙等多項內(nèi)容組成。在運行計算機的過程中,系統(tǒng)會驗證這些輸入的項目,判斷輸入的數(shù)值是否和設(shè)定的值一致。有效的保護了計算機數(shù)據(jù)信息的安全。

2結(jié)束語

篇4

1數(shù)據(jù)加密技術(shù)在計算機安全中的應用

在運行計算機網(wǎng)絡的過程中,所有應用系統(tǒng)在提供服務的過程中,該應用系統(tǒng)運行時都需要通過數(shù)據(jù)資料的傳輸。所以數(shù)據(jù)信息的安全性是保障整個計算機網(wǎng)絡正常運行的關(guān)鍵所在。數(shù)據(jù)加密的過程就是根據(jù)某種算法,對原有合法文件、數(shù)據(jù)資料進行適當?shù)奶幚?,使其成為一段不可讀取的代碼,一般情況下被稱為“密文”,并使其只能在輸入相應的密鑰后才能夠顯示出原有的資料內(nèi)容,利用這種技術(shù)手段能夠?qū)崿F(xiàn)保護網(wǎng)絡數(shù)據(jù)資料不會受到非法入侵人員竊取的目的。數(shù)據(jù)加密是按照既定的密碼將強設(shè)別性能的明文密碼改成識別難度大的數(shù)據(jù)形式,并利用不同的密鑰,采取相同的加密算法將文件進行加密,從而形成了不同的密文模式將數(shù)據(jù)資料保護起來。數(shù)據(jù)加密技術(shù)在整個社會的各個領(lǐng)域中的應用方式與應用形式都不相同。在硬件的應用方面,公交IC卡、門禁卡、二代身份證等,均嵌入了IC芯片,而怎樣將數(shù)據(jù)加密技術(shù)應用到IC芯片中,將會成為數(shù)據(jù)加密技術(shù)新的發(fā)展方向?,F(xiàn)階段,在計算機網(wǎng)絡交易的過程中,我國的各大銀行都采用的是數(shù)據(jù)加密技術(shù)和計算機網(wǎng)絡進行了互換機械設(shè)備的聯(lián)動,并將所有數(shù)據(jù)流的信息資料安全傳輸?shù)皆O(shè)備中,系統(tǒng)再按照其傳輸?shù)臄?shù)據(jù)信息進行了環(huán)境分析,一旦檢查到安全隱患,將會立刻采取必要的手段,將計算機網(wǎng)絡安全問題的具體反映動作準確傳輸?shù)浇粨Q機上,交換機及西寧端口關(guān)閉,從而保護了數(shù)據(jù)庫中的數(shù)據(jù)信息并更改了密碼。密鑰作為目前數(shù)據(jù)加密的重要表現(xiàn)形式,相比較而言,數(shù)據(jù)的安全性能更高,具備公用與私人這兩種不同形式,所適用的范圍較為廣泛,尤其是在計算機網(wǎng)絡的交易過程中,使用這種形式更加廣泛,例如:利用信用卡進行購物的過程中,商家使用的是公用密鑰,這為解讀利用信用卡在購物過程中產(chǎn)生的信息提供了方便,也可能會留下信用卡戶主的個人信息記錄。數(shù)字簽名認證作為目前數(shù)據(jù)加密技術(shù)的另一種主要表現(xiàn)形式。基于在數(shù)據(jù)加密技術(shù)上數(shù)字簽名認證技術(shù),采用加密解密的計算方法進行數(shù)據(jù)安全保障。數(shù)字加密技術(shù)也分為公用與私人這兩種形式,但是通常情況下,簽名安全認證系統(tǒng)在計算機網(wǎng)站的稅務安全部門得到了比較廣泛的應用。此外,在電子商務運行平臺方面,數(shù)據(jù)加密技術(shù)充分利用自身安全性高這一特征,保障了SSL協(xié)議中能夠安全傳輸用戶密碼與個人信息數(shù)據(jù)等。

2結(jié)語

人們在使用計算機網(wǎng)絡的同時也越來越關(guān)注重要數(shù)據(jù)資料的保密性與安全性?,F(xiàn)階段,數(shù)據(jù)加密技術(shù)成為了保障數(shù)據(jù)信息安全性的有效技術(shù)手段。人們應該加大對數(shù)據(jù)加密技術(shù)的研究力度。

作者:易鳴亮單位:湖北工業(yè)大學

篇5

關(guān)鍵詞:信息數(shù)據(jù) 安全 加密技術(shù)

當前形勢下,人們進行信息數(shù)據(jù)的傳遞與交流主要面臨著兩個方面的信息安全影響:人為因素和非人為因素。其中人為因素是指:黑客、病毒、木馬、電子欺騙等;非人為因素是指:不可抗力的自然災害如火災、電磁波干擾、或者是計算機硬件故障、部件損壞等。在諸多因素的制約下,如果不對信息數(shù)據(jù)進行必要的加密處理,我們傳遞的信息數(shù)據(jù)就可能泄露,被不法分子獲得,損害我們自身以及他人的根本利益,甚至造成國家安全危害。因此,信息數(shù)據(jù)的安全和加密在當前形勢下對人們的生活來說是必不可少的,通過信息數(shù)據(jù)加密,信息數(shù)據(jù)有了安全保障,人們不必再顧忌信息數(shù)據(jù)的泄露,能夠放心地在網(wǎng)絡上完成便捷的信息數(shù)據(jù)傳遞與交流。

1、信息數(shù)據(jù)安全與加密的必要外部條件

1.1 計算機安全。每一個計算機網(wǎng)絡用戶都首先把自己的信息數(shù)據(jù)存儲在計算機之中,然后,才進行相互之間的信息數(shù)據(jù)傳遞與交流,有效地保障其信息數(shù)據(jù)的安全必須以保證計算機的安全為前提,計算機安全主要有兩個方面包括:計算機的硬件安全與計算機軟件安全。1)計算機硬件安全技術(shù)。保持計算機正常的運轉(zhuǎn),定期檢查是否出現(xiàn)硬件故障,并及時維修處理,在易損器件出現(xiàn)安全問題之前提前更換,保證計算機通電線路安全,提供備用供電系統(tǒng),實時保持線路暢通。2)計算機軟件安全技術(shù)。首先,必須有安全可靠的操作系統(tǒng)。作為計算機工作的平臺,操作系統(tǒng)必須具有訪問控制、安全內(nèi)核等安全功能,能夠隨時為計算機新加入軟件進行檢測,如提供windows安全警報等等。其次,計算機殺毒軟件,每一臺計算機要正常的上網(wǎng)與其他用戶交流信息,都必須實時防護計算機病毒的危害,一款好的殺毒軟件可以有效地保護計算機不受病毒的侵害。

1.2 通信安全。通信安全是信息數(shù)據(jù)的傳輸?shù)幕緱l件,當傳輸信息數(shù)據(jù)的通信線路存在安全隱患時,信息數(shù)據(jù)就不可能安全的傳遞到指定地點。盡管隨著科學技術(shù)的逐步改進,計算機通信網(wǎng)絡得到了進一步完善和改進,但是,信息數(shù)據(jù)仍舊要求有一個安全的通信環(huán)境。主要通過以下技術(shù)實現(xiàn)。1)信息加密技術(shù)。這是保障信息安全的最基本、最重要、最核心的技術(shù)措施。我們一般通過各種各樣的加密算法來進行具體的信息數(shù)據(jù)加密,保護信息數(shù)據(jù)的安全通信。2)信息確認技術(shù)。為有效防止信息被非法偽造、篡改和假冒,我們限定信息的共享范圍,就是信息確認技術(shù)。通過該技術(shù),發(fā)信者無法抵賴自己發(fā)出的消息;合法的接收者可以驗證他收到的消息是否真實;除合法發(fā)信者外,別人無法偽造消息。3)訪問控制技術(shù)。該技術(shù)只允許用戶對基本信息庫的訪問,禁止用戶隨意的或者是帶有目的性的刪除、修改或拷貝信息文件。與此同時,系統(tǒng)管理員能夠利用這一技術(shù)實時觀察用戶在網(wǎng)絡中的活動,有效的防止黑客的入侵。

2、信息數(shù)據(jù)的安全與加密技術(shù)

隨著計算機網(wǎng)絡化程度逐步提高,人們對信息數(shù)據(jù)傳遞與交流提出了更高的安全要求,信息數(shù)據(jù)的安全與加密技術(shù)應運而生。然而,傳統(tǒng)的安全理念認為網(wǎng)絡內(nèi)部是完全可信任,只有網(wǎng)外不可信任,導致了在信息數(shù)據(jù)安全主要以防火墻、入侵檢測為主,忽視了信息數(shù)據(jù)加密在網(wǎng)絡內(nèi)部的重要性。以下介紹信息數(shù)據(jù)的安全與加密技術(shù)。

2.1 存儲加密技術(shù)和傳輸加密技術(shù)。存儲加密技術(shù)分為密文存儲和存取控制兩種,其主要目的是防止在信息數(shù)據(jù)存儲過程中信息數(shù)據(jù)泄露。密文存儲主要通過加密算法轉(zhuǎn)換、加密模塊、附加密碼加密等方法實現(xiàn);存取控制則通過審查和限制用戶資格、權(quán)限,辨別用戶的合法性,預防合法用戶越權(quán)存取信息數(shù)據(jù)以及非法用戶存取信息數(shù)據(jù)。

傳輸加密技術(shù)分為線路加密和端-端加密兩種,其主要目的是對傳輸中的信息數(shù)據(jù)流進行加密。線路加密主要通過對各線路采用不同的加密密鑰進行線路加密,不考慮信源與信宿的信息安全保護。端-端加密是信息由發(fā)送者端自動加密,并進入TCP/IP信息數(shù)據(jù)包,然后作為不可閱讀和不可識別的信息數(shù)據(jù)穿過互聯(lián)網(wǎng),這些信息一旦到達目的地,將被自動重組、解密,成為可讀信息數(shù)據(jù)。

2.2 密鑰管理加密技術(shù)和確認加密技術(shù)。密鑰管理加密技術(shù)是為了信息數(shù)據(jù)使用的方便,信息數(shù)據(jù)加密在許多場合集中表現(xiàn)為密鑰的應用,因此密鑰往往是保密與竊密的主要對象。密鑰的媒體有:磁卡、磁帶、磁盤、半導體存儲器等。密鑰的管理技術(shù)包括密鑰的產(chǎn)生、分配、保存、更換與銷毀等各環(huán)節(jié)上的保密措施。網(wǎng)絡信息確認加密技術(shù)通過嚴格限定信息的共享范圍來防止信息被非法偽造、篡改和假冒。一個安全的信息確認方案應該能使:合法的接收者能夠驗證他收到的消息是否真實;發(fā)信者無法抵賴自己發(fā)出的消息;除合法發(fā)信者外,別人無法偽造消息;發(fā)生爭執(zhí)時可由第三人仲裁。按照其具體目的,信息確認系統(tǒng)可分為消息確認、身份確認和數(shù)字簽名。數(shù)字簽名是由于公開密鑰和私有密鑰之間存在的數(shù)學關(guān)系,使用其中一個密鑰加密的信息數(shù)據(jù)只能用另一個密鑰解開。發(fā)送者用自己的私有密鑰加密信息數(shù)據(jù)傳給接收者,接收者用發(fā)送者的公鑰解開信息數(shù)據(jù)后,就可確定消息來自誰。這就保證了發(fā)送者對所發(fā)信息不能抵賴。

2.3 消息摘要和完整性鑒別技術(shù)。消息摘要是一個惟一對應一個消息或文本的值,由一個單向Hash加密函數(shù)對消息作用而產(chǎn)生。信息發(fā)送者使用自己的私有密鑰加密摘要,也叫做消息的數(shù)字簽名。消息摘要的接受者能夠通過密鑰解密確定消息發(fā)送者,當消息在途中被改變時,接收者通過對比分析消息新產(chǎn)生的摘要與原摘要的不同,就能夠發(fā)現(xiàn)消息是否中途被改變。所以說,消息摘要保證了消息的完整性。

完整性鑒別技術(shù)一般包括口令、密鑰、身份(介入信息傳輸、存取、處理的人員的身份)、信息數(shù)據(jù)等項的鑒別。通常情況下,為達到保密的要求,系統(tǒng)通過對比驗證對象輸入的特征值是否符合預先設(shè)定的參數(shù),實現(xiàn)對信息數(shù)據(jù)的安全保護。

3、結(jié)束語

綜上所述,信息數(shù)據(jù)的安全與加密技術(shù),是保障當前形勢下我們安全傳遞與交流信息的基本技術(shù),對信息安全至關(guān)重要。希望通過本文的研究,能夠拋磚引玉,引起國內(nèi)外專家的重視,投入更多的精力以及更多的財力、物力來研究信息數(shù)據(jù)安全與加密技術(shù),以便更好的保障每一個網(wǎng)絡使用者的信息安全。

參考文獻

[1]曾莉紅,基于網(wǎng)絡的信息包裝與信息數(shù)據(jù)加密[J].包裝工程,2007(08).

[2]華碩升級光盤加密技術(shù)[J].消費電子商訊,2009(11).

篇6

Abstract: Data encryption is an effective way to protect data security. It treats a paragraph in some calculating method and to change the paragraph into a cipher text to prevent data from stealing and reading by unauthorized people. Data encryption could be divided into "symmetric" encryption and "asymmetric" encryption. Multi-step belongs to the symmetric encryption and is widely used because of its high security.

關(guān)鍵詞:多步數(shù)據(jù)加密;密鑰;偽隨機序列

Key words: multi-step data encryption;encryption key;pseudo-random sequence

中圖分類號:TP30 文獻標識碼:A文章編號:1006-4311(2010)18-0185-02

1數(shù)據(jù)加密的概念、理由及標準

1.1 數(shù)據(jù)加密的概念數(shù)據(jù)加密的基本過程就是對原來為明文的文件或數(shù)據(jù)按某種算法進行處理,使其成為不可讀的一段代碼,通常稱為“密文”,使其只能在輸入相應的密鑰之后才能顯示出本來內(nèi)容,通過這樣的途徑來達到保護數(shù)據(jù)不被非法人竊取、閱讀的目的。該過程的逆過程為解密,即將該編碼信息轉(zhuǎn)化為其原來數(shù)據(jù)的過程。

1.2 數(shù)據(jù)加密的標準最早、最著名的保密密鑰或?qū)ΨQ密鑰加密算法DES(Data Encryption Standard)是由IBM公司在20世紀70年展起來,并經(jīng)政府的加密標準篩選后,于1976年11月被美國政府采用,DES隨后被美國國家標準局和美國國家標準協(xié)會(American National Standard Institute,ANSI)承認。DES使用56位密鑰對64位的數(shù)據(jù)塊進行加密,并對64位的數(shù)據(jù)塊進行16輪編碼。當時DES被認為是一種十分強大的加密方法。

隨著計算機硬件的速度越來越快,制造一臺這樣特殊的機器的花費已經(jīng)降到了十萬美元左右,而用它來保護十億美元的銀行,那顯然是不夠保險了。另一方面,如果只用它來保護一臺普通服務器,那么DES確實是一種好的辦法,因為黑客絕不會僅僅為入侵一個服務器而花那么多的錢破解DES密文。另一種非常著名的加密算法就是RSA了,RSA(Rivest-Shamir-Adleman)算法是基于大數(shù)不可能被質(zhì)因數(shù)分解假設(shè)的公鑰體系。簡單地說就是找兩個很大的質(zhì)數(shù)。一個對外公開的為“公鑰”(Prblic key) ,另一個不告訴任何人,稱為“私鑰”(Private key)。這兩個密鑰是互補的,也就是說用公鑰加密的密文可以用私鑰解密,反過來也一樣。

2數(shù)據(jù)加密方法

對稱加密算法是應用較早的加密算法,技術(shù)成熟。對稱式加密就是加密和解密使用同一個密鑰。在對稱加密算法中,數(shù)據(jù)發(fā)信方將明文(原始數(shù)據(jù))和加密密鑰一起經(jīng)過特殊加密算法處理后,使其變成復雜的加密密文發(fā)送出去。收信方收到密文后,若想解讀原文,則需要使用加密用過的密鑰及相同算法的逆算法對密文進行解密,才能使其恢復成可讀明文。在對稱加密算法中,使用的密鑰只有一個,發(fā)收信雙方都使用這個密鑰對數(shù)據(jù)進行加密和解密,這就要求解密方事先必須知道加密密鑰。對稱加密算法的特點是算法公開、計算量小、加密速度快、加密效率高。不足之處是,交易雙方都使用同樣鑰匙,安全性得不到保證。此外,每對用戶每次使用對稱加密算法時,都需要使用其他人不知道的惟一鑰匙,這會使得發(fā)收信雙方所擁有的鑰匙數(shù)量成幾何級數(shù)增長,密鑰管理成為用戶的負擔。對稱加密算法在分布式網(wǎng)絡系統(tǒng)上使用較為困難,主要是因為密鑰管理困難,使用成本較高。在計算機專網(wǎng)系統(tǒng)中廣泛使用的對稱加密算法有DES、IDEA和AES。

3多步加密算法

下面將介紹一種嶄新的數(shù)據(jù)加密算法,這個算法在1998年6月1日才正式公布的,據(jù)說是幾乎不可能被破譯的。下面詳細的介紹這個算法:使用一系列的數(shù)字(比如說128位密鑰),來產(chǎn)生一個可重復的但高度隨機化的偽隨機的數(shù)字的序列。一次使用256個表項,使用隨機數(shù)序列來產(chǎn)生密碼轉(zhuǎn)表,把256個隨機數(shù)放在一個距陣中,然后對他們進行排序,使用這樣一種方式(我們要記住最初的位置)使用最初的位置來產(chǎn)生一個表,隨意排序的表,表中的數(shù)字在0到255之間。如果不是很明白如何來做,就可以不管它。但是,下面也提供了一些原碼(在下面)是我們明白是如何來做的?,F(xiàn)在,產(chǎn)生了一個具體的256字節(jié)的表。讓這個隨機數(shù)產(chǎn)生器接著來產(chǎn)生這個表中的其余的數(shù),以至于每個表是不同的。下一步,使用“shotgun technique”技術(shù)來產(chǎn)生解碼表?;旧险f,如果a映射到b,那么b一定可以映射到a,所以b[a[n]]=n.(n是一個在0到255之間的數(shù))。在一個循環(huán)中賦值,使用一個256字節(jié)的解碼表它對應于我們剛才在上一步產(chǎn)生的256字節(jié)的加密表。

4加密技術(shù)的應用

現(xiàn)在人們開始用RSA(一種公開/私有密鑰)的加密技術(shù),提高信用卡交易的安全性,從而使電子商務走向?qū)嵱贸蔀榭赡?。NETSCAPE公司是Internet商業(yè)中領(lǐng)先技術(shù)的提供者,該公司提供了一種基于RSA和保密密鑰的應用于因特網(wǎng)的技術(shù),被稱為安全插座層(Secure Sockets Layer,SSL)。

Socket是一個編程界面,并不提供任何安全措施,而SSL不但提供編程界面,而且向上提供一種安全的服務,SSL3.0現(xiàn)在已經(jīng)應用到了服務器和瀏覽器上,SSL2.0則只能應用于服務器端。SSL3.0用一種電子證書(electric certificate)來實行身份進行驗證后,雙方就可以用保密密鑰進行安全的會話了。它同時使用“對稱”和“非對稱”加密方法,在客戶與電子商務的服務器進行溝通的過程中,客戶會產(chǎn)生一個Session Key,然后客戶用服務器端的公鑰將Session Key進行加密,再傳給服務器端,在雙方都知道Session Key后,傳輸?shù)臄?shù)據(jù)都是以Session Key進行加密與解密的,但服務器端發(fā)給用戶的公鑰必需先向有關(guān)發(fā)證機關(guān)申請,以得到公證?;赟SL3.0提供的安全保障,用戶就可以自由訂購商品并且給出信用卡號了,也可以在網(wǎng)上和合作伙伴交流商業(yè)信息并且讓供應商把訂單和收貨單從網(wǎng)上發(fā)過來,這樣可以節(jié)省大量的紙張,為公司節(jié)省大量的電話、傳真費用。

現(xiàn)在,越多越多的公司走向國際化,一個公司可能在多個國家都有辦事機構(gòu)或銷售中心,每一個機構(gòu)都有自己的局域網(wǎng)LAN(Local Area Network),但在當今的網(wǎng)絡社會人們的要求不僅如此,用戶希望將這些LAN連結(jié)在一起組成一個公司的廣域網(wǎng),這個在現(xiàn)在已不是什么難事了。

篇7

關(guān)鍵詞:關(guān)系型數(shù)據(jù)庫;加密;加密算法;粒度

中圖分類號:F062.5文獻標志碼:A文章編號:1673-291X(2009)32-0258-02

數(shù)據(jù)庫技術(shù)是信息系統(tǒng)的核心和基礎(chǔ),它的出現(xiàn)極大地促進了計算機應用向各行各業(yè)的滲透。數(shù)據(jù)庫的建設(shè)規(guī)模、數(shù)據(jù)庫信息量的大小和使用頻度已逐漸成為衡量一個國家信息化程度的重要標志。在眾多數(shù)據(jù)庫模型中關(guān)系型數(shù)據(jù)庫是現(xiàn)今使用最廣泛、最容易理解和使用的數(shù)據(jù)庫模型。大多數(shù)的企業(yè)級系統(tǒng)數(shù)據(jù)庫都采用關(guān)系型數(shù)據(jù)庫。下面本文就將對關(guān)系型數(shù)據(jù)庫加密進行一些探討性的研究。

1關(guān)系型數(shù)據(jù)庫加密的必要性

關(guān)系型數(shù)據(jù)庫系統(tǒng)的安全不僅依賴自身內(nèi)部的安全機制,還與外部網(wǎng)絡環(huán)境、應用環(huán)境、從業(yè)人員素質(zhì)等因素息息相關(guān)。因此,從廣義上講,數(shù)據(jù)庫系統(tǒng)的安全框架可以劃分為三個層次,即網(wǎng)絡系統(tǒng)層次、宿主操作系統(tǒng)層次、數(shù)據(jù)庫管理系統(tǒng)層次。

這三個層次構(gòu)筑成數(shù)據(jù)庫系統(tǒng)的安全體系,與數(shù)據(jù)安全的關(guān)系是逐步緊密的,防范的重要性也逐層加強,從外到內(nèi)、由表及里保證數(shù)據(jù)的安全。但是,值得注意的是OS和DBMS對數(shù)據(jù)庫文件本身仍然缺乏有效的保護措施,無法阻擋對數(shù)據(jù)文件本身的攻擊。最簡單的,如有人偷走了存放數(shù)據(jù)文件的硬盤,則文件中的信息將被泄露。

據(jù)有關(guān)資料報道,80%的計算機犯罪來自系統(tǒng)內(nèi)部。在傳統(tǒng)的關(guān)系型數(shù)據(jù)庫系統(tǒng)中,數(shù)據(jù)庫管理員的權(quán)力是至高無上,他既負責各項系統(tǒng)管理工作,又可以查詢數(shù)據(jù)庫中的一切信息。為此,不少系統(tǒng)以種種手段來削弱系統(tǒng)管理員的權(quán)力。實現(xiàn)關(guān)系型數(shù)據(jù)庫加密以后,各用戶(或用戶組)的數(shù)據(jù)由用戶用自己的密鑰加密,數(shù)據(jù)庫管理員獲得的信息無法進行正常解密,從而保證了用戶信息的安全。

2關(guān)系型數(shù)據(jù)庫加密的要求與限制

2.1關(guān)系型數(shù)據(jù)庫加密的要求

由于關(guān)系型數(shù)據(jù)庫本身的特點和實際應用需求,對關(guān)系型數(shù)據(jù)庫加密一般應實現(xiàn)以下功能:

(1)由于關(guān)系型數(shù)據(jù)庫數(shù)據(jù)信息的生命周期一般比較長,所以加強加密的力度,難以破譯;

(2)數(shù)據(jù)信息在加密后,不能明顯地擴大存儲空間;

(3)不能影響數(shù)據(jù)庫的使用速度,即加/解密速度都應足夠快;

(4)加密系統(tǒng)應同時提供一套安全的、靈活的密鑰管理機構(gòu),提供靈活的加密要求滿足;

(5)加密后的關(guān)系型數(shù)據(jù)庫仍能滿足用戶在不同類別程度上的訪問。

2.2關(guān)系型數(shù)據(jù)庫加密的限制

數(shù)據(jù)加密通過對明文進行復雜的加密操作,以達到無法發(fā)現(xiàn)明文和密文之間、密文和密鑰之間的內(nèi)在關(guān)系,復雜性已經(jīng)破譯的難度要求足夠高,也就是說經(jīng)過加密的數(shù)據(jù)經(jīng)得起來自DS和DBMS的攻擊。另一方面,DBMS要完成對數(shù)據(jù)庫文件的管理和使用,必須具有能夠識別部分數(shù)據(jù)的條件。因此,只能對數(shù)據(jù)庫中數(shù)據(jù)進行部分加密。以下幾點是我們在給關(guān)系型數(shù)據(jù)庫加密時應該注意的問題。

(1)索引字段不能加密

為了達到快速查詢的目的,關(guān)系型數(shù)據(jù)庫文件需要建立一些索引,它們的建立和應用必須是明文狀態(tài),否則將失去索引的作用。

(2)關(guān)系運算的比較字段不能加密

DBMS要組織和完成關(guān)系運算,運算的數(shù)據(jù)一般都要經(jīng)過條件篩選,這種“條件”選擇項必須是明文,否則DBMS將無法進行比較篩選。

(3)表間的連接碼字段不能加密

關(guān)系型數(shù)據(jù)庫中表之間存在著密切的聯(lián)系,這種相關(guān)性往往是“外部編碼”聯(lián)系的,這些編碼若加密就無法進行表與表之間的連接運算。

3關(guān)系型數(shù)據(jù)庫加密方式

關(guān)系型數(shù)據(jù)庫加密方式數(shù)據(jù)庫加密,主要分為兩種方式:DBMS外部加密和DBMS內(nèi)部加密。

3.1 DBMS外部加密

DBMS外部加密的優(yōu)點是,不需要修改DBMS,只需要在應用程序或者操作系統(tǒng)中增加相應的加/解密模塊即可。但是,這種方法也有一些缺點,首先它不能支持各種加密粒度。其次,它僅僅對用戶數(shù)據(jù)進行加密,而不能對元數(shù)據(jù)、索引數(shù)據(jù)、日志等進行加密。因此,安全性受到影響。再者,數(shù)據(jù)的完整性檢查需要應用程序來完成,不能盡量發(fā)揮DBMS的作用,因為數(shù)據(jù)加密后,沒有辦法在DBMS完整性檢查,而需要在應用程序中增加這項功能,實現(xiàn)起來非常麻煩。

3.2 DBMS內(nèi)部加密

一般選擇在數(shù)據(jù)物理存取之前進行加/解密操作。這種方法的優(yōu)點是,由于DBMS能夠區(qū)分各種粒度的數(shù)據(jù),所以,可以支持各種粒度的加密,加密粒度可以靈活地選擇。另外,在DBMS內(nèi)部實現(xiàn)加密,可以更有效地利用DBMS內(nèi)部的訪問控制機制、授權(quán)機制等各種功能。更重要的是,關(guān)系型數(shù)據(jù)庫一個重要特點是被多個應用共享,這種方法的加解密都是在DBMS內(nèi)部完成,對應用程序是透明的,不需要在多個應用中進行修改,使用起來比較方便,且容易保持數(shù)據(jù)的一致性,缺點是需要修改DBMS的內(nèi)核。關(guān)系型數(shù)據(jù)庫的關(guān)鍵術(shù)語有:數(shù)據(jù)庫、表、字段、行和數(shù)據(jù)元素?;旧峡梢葬槍@幾方面形成一種加密的方法。

(1)數(shù)據(jù)庫級

加密的對象是整個數(shù)據(jù)庫,對數(shù)據(jù)庫中所有的對象進行加密處理。這種加密方法只需要對存儲在磁盤中的相應數(shù)據(jù)庫文件進行加密處理即可,密鑰的數(shù)量少,便于管理。但是,采用此加密粒度,對性能會帶來很大的影響。即使只需要查詢一條記錄,也需要對整個數(shù)據(jù)庫進行解密。這樣,訪問的速度不可避免的要降低。

(2)表級

加密的對象是數(shù)據(jù)庫中的基本元素表。關(guān)系型數(shù)據(jù)庫包含多個表,并不是所有的表都有很高的安全需要,因而只需要對其中一些包含敏感信息的表進行加密。與數(shù)據(jù)庫級加密相比,采用表級加密粒度,系統(tǒng)的查詢性能會有所改善,因為對于未加密表的查詢,系統(tǒng)性能不會受到影響,對于加密表的查詢,只需要解密對應的加密表,而不要解密整個數(shù)據(jù)庫。但是,這種方法與DBMS集成時,需要對DBMS內(nèi)部一些核心模塊進行修改,這些工作是很困難完成的。

(3)記錄級

加密的對象是數(shù)據(jù)表中的記錄,即對整條記錄一起進行加密處理。在實現(xiàn)記錄級加密時,通過調(diào)用專門的加密函數(shù),對記錄進行加密。與數(shù)據(jù)庫和表級加密相比,這種加密的粒度更細,可選擇的靈活性更好。但是,它和表級加密一樣,這種方法也需要對DBMS內(nèi)核進行修改。

(4)字段級

加密的對象是關(guān)系中的某個字段,即表中的列。一張表包含多個字段,在某些時候,并不是所有的字段都需要加密。因為在實際生活中,一些重要和敏感的信息往往出現(xiàn)在關(guān)系中的某些列,只需要對這些重要數(shù)據(jù)進行加密保護,而不用對所有字段。在實現(xiàn)字段級加密時,可以采取多種方式,既可以在DBMS外部完成,也可以在DBMS內(nèi)部完成。

(5)數(shù)據(jù)項級

加密的對象是記錄中的某個字段值,它是數(shù)據(jù)庫加密的最小粒度。數(shù)據(jù)項級加密的方法更為靈活,它的實現(xiàn)方式與字段級加密相似,但其密鑰管理將會更加復雜。

4加密算法比較

加密算法是一些公式和法則,它規(guī)定了明文和密文之間的變換方法。密鑰是控制加密算法和解密算法的關(guān)鍵信息,它的產(chǎn)生、傳輸、存儲等工作是十分重要的。

DES算法,DES(Data Encryption Standard)是把64位的明文輸入塊變?yōu)?4位的密文輸出塊,它所使用的密鑰也是64位,但只用到其中56位。Des的密碼學缺點是密鑰長度相對比較短,因此,人們又想出了一個解決其長度的方法,即采用三重DES,三重DES是DES的一種變形。

RSA算法,它是第一個既能用于數(shù)據(jù)加密也能用于數(shù)字簽名的算法。RSA的重大缺陷是無法從理論上把握它的保密性能如何,而且密碼學界多數(shù)人士傾向于因子分解不是NPC問題,RSA算法是第一個能同時用于加密和數(shù)字簽名的算法,也易于理解和操作。

AES算法,將在未來幾十年里代替DES在各個領(lǐng)域中得到廣泛應用,總體來說,AES作為新一代的數(shù)據(jù)加密標準匯聚了強安全性、高性能、高效率、易用和靈活等優(yōu)點。AES設(shè)計有三個密鑰長度:128、192、256位,相對而言,AES的128密鑰比DES的56密鑰強1 021倍。AES算法主要包括三個方面:輪變化、圈數(shù)和密鑰擴展。

5結(jié)束語

上面介紹的只是關(guān)系型數(shù)據(jù)庫加密方法的一些探討性研究,這些論述還遠遠沒達到關(guān)系型數(shù)據(jù)庫安全需要,比如現(xiàn)在的關(guān)系型數(shù)據(jù)庫基本都給與網(wǎng)絡架構(gòu),網(wǎng)際的安全傳輸?shù)?也是要重點考慮的方面,等等。一個好的安全系統(tǒng)必須綜合考慮如何運用這些技術(shù),以保證數(shù)據(jù)的安全。

參考文獻:

[1]胡志奇.數(shù)據(jù)庫安全與加密技術(shù)研究[J].計算機與現(xiàn)代化,2003,(11):24-3.

[2]王曉峰,王尚平,秦波.數(shù)據(jù)庫加密方法研究[J].西安理工大學學報,2002,(6):68-73.

篇8

1.1人為因素

計算機信息數(shù)據(jù)安全與否的問題,其重要性將直接關(guān)系到人們是否能夠正常運用計算機辦公工作的問題,但產(chǎn)生這種計算機信息數(shù)據(jù)安全問題最主要的影響因素也是因為人為所導致。部分計算機使用者意識到計算機網(wǎng)絡信息技術(shù)的發(fā)展發(fā)達已成為人們工作和生活中不可或缺的工具之一,為此他們?yōu)榱死眠@種計算機的高使用率來謀取個人利益,通過對計算機進行代碼的惡意編寫來對系統(tǒng)和網(wǎng)絡數(shù)據(jù)造成阻礙和破壞,甚至一些不法分子通過對計算機進行計算機網(wǎng)絡電子欺詐、病毒的導入或者是惡意的木馬植入等,這些行為都將直接對計算機的使用帶來可怕的安全隱患,對此,也只有通過對計算機信息數(shù)據(jù)在安全問題方面加以更強更高的研究分析和防范,利用加密技術(shù)和電腦安全技術(shù)來確保信息數(shù)據(jù)的安全性。

1.2非人為因素

計算機的信息數(shù)據(jù)安全問題,除了人為因素的存在,非人為因素也是影響計算機信息安全的重要因素。這種非人為因素的存在主要是針對計算機自身所出現(xiàn)的問題,其中包括了計算機所出現(xiàn)的硬件故障或者電磁波的信息干擾等問題。所以人們在使用計算機的過程中,要謹防和避免計算機出現(xiàn)這種問題,并通過對計算機的認識和使用學習更好地掌握如何通過采取必要的防范措施來避免這種情況的發(fā)生,從而有效地確保計算機的信息數(shù)據(jù)不被破壞和丟失。

1.3安全使用計算機的外在因素

作為計算機的廣大使用群體,習慣性地把計算機作為儲存設(shè)備將大量的個人信息和工作資料保存在計算機儲存盤里,要確保這些資料和信息能夠安全地儲存,就必須保證計算機本身所具備的安全性。而計算機本身的安全問題包括了計算機的軟件安全和硬件安全。對于計算機的硬件方面,需要計算機使用者經(jīng)常對計算機進行檢查并在出現(xiàn)硬件故障時及時維修,從而保障計算機的正常運轉(zhuǎn);而計算機軟件方面,通常最好安全殺毒軟件例如360安全衛(wèi)士、金山衛(wèi)士等等,這些殺毒軟件的安裝,能夠在計算機出現(xiàn)木馬、漏洞或者惡意代碼和各種不明病毒時自動為其清除,從而確保計算機信息數(shù)據(jù)的安全。

2計算機信息數(shù)據(jù)的加密技術(shù)

2.1計算機信息數(shù)據(jù)的存儲加密和傳輸加密

在計算機的廣泛使用過程中,計算機信息數(shù)據(jù)的存儲加密和傳輸加密是計算機信息數(shù)據(jù)安全的最關(guān)鍵的兩個過程。對于計算機信息數(shù)據(jù)的存儲加密技術(shù),旨在通過計算機的運行來保障存儲資料信息能夠安全進行,這種存儲加密技術(shù)會因為存儲方式的區(qū)別,又將這種加密技術(shù)分為存儲控制、密文存儲這兩種不同的方式,通過這種方式能夠讓計算機在進行信息存儲過程中對用戶進行權(quán)限的限制,并通過一定的方式來對計算機使用者進行辨認,保證信息數(shù)據(jù)的合法安全性,從而確保計算機信息數(shù)據(jù)不被外人盜取;而計算機信息數(shù)據(jù)的傳輸加密技術(shù),是保證計算機用戶在進行數(shù)據(jù)的傳輸時進行加密技術(shù)的處理,從而保障信息數(shù)據(jù)傳輸?shù)陌踩浴_@種計算機信息數(shù)據(jù)的傳輸加密技術(shù)又分為端—端加密和線路加密兩種類型,這兩種不同類型的傳輸加密技術(shù)主要是針對不同的加密密鑰進行加密的最重要的加密實現(xiàn)方法。當用戶在進行信息數(shù)據(jù)傳輸之前,這種信息傳輸加密技術(shù)就已經(jīng)對信息進行了安全檢測并進行加密處理,使得信息數(shù)據(jù)在傳輸過程中不被外來人進行閱讀和識別,并在數(shù)據(jù)傳輸?shù)竭_目的地之后,在驗證確認是接收者之后才能夠?qū)@些信息數(shù)據(jù)進行解碼,從而供用戶安全使用。

2.2確認加密技術(shù)和密鑰管理加密技術(shù)

密鑰管理加密技術(shù)是通過密鑰的磁卡、半導體存儲器以及磁盤進行技術(shù)支持和管理,在計算機信息數(shù)據(jù)進行傳輸時,密鑰管理加密技術(shù)的運用,能夠?qū)τ嬎銠C信息數(shù)據(jù)在傳輸過程中的各個環(huán)節(jié)進行把關(guān)和控制管理,從而保證計算機信息數(shù)據(jù)的安全傳輸;而確認加密技術(shù)是對計算機數(shù)據(jù)信息的共享范圍進行了區(qū)別限制,通過這種識別性的共享限制技術(shù)來抵制一些不法分子通過惡意程序的修改和偽造所帶來的對計算機的破壞和導致的安全隱患,同時,這種確認加密技術(shù)能夠?qū)τ嬎銠C用戶接收到的信息數(shù)據(jù)進行識別和辨認,防止病毒或者木馬的攜帶,從而更好地確保計算機信息數(shù)據(jù)能夠安全有效地傳輸。

2.3加密技術(shù)中的消息摘要和完整性鑒別技術(shù)

對于計算機信息數(shù)據(jù)的加密技術(shù)中的消息摘要,是通過一個連接一個消息或者文本中單一的一個對應值所實現(xiàn)的加密類型;而完整性鑒別技術(shù)是一套比較完整的信息數(shù)據(jù)的鑒別系統(tǒng),包括了信息數(shù)據(jù)、口令、身份鑒別和密鑰等多個內(nèi)容所組成。計算機用戶在進行信息數(shù)據(jù)的傳輸時,系統(tǒng)自動會對這些信息數(shù)據(jù)進行驗證和檢測,對所輸入的內(nèi)容信息進行判斷和識別,確認這些數(shù)據(jù)是否能夠與已設(shè)置的數(shù)值相吻合,從而確保信息數(shù)據(jù)的傳輸安全。

3結(jié)語

篇9

【關(guān)鍵詞】計算機信息數(shù)據(jù);安全與加密技術(shù)

一、計算機信息數(shù)據(jù)安全隱患出現(xiàn)的影響因素

(一)計算機信息數(shù)據(jù)安全與否的問題,其重要性將直接關(guān)系到人們是否能夠正常運用計算機辦公工作的問題,但產(chǎn)生這種計算機信息數(shù)據(jù)安全問題最主要的影響因素也是因為人為所導致。部分計算機使用者意識到計算機網(wǎng)絡信息技術(shù)的發(fā)展發(fā)達已成為人們工作和生活中不可或缺的工具之一,為此他們?yōu)榱死眠@種計算機的高使用率來謀取個人利益,通過對計算機進行代碼的惡意編寫來對系統(tǒng)和網(wǎng)絡數(shù)據(jù)造成阻礙和破壞,甚至一些不法分子通過對計算機進行計算機網(wǎng)絡電子欺詐、病毒的導入或者是惡意的木馬植入等,這些行為都將直接對計算機的使用帶來可怕的安全隱患,對此,也只有通過對計算機信息數(shù)據(jù)在安全問題方面加以更強更高的研究分析和防范,利用加密技術(shù)和電腦安全技術(shù)來確保信息數(shù)據(jù)的安全性。

(二)計算機的信息數(shù)據(jù)安全問題,除了人為因素的存在,非人為因素也是影響計算機信息安全的重要因素。這種非人為因素的存在主要是針對計算機自身所出現(xiàn)的問題,其中包括了計算機所出現(xiàn)的硬件故障或者電磁波的信息干擾等問題。所以人們在使用計算機的過程中,要謹防和避免計算機出現(xiàn)這種問題,并通過對計算機的認識和使用學習更好地掌握如何通過采取必要的防范措施來避免這種情況的發(fā)生,從而有效地確保計算機的信息數(shù)據(jù)不被破壞和丟失。

(三)作為計算機的廣大使用群體,習慣性地把計算機作為儲存設(shè)備將大量的個人信息和工作資料保存在計算機儲存盤里,要確保這些資料和信息能夠安全地儲存,就必須保證計算機本身所具備的安全性。而計算機本身的安全問題包括了計算機的軟件安全和硬件安全。對于計算機的硬件方面,需要計算機使用者經(jīng)常對計算機進行檢查并在出現(xiàn)硬件故障時及時維修,從而保障計算機的正常運轉(zhuǎn);而計算機軟件方面,通常最好安全殺毒軟件例如360安全衛(wèi)士、金山衛(wèi)士等等,這些殺毒軟件的安裝,能夠在計算機出現(xiàn)木馬、漏洞或者惡意代碼和各種不明病毒時自動為其清除,從而確保計算機信息數(shù)據(jù)的安全。

二、計算機信息大數(shù)據(jù)安全面臨的挑戰(zhàn)

在信息化的時代,個人的安全和隱私是較為重要的問題。傳統(tǒng)的數(shù)據(jù)保護方式已經(jīng)不能適應社會發(fā)展的潮流,大數(shù)據(jù)安全性面臨眾多的挑戰(zhàn):第一,大數(shù)據(jù)隱私。數(shù)據(jù)的隱私包括兩方面內(nèi)容:一方面,個人隱私保護,個人的興趣、愛好、身體特征、習慣等隱私部分容易被盜取。另一方面,即使得到用戶的允許,個人的財務、信息等重要隱私也有被泄露的風險。第二,數(shù)據(jù)質(zhì)量。低質(zhì)量的數(shù)據(jù)浪費傳輸和存放資源,甚至其發(fā)展被制約。其制約數(shù)據(jù)質(zhì)量的因素很多,例如:采集、傳輸、生成以及存儲過程中都可能影響數(shù)據(jù)的質(zhì)量發(fā)展。第三,大數(shù)據(jù)的安全機制。大數(shù)據(jù)的規(guī)模和種類為其保密性帶來了巨大的挑戰(zhàn)。面對結(jié)構(gòu)化、半結(jié)構(gòu)化和非結(jié)構(gòu)化的數(shù)據(jù)需要進行有效的安全管理、安全通信和訪問控制。第四。信息安全領(lǐng)域大數(shù)據(jù)的應用。大數(shù)據(jù)為信息安全注入了新的活力,例如:病毒特征、攻擊特征以及漏洞特征等易通過大數(shù)據(jù)分析被掌握。除此之外,大數(shù)據(jù)為企業(yè)的內(nèi)部管理和制度帶來便利和認可。信息時代下計算機大數(shù)據(jù)在某些方面會得到更加充分的利用,國家需要加大開發(fā)力度和發(fā)現(xiàn)人才。

三、計算機信息數(shù)據(jù)的加密技術(shù)的應用

(一)計算機信息數(shù)據(jù)的存儲加密和傳輸加密

在計算機的廣泛使用過程中,計算機信息數(shù)據(jù)的存儲加密和傳輸加密是計算機信息數(shù)據(jù)安全的最關(guān)鍵的兩個過程。對于計算機信息數(shù)據(jù)的存儲加密技術(shù),旨在通過計算機的運行來保障存儲資料信息能夠安全進行,這種存儲加密技術(shù)會因為存儲方式的區(qū)別,又將這種加密技術(shù)分為存儲控制、密文存儲這兩種不同的方式,通過這種方式能夠讓計算機在進行信息存儲過程中對用戶進行權(quán)限的限制,并通過一定的方式來對計算機使用者進行辨認,保證信息數(shù)據(jù)的合法安全性,從而確保計算機信息數(shù)據(jù)不被外人盜??;而計算機信息數(shù)據(jù)的傳輸加密技術(shù),是保證計算機用戶在進行數(shù)據(jù)的傳輸時進行加密技術(shù)的處理,從而保障信息數(shù)據(jù)傳輸?shù)陌踩?。這種計算機信息數(shù)據(jù)的傳輸加密技術(shù)又分為端―端加密和線路加密兩種類型,這兩種不同類型的傳輸加密技術(shù)主要是針對不同的加密密鑰進行加密的最重要的加密實現(xiàn)方法。

(二)確認加密技術(shù)和密鑰管理加密技術(shù)

密鑰管理加密技術(shù)是通過密鑰的磁卡、半導體存儲器以及磁盤進行技術(shù)支持和管理,在計算機信息數(shù)據(jù)進行傳輸時,密鑰管理加密技術(shù)的運用,能夠?qū)τ嬎銠C信息數(shù)據(jù)在傳輸過程中的各個環(huán)節(jié)進行把關(guān)和控制管理,從而保證計算機信息數(shù)據(jù)的安全傳輸;而確認加密技術(shù)是對計算機數(shù)據(jù)信息的共享范圍進行了區(qū)別限制,通過這種識別性的共享限制技術(shù)來抵制一些不法分子通過惡意程序的修改和偽造所帶來的對計算機的破壞和導致的安全隱患,同時,這種確認加密技術(shù)能夠?qū)τ嬎銠C用戶接收到的信息數(shù)據(jù)進行識別和辨認,防止病毒或者木馬的攜帶,從而更好地確保計算機信息數(shù)據(jù)能夠安全有效地傳輸。

(三)加密技術(shù)中的消息摘要和完整性鑒別技術(shù)

對于計算機信息數(shù)據(jù)的加密技術(shù)中的消息摘要,是通過一個連接一個消息或者文本中單一的一個對應值所實現(xiàn)的加密類型;而完整性鑒別技術(shù)是一套比較完整的信息數(shù)據(jù)的鑒別系統(tǒng),包括了信息數(shù)據(jù)、口令、身份鑒別和密鑰等多個內(nèi)容所組成。計算機用戶在進行信息數(shù)據(jù)的傳輸時,系統(tǒng)自動會對這些信息數(shù)據(jù)進行驗證和檢測,對所輸入的內(nèi)容信息進行判斷和識別,確認這些數(shù)據(jù)是否能夠與已設(shè)置的數(shù)值相吻合,從而確保信息數(shù)據(jù)的傳輸安全。

篇10

關(guān)鍵詞:數(shù)據(jù)加密方法;數(shù)據(jù)加密技術(shù);信息安全

隨著計算機互聯(lián)網(wǎng)的驟步實現(xiàn),數(shù)據(jù)加密技術(shù)顯得越來越重要。因為在競爭激烈的信息時代,信息不僅給我們帶來很大的方便,同樣,信息也可以用來對他們構(gòu)成威脅、造成破壞。因此,在客觀上就需要一種強有力的安全措施來保護機密數(shù)據(jù)不被竊取或篡改,數(shù)據(jù)加密技術(shù)就應運而生。所謂數(shù)據(jù)加密(Data Encryption)技術(shù)是指將一個信息(或稱明文,plain text)經(jīng)過加密鑰匙(Encryption key)及加密函數(shù)轉(zhuǎn)換,變成無意義的密文(cipher text),而接收方則將此密文經(jīng)過解密函數(shù)、解密鑰匙(Decryption key)還原成明文。加密技術(shù)是網(wǎng)絡安全技術(shù)的基石。

1、數(shù)據(jù)加密技術(shù)

1.1 數(shù)據(jù)加密的概念

所謂加密[1],就是把數(shù)據(jù)信息即明文轉(zhuǎn)換為不可辨識的形式即密文的過程,目的是使不應了解該數(shù)據(jù)信息的人不能夠知道和識別。將密文轉(zhuǎn)變?yōu)槊魑牡倪^程就是解密。加密和解密過程形成加密系統(tǒng),明文與密文統(tǒng)稱為報文。任何加密系統(tǒng),不論形式如何復雜,實現(xiàn)的算法如何不同,但其基本組成部分是相同的,通常都包括如下4個部分:

(1)需要加密的報文,也稱為明文;

(2)加密以后形成的報文,也稱為密文;

(3)加密、解密的裝置或算法;

(4)用于加密和解密的鑰匙,稱為密鑰。密鑰可以是數(shù)字、詞匯或者語句。

數(shù)據(jù)加密與解密從宏觀上講是非常簡單的,很容易理解。加密與解密的一些方法是非常直接的,很容易掌握,可以很方便的對機密數(shù)據(jù)進行加密和解密。數(shù)據(jù)加密技術(shù)要求只有在指定的用戶或網(wǎng)絡下,才能解除密碼而獲得原來的數(shù)據(jù),這就需要給數(shù)據(jù)發(fā)送方和接受方以一些特殊的信息用于加解密,這就是所謂的密鑰。其密鑰的值是從大量的隨機數(shù)中選取的。

1.2 數(shù)據(jù)加密方法

1.2.1 基于單鑰技術(shù)的傳統(tǒng)加密方法

這類方法的特點是采用單鑰技術(shù)[2],即加密和解密過程中使用同一密鑰,所以它也稱為對稱式加密方法;這類方法主要包括代碼加密法、替換加密法、變位加密法和一次性密碼簿加密法等。

(1)代碼加密法。通信雙方使用預先設(shè)定的一組代碼表達特定的意義而實現(xiàn)的一種最簡單的加密方法。

(2)替換加密法。這種方法是制定一種規(guī)則,將明文中的每個字母或每組字母替換成另一個或一組字母。

(3)變位加密法。變位加密法不隱藏原來明文的字符,而是將字符重新排序。比如,加密方首先選擇一個用數(shù)字表示的密鑰,寫成一行,然后把明文逐行寫在數(shù)字下。按照密鑰中數(shù)字指示的順序,將原文重新抄寫,就形成密文。

(4)一次性密碼簿加密法。這種方法要先制定出一個密碼薄,該薄每一頁都是不同的代碼表。加密時,使用一頁上的代碼加密一些詞,用后撕掉或燒毀該頁;然后再用另一頁上的代碼加密另一些詞,直到全部的明文都加密成為密文。破譯密文的唯一辦法就是獲得一份相同的密碼簿。

又因為傳統(tǒng)的加密方法在許多方面有一定的局限性,于是人們又想出了很多算法來加強和改進這些方法。

1.2.2 改進的傳統(tǒng)加密方法

此類加密方法的共同特點是采用雙鑰技術(shù),也就是加密和解密過程中使用兩個不同的密鑰,它也稱為非對稱式加密方法。這類方法主要包括數(shù)據(jù)加密標準DES、三層DES、RC2和RC4、數(shù)字摘要、國際數(shù)據(jù)加密算法IDEA和基于硬件的加密方法[3]。

(1)數(shù)據(jù)加密標準DES。DES(Data Encryption Standard)是一個對稱密鑰系統(tǒng),加密和解密使用相同的密鑰。它通常選取一個64位(bit)的數(shù)據(jù)塊,使用56位的密鑰,在內(nèi)部實現(xiàn)多次替換和變位操作來達到加密的目的。DES有ECB,CBC和CFB三種工作模式,其中ECB采用的是數(shù)據(jù)塊加密模式,CBC與CFB采用的是數(shù)據(jù)流加密模式。

(2)三層DES(Triple-DES)。這種方法是DES的改進加密算法,它使用兩把密鑰對報文作三次DES加密,效果相當于將DES密鑰的長度加倍。三層DES克服了DES的顯著缺點,即其56位的短密鑰。

(3)RC2和RC4。RC指Rivest Code,它是以發(fā)明人美國麻省理工學院的Ron Rivest教授的姓氏命名的,由RSADSI公司發(fā)行,是不公開的專有算法。RC2采用的是數(shù)據(jù)塊加密算法,RC4采用的是數(shù)據(jù)流加密算法。

(4)數(shù)字摘要(Digital Digest)。該加密方法也是由Ron Rivest設(shè)計的,也被稱為安全Hash編碼法SHA(Secure Hash Algorithm)或MD5(MD Standards for Message Digest)。SHA其實就是RC方法的一種實現(xiàn)。

(5)國際數(shù)據(jù)加密算法IDEA[4]。IDEA(International Data Encryption Algorithm)是1990年瑞士的James Massey,Xuejia Lai等人發(fā)表的一個數(shù)據(jù)塊加密算法。該算法使用128位的密鑰,能夠有效地消除試圖窮盡搜索密鑰的可能攻擊。

(6)基于硬件的加密算法。為克服軟件加密算法在容易復制、容易嘗試方面的不足,人們又開發(fā)了基于硬件的加密算法。

2、數(shù)據(jù)加密在銀行系統(tǒng)中的應用

隨著社會的進步,計算機信息系統(tǒng)廣泛地深入到社會各行各業(yè),尤其是金融系統(tǒng)。隨著“網(wǎng)上銀行”的興起,銀行系統(tǒng)的安全問題顯得越來越重要,安全隱患已成為迫在眉睫的首要問題。為了解決銀行的安全隱患,因此新一級別的安全措施也就脫穎而出。數(shù)據(jù)加密就是其中之一。數(shù)據(jù)加密就是按照確定的密碼算法把敏感的明文數(shù)據(jù)變換成難以識別的密文數(shù)據(jù),通過使用不同的密鑰,可用同一加密算法把同一明文加密成不同的密文。當需要時,可使用密鑰把密文數(shù)據(jù)還原成明文數(shù)據(jù),稱為解密。這樣就可以實現(xiàn)數(shù)據(jù)的保密性。眾所周知,各種相關(guān)網(wǎng)絡安全的黑客和病毒都是依賴網(wǎng)絡平臺進行的,而如果在網(wǎng)絡平臺上就能切斷黑客和病毒的傳播途徑,那么就能更好地保證安全。眾多銀行如農(nóng)業(yè)銀行、建設(shè)銀行、工商銀行等都采取了數(shù)據(jù)加密技術(shù)與網(wǎng)絡交換設(shè)備聯(lián)動。即是指交換機或防火墻在運行的過程中,將各種數(shù)據(jù)流的信息上報給安全設(shè)備,數(shù)字加密系統(tǒng)可根據(jù)上報信息和數(shù)據(jù)流內(nèi)容進行檢測,在發(fā)現(xiàn)網(wǎng)絡安全事件的時候,進行有針對性的動作,并將這些對安全事件反應的動作發(fā)送到交換機或防火墻上,由交換機或防火墻來實現(xiàn)精確端口的關(guān)閉和斷開,這樣就可以使數(shù)據(jù)庫得到及時充分有效的保護。