1. 程式人生 > >加密演算法詳解 DES、3DES、AES、RSA、MD5、sha1

加密演算法詳解 DES、3DES、AES、RSA、MD5、sha1

DES、3DES、AES、RSA、MD5、sha1 加密演算法總結
一、簡介

DES:全稱為Data Encryption Standard,即資料加密標準,是一種使用金鑰加密的塊演算法;DES現在已經不是一種安全的加密方法,主要因為它使用的56位金鑰過短。1999年1月,distributed.net電子前哨基金會合作,在22小時15分鐘內即公開破解了一個DES金鑰。也有一些分析報告提出了該演算法的理論上的弱點,雖然在實際中難以應用。為了提供實用所需的安全性,可以使用DES的派生演算法3DES來進行加密,雖然3DES也存在理論上的攻擊方法。在2001年,DES作為一個標準已經被高階加密標準(AES)所取代。另外,DES已經不再作為

國家標準科技協會(前國家標準局)的一個標準。

3DES:(即Triple DES)是DES向AES過渡的加密演算法,它使用3條56位的金鑰對資料進行三次加密。3DES更為安全。
AES:高階加密標準(英語:Advanced Encryption Standard,縮寫:AES),在密碼學中又稱Rijndael加密法,這個標準用來替代原先的DES;,已經被多方分析且廣為全世界所使用。經過五年的甄選流程,高階加密標準由美國國家標準與技術研究院(NIST)於2001年11月26日釋出於FIPS PUB 197,並在2002年5月26日成為有效的標準。2006年,高階加密標準已然成為對稱金鑰加密中最流行的演算法之一。

RSA:公鑰加密演算法是1977年由羅納德·李維斯特(Ron Rivest)、阿迪·薩莫爾(Adi Shamir)和倫納德·阿德曼(Leonard Adleman)一起提出的。
MD5:Message Digest Algorithm MD5(訊息摘要演算法第五版)為電腦保安領域廣泛使用的一種雜湊函式,用以提供訊息的完整性保護。
SHA1:即安全雜湊演算法(Secure Hash Algorithm),主要適用於數字簽名標準,SHA1會產生一個160位的訊息摘要;在1993年,安全雜湊演算法(SHA)由美國國家標準和技術協會(NIST)提出,並作為聯邦資訊處理標準(FIPS PUB 180)公佈;1995年又釋出了一個修訂版FIPS PUB 180-1,通常稱之為SHA-1。SHA-1是基於MD4演算法的,並且它的設計在很大程度上是模仿MD4的。現在已成為公認的最安全的雜湊演算法之一,並被廣泛使用。





二、可解密
1.對稱加密:DES、3DES、AES
採用單鑰密碼系統的加密方法,同一個金鑰可以同時用作資訊的加密和解密,這種加密方法稱為對稱加密,也稱為單金鑰加密。
美國資料加密標準(DES)是對稱密碼演算法,就是加密金鑰能夠從解密金鑰中推算出來,反過來也成立。金鑰較短,加密處理簡單,加解密速度快,適用於加密大量資料的場合。
RSA是非對稱演算法,加密金鑰和解密金鑰是不一樣的,或者說不能由其中一個金鑰推匯出另一個金鑰。金鑰尺寸大,加解密速度慢,一般用來加密少量資料,比如DES的金鑰。


2.非對稱加密:RSA
非對稱加密為資料的加密與解密提供了一個非常安全的方法,它使用了一對金鑰,公鑰(public key)和私鑰(private key)。私鑰只能由一方安全保管,不能外洩,而公鑰則可以發給任何請求它的人。非對稱加密使用這對金鑰中的一個進行加密,而解密則需要另一個金鑰。


三、不可解密
1.不可逆加密演算法:MD5、SHA1

SHA1 和 MD5 是搜尋雜湊演算法,將任意大小的資料對映到一個較小的、固定長度的唯一值。加密性強的雜湊一定是不可逆的,這就意味著通過雜湊結果,無法推出任何部分的原始資訊。任何輸入資訊的變化,哪怕僅一位,都將導致雜湊結果的明顯變化,這稱之為雪崩效應。雜湊還應該是防衝突的,即找不出具有相同雜湊結果的兩條資訊。具有這些特性的雜湊結果就可以用於驗證資訊是否被修改。MD5 比 SHA1 大約快 33%。

鳴謝參考:http://blog.csdn.net/hengshujiyi/article/details/45972533