加密算法概念簡介--MD5、SHA、DES、3DES、AES、RSA、ECC

MD5
       MD5即Message-Digest Algorithm 5(信息-摘要算法5),用於確保信息傳輸完整一致。是計算機廣泛使用的雜湊算法之一(又譯摘要算法、哈希算法),主流編程語言普遍已有MD5實現。將數據(如漢字)運算爲另一固定長度值,是雜湊算法的基礎原理,MD5的前身有MD2、MD3和MD4。

SHA
      安全散列算法SHA (Secure Hash Algorithm),用於確保信息傳輸完整一致。SHA基於MD5實現。
是美國國家標準技術研究所發佈的國家標準FIPS PUB 180,最新的標準已經於2008年更新到FIPS PUB 180-3。其中規定了SHA-1,SHA-224,SHA-256,SHA-384,和SHA-512這幾種單向散列算法。SHA-1,SHA-224和SHA-256適用於長度不超過2^64二進制位的消息。SHA-384和SHA-512適用於長度不超過2^128二進制位的消息。

DES  
       DES是Data Encryption Standard(數據加密標準)的縮寫,DES算法爲密碼體制中的對稱密碼體制。它是由IBM公司研製的一種加密算法,美國國家標準局於1977年公佈把它作爲非機要部門使用的數據加密標準,二十年來,它一直活躍在國際保密通信的舞臺上,扮演了十分重要的角色。
        DES是一個分組加密算法,他以64位爲分組對數據加密。同時DES也是一個對稱算法:加密和解密用的是同一個算法。它的密匙長度是56位(因爲每個第8位都用作奇偶校驗),密匙可以是任意的56位的數,而且可以任意時候改變。其中有極少量的數被認爲是弱密匙,但是很容易避開他們。所以保密性依賴於密鑰。
        特點:分組比較短、密鑰太短、密碼生命週期短、運算速度較慢。
    DES算法具有極高安全性,到目前爲止,除了用窮舉搜索法對DES算法進行攻擊外,還沒有發現更有效的辦法。而56位長的密鑰的窮舉空間爲256,這意味着如果一臺計算機的速度是每一秒種檢測一百萬個密鑰,則它搜索完全部密鑰就需要將近2285年的時間。
        DES現在已經不視爲一種安全的加密算法,因爲它使用的56位祕鑰過短,以現代計算能力,24小時內即可能被破解。也有一些分析報告提出了該算法的理論上的弱點,雖然實際情況未必出現。該標準在最近已經被高級加密標準(AES)所取代。

3DES
      3DES(或稱爲Triple DES)是三重數據加密算法(TDEA,Triple Data Encryption Algorithm)塊密碼的通稱。它相當於是對每個數據塊應用三次DES加密算法。由於計算機運算能力的增強,原版DES密碼的密鑰長度變得容易被暴力破解;3DES即是設計用來提供一種相對簡單的方法,即通過增加DES的密鑰長度來避免類似的攻擊,而不是設計一種全新的塊密碼算法。

AES
      高級加密標準(Advanced Encryption Standard,AES),又稱Rijndael加密法,是美國聯邦政府採用的一種區塊加密標準。這個標準用來替代原先的DES,已經被多方分析且廣爲全世界所使用。經過五年的甄選流程,高級加密標準由美國國家標準與技術研究院(NIST)於2001年11月26日發佈於FIPS PUB 197,並在2002年5月26日成爲有效的標準。2006年,高級加密標準已然成爲對稱密鑰加密中最流行的算法之一。
       AES的區塊長度固定爲128 位元,密鑰長度則可以是128,192或256位元。
 
RSA
      RSA加密算法是一種非對稱加密算法。在公鑰加密標準和電子商業中RSA被廣泛使用。RSA是1977年由羅納德·李維斯特(Ron Rivest)、阿迪·薩莫爾(Adi Shamir)和倫納德·阿德曼(Leonard Adleman)一起提出的。當時他們三人都在麻省理工學院工作。RSA就是他們三人姓氏開頭字母拼在一起組成的。
       RSA算法的可靠性基於分解極大的整數是很困難的。假如有人找到一種很快的分解因子的算法的話,那麼用RSA加密的信息的可靠性就肯定會極度下降。但找到這樣的算法的可能性是非常小的。今天只有短的RSA鑰匙纔可能被強力方式解破。到2008年爲止,世界上還沒有任何可靠的攻擊RSA算法的方式。只要其鑰匙的長度足夠長,用RSA加密的信息實際上是不能被解破的。
       RSA算法利用兩個很大的質數相乘所產生的乘積來加密。這兩個質數無論哪一個先與原文件編碼相乘,對文件加密,均可由另一個質數再相乘來解密。但要用一個質數來求出另一個質數,則是十分困難的。因此將這一對質數稱爲密鑰對(Key Pair)。在加密應用時,某個用戶總是將一個密鑰公開,讓需發信的人員將信息用其公共密鑰加密後發給該用戶,而一旦信息加密後,只有用該用戶一個人知道的私用密鑰才能解密。具有數字憑證身份的人員的公共密鑰可在網上查到,亦可在請對方發信息時主動將公共密鑰傳給對方,這樣保證在Internet上傳輸信息的保密和安全。

ECC
      ECC橢圓曲線加密算法是一種公鑰加密體制,最初由Koblitz和Miller兩人於1985年提出,其數學基礎是利用橢圓曲線上的有理點構成Abel加法羣上橢圓離散對數的計算困難性。
       與經典的RSA,DSA等公鑰密碼體制相比,橢圓密碼體制有以下優點:
       1.安全性高:有研究表示160位的橢圓密鑰與1024位的RSA密鑰安全性相同。
       2.處理速度快:在私鑰的加密解密速度上,ecc算法比RSA、DSA速度更快。
       3.存儲空間佔用小。
       4.帶寬要求低。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章