青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品

posts - 19,  comments - 21,  trackbacks - 0
我們經(jīng)常需要一種措施來保護(hù)我們的數(shù)據(jù),防止被一些懷有不良用心的人所看到或者破壞。在信息時代,信息可以幫助團(tuán)體或個人,使他們受益,同樣,信息也可以用來對他們構(gòu)成威脅,造成破壞。在競爭激烈的大公司中,工業(yè)間諜經(jīng)常會獲取對方的情報。因此,在客觀上就需要一種強(qiáng)有力的安全措施來保護(hù)機(jī)密數(shù)據(jù)不被竊取或篡改。數(shù)據(jù)加密與解密從宏觀上講是非常簡單的,很容易理解。加密與解密的一些方法是非常直接的,很容易掌握,可以很方便的對機(jī)密數(shù)據(jù)進(jìn)行加密和解密。
  一:數(shù)據(jù)加密方法

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

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

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

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

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

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

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

  二.基于公鑰的加密算法

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

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

  我們舉一個例子:假定現(xiàn)在要加密一些數(shù)據(jù)使用密鑰‘12345’。利用RSA公鑰,使用RSA算法加密這個密鑰‘12345’,并把它放在要加密的數(shù)據(jù)的前面(可能后面跟著一個分割符或文件長度,以區(qū)分?jǐn)?shù)據(jù)和密鑰),然后,使用對稱加密算法加密正文,使用的密鑰就是‘12345’。當(dāng)對方收到時,解密程序找到加密過的密鑰,并利用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日才正式公布的。下面詳細(xì)的介紹這個算法:

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

  把256個隨機(jī)數(shù)放在一個距陣中,然后對他們進(jìn)行排序,使用這樣一種方式(我們要記住最初的位置)使用最初的位置來產(chǎn)生一個表,隨意排序的表,表中的數(shù)字在0到255之間。如果不是很明白如何來做,就可以不管它。但是,下面也提供了一些原碼(在下面)是我們明白是如何來做的。現(xiàn)在,產(chǎn)生了一個具體的256字節(jié)的表。讓這個隨機(jī)數(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é)的解碼表它對應(yīng)于我們剛才在上一步產(chǎn)生的256字節(jié)的加密表。

  使用這個方法,已經(jīng)可以產(chǎn)生這樣的一個表,表的順序是隨機(jī),所以產(chǎn)生這256個字節(jié)的隨機(jī)數(shù)使用的是二次偽隨機(jī),使用了兩個額外的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的表,這樣做將會增加密文的長度。或者,可以使用你產(chǎn)生出隨機(jī)數(shù)序列所用的密碼,也可能是它的CRC校驗和。順便提及的是曾作過這樣一個測試: 使用16個字節(jié)來產(chǎn)生表的索引,以128位的密鑰作為這16個字節(jié)的初始的"種子"。然后,在產(chǎn)生出這些隨機(jī)數(shù)的表之后,就可以用來加密數(shù)據(jù),速度達(dá)到每秒鐘100k個字節(jié)。一定要保證在加密與解密時都使用加密的值作為表的索引,而且這兩次一定要匹配。

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

  如果確實不理解如何來產(chǎn)生一個隨機(jī)數(shù)序列,就考慮FIBBONACCI數(shù)列,使用2個雙字(64位)的數(shù)作為產(chǎn)生隨機(jī)數(shù)的種子,再加上第三個雙字來做XOR操作。 這個算法產(chǎn)生了一系列的隨機(jī)數(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)生一系列的隨機(jī)數(shù)字,比如說,在0和列表中所有的隨機(jī)數(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""中的值應(yīng)該是一個排過序的唯一的一系列的整數(shù)的數(shù)組,整數(shù)的值的范圍均在0到255之間。這樣一個數(shù)組是非常有用的,例如:對一個字節(jié)對字節(jié)的轉(zhuǎn)換表,就可以很容易并且非常可靠的來產(chǎn)生一個短的密鑰(經(jīng)常作為一些隨機(jī)數(shù)的種子)。這樣一個表還有其他的用處,比如說:來產(chǎn)生一個隨機(jī)的字符,計算機(jī)游戲中一個物體的隨機(jī)的位置等等。上面的例子就其本身而言并沒有構(gòu)成一個加密算法,只是加密算法一個組成部分。

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

四.結(jié)論:

  由于在現(xiàn)實生活中,我們要確保一些敏感的數(shù)據(jù)只能被有相應(yīng)權(quán)限的人看到,要確保信息在傳輸?shù)倪^程中不會被篡改,截取,這就需要很多的安全系統(tǒng)大量的應(yīng)用于政府、大公司以及個人系統(tǒng)。數(shù)據(jù)加密是肯定可以被破解的,但我們所想要的是一個特定時期的安全,也就是說,密文的破解應(yīng)該是足夠的困難,在現(xiàn)實上是不可能的,尤其是短時間內(nèi)。
