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

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

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

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

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

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

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

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

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

  二.基于公鑰的加密算法

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

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

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

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

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

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

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

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

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

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

crypto1 = a[crypto0][value]

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

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

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

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;

}

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

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""中的值應該是一個排過序的唯一的一系列的整數的數組,整數的值的范圍均在0到255之間。這樣一個數組是非常有用的,例如:對一個字節對字節的轉換表,就可以很容易并且非常可靠的來產生一個短的密鑰(經常作為一些隨機數的種子)。這樣一個表還有其他的用處,比如說:來產生一個隨機的字符,計算機游戲中一個物體的隨機的位置等等。上面的例子就其本身而言并沒有構成一個加密算法,只是加密算法一個組成部分。

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

四.結論:

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

<2025年11月>
2627282930311
2345678
9101112131415
16171819202122
23242526272829
30123456

常用鏈接

留言簿(7)

隨筆分類

隨筆檔案

文章分類

文章檔案

相冊

編程資源

不務正業

找工作

搜索

  •  

最新評論

閱讀排行榜

評論排行榜

青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <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>
            亚洲免费av网站| 午夜精品久久久久久99热| 亚洲视频精品| 亚洲精品乱码久久久久| 亚洲黄色三级| 亚洲看片免费| 亚洲自拍16p| 久久国产欧美日韩精品| 美女图片一区二区| 亚洲国产精品久久久久秋霞不卡| 久久国产精品一区二区三区四区| 久久综合网hezyo| 亚洲区欧美区| 欧美亚洲综合网| 女人色偷偷aa久久天堂| 欧美日韩一卡| 激情欧美亚洲| 在线中文字幕日韩| 久久米奇亚洲| 999亚洲国产精| 久久精品99国产精品| 欧美日韩国产一区精品一区| 国产欧美一区二区三区久久人妖 | 国产精品视频免费观看| 精品成人在线视频| 一区二区三区高清不卡| 久久精品国产96久久久香蕉| 另类av一区二区| 99国产精品久久久| 久久久久国产一区二区| 国产精品久久久久国产精品日日 | 欧美第一黄色网| 在线亚洲自拍| 欧美成人精品福利| 国产日韩欧美中文在线播放| 99综合视频| 欧美风情在线| 欧美一级视频| 国产精品捆绑调教| 亚洲少妇最新在线视频| 欧美激情影院| 久久人人爽爽爽人久久久| 国产精品视频专区| 亚洲一区二区三区在线播放| 亚洲高清av| 久久久综合激的五月天| 国产一区二区三区av电影| 亚洲欧美日韩国产一区二区三区| 亚洲黄色免费网站| 麻豆久久婷婷| 亚洲电影第1页| 久久久精品tv| 久久久五月婷婷| 久久精品盗摄| 久久久亚洲午夜电影| 欧美日韩dvd在线观看| 亚洲国产精品一区二区第四页av | 久久国产66| 亚洲视频欧美在线| 欧美日本三区| 在线视频你懂得一区二区三区| 欧美成人一品| 久久免费视频一区| 亚洲丰满在线| 亚洲第一页在线| 免费观看日韩av| 亚洲精品视频在线播放| 亚洲黄色在线视频| 欧美日韩在线不卡| 午夜精品理论片| 午夜精品美女自拍福到在线| 国产精品亚洲美女av网站| 欧美自拍丝袜亚洲| 久久久久国色av免费观看性色| 一色屋精品视频在线看| 欧美黄色片免费观看| 欧美精品一区在线播放| av成人激情| 亚洲在线视频| 在线日韩中文字幕| 亚洲伦理在线观看| 国产免费观看久久黄| 美女精品一区| 欧美日本在线一区| 羞羞视频在线观看欧美| 欧美资源在线| 99国产精品国产精品毛片| 亚洲先锋成人| 亚洲国产精品成人综合色在线婷婷| 亚洲人午夜精品免费| 国产精品永久免费| 亚洲国产精品尤物yw在线观看 | 亚洲欧洲日韩在线| 亚洲免费av观看| 国产一级一区二区| 亚洲国产精品女人久久久| 国产精品久久久久久久久借妻| 久久亚洲高清| 欧美吻胸吃奶大尺度电影| 久久男人av资源网站| 欧美不卡视频一区发布| 午夜视频在线观看一区二区三区| 久久久蜜臀国产一区二区| 洋洋av久久久久久久一区| 午夜精品999| 久久这里有精品15一区二区三区| 亚洲国产色一区| 国产精品自拍一区| 亚洲丁香婷深爱综合| 国产精品成人国产乱一区| 另类综合日韩欧美亚洲| 欧美日韩国产综合新一区| 久久久久久久精| 欧美视频三区在线播放| 欧美xxx成人| 国产一区在线免费观看| 一区二区三区久久网| 亚洲激情在线视频| 午夜亚洲福利| 亚洲一区免费| 欧美精品一级| 久热精品在线| 国产麻豆精品久久一二三| 亚洲美女av黄| 亚洲精品视频免费在线观看| 久久久久久亚洲精品不卡4k岛国| 亚洲欧美国产精品va在线观看| 欧美国产精品专区| 欧美大片网址| 影音国产精品| 久久精品国产亚洲一区二区| 午夜伦欧美伦电影理论片| 欧美视频一区二| a4yy欧美一区二区三区| 99这里只有精品| 欧美日韩美女在线| 亚洲区国产区| 一区二区免费在线观看| 欧美激情免费观看| 亚洲二区在线| 亚洲毛片一区二区| 欧美激情一区在线| 日韩亚洲欧美一区| 亚洲综合日韩中文字幕v在线| 欧美日韩高清在线观看| 亚洲精品国精品久久99热| 99视频在线精品国自产拍免费观看 | 99视频日韩| 国产精品九九久久久久久久| 亚洲深夜福利在线| 性欧美大战久久久久久久久| 国产精品美女久久久久久2018| 夜夜狂射影院欧美极品| 亚洲欧美www| 国产亚洲欧洲| 久久影院午夜片一区| 亚洲激情精品| 亚洲欧美久久久久一区二区三区| 国产精品精品视频| 欧美一区二区精美| 欧美大片在线观看一区| 亚洲毛片在线看| 国产精品成人国产乱一区| 性欧美1819性猛交| 久久看片网站| 99国内精品久久久久久久软件| 欧美肉体xxxx裸体137大胆| 先锋影音国产精品| 欧美一区成人| 一区二区欧美激情| 久久成年人视频| 亚洲高清视频在线| 欧美精品乱码久久久久久按摩| 一区二区冒白浆视频| 久久精品国产亚洲高清剧情介绍| 韩国精品在线观看| 久久免费视频在线观看| 亚洲国产一区二区a毛片| 欧美日韩在线亚洲一区蜜芽| 亚洲一区二区3| 欧美激情视频网站| 亚洲在线观看免费视频| 亚洲国产欧美一区二区三区丁香婷| 欧美精品v日韩精品v韩国精品v| 亚洲在线中文字幕| 久久精品视频免费播放| 亚洲国产成人精品女人久久久| 国产精品乱码一区二三区小蝌蚪| 欧美在线关看| 一本大道久久a久久综合婷婷 | 欧美sm视频| 午夜精品一区二区三区在线 | 亚洲第一精品夜夜躁人人爽| 欧美亚洲日本国产| 亚洲网站视频福利| 亚洲日本成人| 亚洲大黄网站| 黄色成人在线| 国产亚洲人成a一在线v站| 亚洲黄色尤物视频|