1. 程式人生 > >[轉] AES,SHA1,DES,RSA,MD5區別

[轉] AES,SHA1,DES,RSA,MD5區別

轉換 並且 小時 baidu none 新的 密碼 函數 沖突

AES:更快,兼容設備,安全級別高;

SHA1:公鑰後處理回傳

DES:本地數據,安全級別低

RSA:非對稱加密,有公鑰和私鑰

MD5:防篡改

相關:

公開密鑰加密(英語:public-key cryptography,又譯為公開密鑰加密),也稱為非對稱加密(asymmetric cryptography),一種密碼學算法類型,在這種密碼學方法中,需要一對密鑰,一個是私人密鑰,另一個則是公開密鑰。這兩個密鑰是數學相關,用某用戶密鑰加密後所得的信息,只能用該用戶的解密密鑰才能解密。如果知道了其中一個,並不能計算出另外一個。因此如果公開了一對密鑰中的一個,並不會危害到另外一個的秘密性質。稱公開的密鑰為公鑰;不公開的密鑰為私鑰。

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

高級加密標準(英語:Advanced Encryption Standard,縮寫:AES),在密碼學中又稱Rijndael加密法,是美國聯邦政府采用的一種區塊加密標準。這個標準用來替代原先的DES,已經被多方分析且廣為全世界所使用。經過五年的甄選流程,高級加密標準由美國國家標準與技術研究院(NIST)於2001年11月26日發布於FIPS PUB 197,並在2002年5月26日成為有效的標準。2006年,高級加密標準已然成為對稱密鑰加密中最流行的算法之一。

MD5和SHA1是2種加密算法,用於計算出一段不可逆向計算的數值,以此來驗證該文件是否被修改的.

它可以幫你驗證從網上下載下來的windows7安裝程序是否與發布人發布的東西完全一致,也就是幫助你驗證這個程序有沒有經過他人(非發布人)的修改。

aes/des加密速度快,適合大量數據,des容易破解,一般用3重des,後來又出現了更快更安全的aes
rsa是公鑰加密,速度慢,只能處理少量數據,優點是公鑰即使在不安全的網絡上公開,也能保證安全
常見情況是雙方用rsa協商出一個密鑰後通過aes/3des給數據加密

SHA-1
在1993年,安全散列算法(SHA)由美國國家標準和技術協會(NIST)提出,並作為聯邦信息處理標準(FIPS PUB 180)公布;1995年又發布了一個修訂版FIPS PUB 180-1,通常稱之為SHA-1。SHA-1是基於MD4算法的,並且它的設計在很大程度上是模仿MD4的。現在已成為公認的最安全的散列算法之一,並被廣泛使用。


原理
SHA-1是一種數據加密算法,該算法的思想是接收一段明文,然後以一種不可逆的方式將它轉換成一段(通常更小)密文,也可以簡單的理解為取一串輸入碼(稱為預映射或信息),並把它們轉化為長度較短、位數固定的輸出序列即散列值(也稱為信息摘要或信息認證代碼)的過程。

單向散列函數的安全性在於其產生散列值的操作過程具有較強的單向性。如果在輸入序列中嵌入密碼,那麽任何人在不知道密碼的情況下都不能產生正確的散列值,從而保證了其安全性。SHA將輸入流按照每塊512位(64個字節)進行分塊,並產生20個字節的被稱為信息認證代碼或信息摘要的輸出。

該算法輸入報文的最大長度不超過264位,產生的輸出是一個160位的報文摘要。輸入是按512 位的分組進行處理的。SHA-1是不可逆的、防沖突,並具有良好的雪崩效應。

通過散列算法可實現數字簽名實現,數字簽名的原理是將要傳送的明文通過一種函數運算(Hash)轉換成報文摘要(不同的明文對應不同的報文摘要),報文摘要加密後與明文一起傳送給接受方,接受方將接受的明文產生新的報文摘要與發送方的發來報文摘要解密比較,比較結果一致表示明文未被改動,如果不一致表示明文已被篡改。

[轉] AES,SHA1,DES,RSA,MD5區別