AES:更快偶芍,兼容設(shè)備,安全級別高德玫;
DES:本地?cái)?shù)據(jù)匪蟀,安全級別低
SHA1:公鑰后處理回傳
MD5:防篡改
1
公開密鑰加密(英語:public-key cryptography,又譯為公開密鑰加密)宰僧,也稱為非對稱加密(asymmetric cryptography)材彪,一種密碼學(xué)算法類型,在這種密碼學(xué)方法中琴儿,需要一對密鑰段化,一個(gè)是私人密鑰,另一個(gè)則是公開密鑰造成。這兩個(gè)密鑰是數(shù)學(xué)相關(guān)显熏,用某用戶密鑰加密后所得的信息,只能用該用戶的解密密鑰才能解密晒屎。如果知道了其中一個(gè)喘蟆,并不能計(jì)算出另外一個(gè)。因此如果公開了一對密鑰中的一個(gè)夷磕,并不會危害到另外一個(gè)的秘密性質(zhì)履肃。稱公開的密鑰為公鑰;不公開的密鑰為私鑰坐桩。
2
DES現(xiàn)在已經(jīng)不是一種安全的加密方法尺棋,主要因?yàn)樗褂玫?6位密鑰過短。1999年1月绵跷,distributed.net與電子前哨基金會合作膘螟,在22小時(shí)15分鐘內(nèi)即公開破解了一個(gè)DES密鑰。也有一些分析報(bào)告提出了該算法的理論上的弱點(diǎn)碾局,雖然在實(shí)際中難以應(yīng)用荆残。為了提供實(shí)用所需的安全性,可以使用DES的派生算法3DES來進(jìn)行加密净当,雖然3DES也存在理論上的攻擊方法内斯。在2001年蕴潦,DES作為一個(gè)標(biāo)準(zhǔn)已經(jīng)被高級加密標(biāo)準(zhǔn)(AES)所取代。另外俘闯,DES已經(jīng)不再作為國家標(biāo)準(zhǔn)科技協(xié)會(前國家標(biāo)準(zhǔn)局)的一個(gè)標(biāo)準(zhǔn)潭苞。
3
高級加密標(biāo)準(zhǔn)(英語:Advanced Encryption Standard,縮寫:AES)真朗,在密碼學(xué)中又稱Rijndael加密法此疹,是美國聯(lián)邦政府采用的一種區(qū)塊加密標(biāo)準(zhǔn)。這個(gè)標(biāo)準(zhǔn)用來替代原先的DES遮婶,已經(jīng)被多方分析且廣為全世界所使用蝗碎。經(jīng)過五年的甄選流程,高級加密標(biāo)準(zhǔn)由美國國家標(biāo)準(zhǔn)與技術(shù)研究院(NIST)于2001年11月26日發(fā)布于FIPS PUB 197旗扑,并在2002年5月26日成為有效的標(biāo)準(zhǔn)蹦骑。2006年,高級加密標(biāo)準(zhǔn)已然成為對稱密鑰加密中最流行的算法之一臀防。
MD5和SHA1是2種加密算法脊串,用于計(jì)算出一段不可逆向計(jì)算的數(shù)值,以此來驗(yàn)證該文件是否被修改的.它可以幫你驗(yàn)證從網(wǎng)上下載下來的windows7安裝程序是否與發(fā)布人發(fā)布的東西完全一致清钥,也就是幫助你驗(yàn)證這個(gè)程序有沒有經(jīng)過他人(非發(fā)布人)的修改。
aes/des加密速度快,適合大量數(shù)據(jù),des容易破解,一般用3重des,后來又出現(xiàn)了更快更安全的aes放闺,rsa是公鑰加密,速度慢,只能處理少量數(shù)據(jù),優(yōu)點(diǎn)是公鑰即使在不安全的網(wǎng)絡(luò)上公開,也能保證安全常見情況是雙方用rsa協(xié)商出一個(gè)密鑰后通過aes/3des給數(shù)據(jù)加密
SHA-1
在1993年祟昭,安全散列算法(SHA)由美國國家標(biāo)準(zhǔn)和技術(shù)協(xié)會(NIST)提出,并作為聯(lián)邦信息處理標(biāo)準(zhǔn)(FIPS PUB 180)公布怖侦;1995年又發(fā)布了一個(gè)修訂版FIPS PUB 180-1篡悟,通常稱之為SHA-1。SHA-1是基于MD4算法的匾寝,并且它的設(shè)計(jì)在很大程度上是模仿MD4的“嵩幔現(xiàn)在已成為公認(rèn)的最安全的散列算法之一,并被廣泛使用艳悔。
原理
SHA-1是一種數(shù)據(jù)加密算法急凰,該算法的思想是接收一段明文,然后以一種不可逆的方式將它轉(zhuǎn)換成一段(通常更胁履辍)密文抡锈,也可以簡單的理解為取一串輸入碼(稱為預(yù)映射或信息),并把它們轉(zhuǎn)化為長度較短乔外、位數(shù)固定的輸出序列即散列值(也稱為信息摘要或信息認(rèn)證代碼)的過程床三。
單向散列函數(shù)的安全性在于其產(chǎn)生散列值的操作過程具有較強(qiáng)的單向性。如果在輸入序列中嵌入密碼杨幼,那么任何人在不知道密碼的情況下都不能產(chǎn)生正確的散列值撇簿,從而保證了其安全性聂渊。SHA將輸入流按照每塊512位(64個(gè)字節(jié))進(jìn)行分塊,并產(chǎn)生20個(gè)字節(jié)的被稱為信息認(rèn)證代碼或信息摘要的輸出四瘫。
該算法輸入報(bào)文的最大長度不超過264位汉嗽,產(chǎn)生的輸出是一個(gè)160位的報(bào)文摘要。輸入是按512 位的分組進(jìn)行處理的莲组。SHA-1是不可逆的诊胞、防沖突,并具有良好的雪崩效應(yīng)锹杈。
通過散列算法可實(shí)現(xiàn)數(shù)字簽名實(shí)現(xiàn)撵孤,數(shù)字簽名的原理是將要傳送的明文通過一種函數(shù)運(yùn)算(Hash)轉(zhuǎn)換成報(bào)文摘要(不同的明文對應(yīng)不同的報(bào)文摘要),報(bào)文摘要加密后與明文一起傳送給接受方竭望,接受方將接受的明文產(chǎn)生新的報(bào)文摘要與發(fā)送方的發(fā)來報(bào)文摘要解密比較邪码,比較結(jié)果一致表示明文未被改動,如果不一致表示明文已被篡改咬清。