posted on 2006-05-28 11:42 halCode 閱讀(387) 評論(0)  編輯 收藏 引用 所屬分類: 備看文檔

<2025年12月>
30123456
78910111213
14151617181920
21222324252627
28293031123
45678910

常用鏈接

留言簿(7)

隨筆分類

隨筆檔案

文章分類

文章檔案

相冊

編程資源

不務(wù)正業(yè)

找工作

搜索

  •  

最新評論

閱讀排行榜

評論排行榜

青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            久久国内精品自在自线400部| 久久九九精品99国产精品| 免费不卡在线观看av| 亚洲高清免费| 亚洲精品一区二区三区99| 欧美激情一区在线观看| 一区二区三区蜜桃网| 夜夜嗨av一区二区三区四季av| 欧美日一区二区三区在线观看国产免| 中文一区二区| 亚洲免费在线视频| 国语自产精品视频在线看8查询8| 久久久蜜桃一区二区人| 开心色5月久久精品| 在线视频日韩| 欧美一区二区三区免费视| 在线成人国产| 中国日韩欧美久久久久久久久| 国产欧美1区2区3区| 久久精品一区二区三区不卡| 美女主播精品视频一二三四| 这里只有精品丝袜| 午夜精品视频在线| 亚洲精品裸体| 亚洲欧美日韩国产一区二区三区| 伊人久久婷婷| 一区二区福利| 永久域名在线精品| 99热精品在线观看| 在线观看成人av| 日韩一二在线观看| 亚洲第一精品夜夜躁人人爽| 一本色道婷婷久久欧美| 精品69视频一区二区三区| 最新国产成人av网站网址麻豆 | 亚洲国产天堂久久综合| 国产精品va在线| 欧美高清一区| 国产日韩欧美综合精品| 亚洲精品午夜| 亚洲福利在线看| 亚洲欧美日本国产有色| 一区二区三区毛片| 久热综合在线亚洲精品| 久久精品日韩| 国产精品久久久久国产a级| 欧美成人小视频| 国产一区二区观看| 中国成人亚色综合网站| 亚洲麻豆视频| 免费不卡在线视频| 玖玖视频精品| 国产一区二区精品久久91| 亚洲婷婷综合色高清在线| 亚洲精选中文字幕| 蜜桃久久av一区| 久久综合一区二区三区| 国产午夜精品理论片a级大结局| 亚洲美女av网站| 日韩小视频在线观看专区| 久久这里只有精品视频首页| 久久久久网站| 国内精品久久久久久影视8| 亚洲欧美日韩一区二区在线| 亚洲伊人一本大道中文字幕| 欧美日韩国产专区| 亚洲人久久久| 亚洲视频狠狠| 欧美另类视频| 亚洲人体一区| 亚洲午夜伦理| 国产精品久久久久久久久果冻传媒| 亚洲精品乱码久久久久久黑人| 亚洲人成亚洲人成在线观看| 麻豆精品视频| 亚洲精品久久久久久下一站| 日韩一级精品| 欧美午夜精品理论片a级按摩 | 欧美激情视频免费观看| 亚洲激情专区| 欧美日韩人人澡狠狠躁视频| 日韩小视频在线观看专区| 亚洲天堂av高清| 国产精品日韩欧美大师| 亚洲伊人网站| 久久综合久久综合久久综合| 亚洲人成网站色ww在线| 欧美日韩成人一区二区| 在线亚洲美日韩| 欧美一区二区性| 在线精品国产欧美| 欧美人体xx| 欧美一级视频精品观看| 欧美成人一区二区三区片免费| 亚洲精品久久久一区二区三区| 欧美日韩中文字幕精品| 亚洲欧美制服另类日韩| 欧美国产一区视频在线观看| 99香蕉国产精品偷在线观看| 国产精品一区一区三区| 玖玖玖国产精品| 亚洲一区二区精品在线| 久久久久这里只有精品| 亚洲精品少妇网址| 国产欧美精品一区二区三区介绍| 蜜臀av性久久久久蜜臀aⅴ四虎| av成人免费在线观看| 裸体丰满少妇做受久久99精品| 亚洲视频电影图片偷拍一区| 国内成人精品视频| 欧美日韩影院| 蜜桃av久久久亚洲精品| 亚洲一区二三| 日韩午夜av在线| 欧美激情1区2区| 欧美在线一级va免费观看| 日韩视频免费观看| 国产专区一区| 国产精品久久激情| 欧美成人精品1314www| 午夜久久美女| 亚洲宅男天堂在线观看无病毒| 亚洲高清免费在线| 久热这里只精品99re8久| 亚洲男人的天堂在线观看| 亚洲狼人综合| 亚洲国产精品欧美一二99| 国产亚洲亚洲| 国产人成一区二区三区影院| 欧美日韩中文字幕在线视频| 欧美成人影音| 久久亚洲精选| 久久精品一区二区三区不卡| 校园激情久久| 午夜综合激情| 午夜精品久久久久久久白皮肤| 亚洲美女视频网| 亚洲人成人77777线观看| 女仆av观看一区| 免费91麻豆精品国产自产在线观看| 欧美呦呦网站| 久久精品一区二区国产| 欧美一站二站| 久久国产天堂福利天堂| 久久精品视频免费观看| 久久精品观看| 久久一区二区三区av| 久久免费高清视频| 久久亚洲一区二区| 男人的天堂成人在线| 免费成人在线观看视频| 裸体一区二区三区| 男女激情久久| 最近看过的日韩成人| 夜夜嗨av色综合久久久综合网| 一道本一区二区| 亚洲综合色激情五月| 欧美在线观看你懂的| 久久精品九九| 久久成人精品电影| 蘑菇福利视频一区播放| 欧美激情影音先锋| 欧美天堂亚洲电影院在线观看| 国产精品福利av| 国产日本亚洲高清| 亚洲丰满在线| 亚洲一区在线免费| 久久久国产精品一区| 欧美夫妇交换俱乐部在线观看| 亚洲国产精品www| 国产精品久久久久国产a级| 欧美日韩日日骚| 国产一区二区高清| 亚洲国产一区二区视频| 99这里只有久久精品视频| 欧美怡红院视频| 亚洲电影自拍| 香蕉免费一区二区三区在线观看| 久久精品国产v日韩v亚洲 | 中文一区字幕| 久久精品视频在线免费观看| 欧美wwwwww| 国产欧美一区二区视频| 亚洲国产成人久久综合| 亚洲综合精品| 欧美激情亚洲视频| 亚洲影院色无极综合| 欧美91大片| 国产一区二区三区久久| 亚洲精品视频啊美女在线直播| 欧美一级片一区| 亚洲欧洲另类| 久久精品国产99精品国产亚洲性色| 欧美丰满高潮xxxx喷水动漫| 国产日韩欧美精品| 在线视频精品| 亚洲国产成人午夜在线一区| 欧美一区二区在线看| 欧美色综合天天久久综合精品| 黄色在线一区|