1. 程式人生 > >常見的加密演算法的分類以及定義

常見的加密演算法的分類以及定義

常見加密演算法分類

對稱加密演算法:DES、3DES、DESX、Blowfish、IDEA、RC4、RC5、RC6和AES

非對稱加密演算法:RSA、ECC(移動裝置用)、Diffie-Hellman、El Gamal、DSA(數字簽名用)

Hash演算法:MD2、MD4、MD5、HAVAL、SHA、SHA-1、HMAC、HMAC-MD5、HMAC-SHA1


各種加密演算法的定義

DES加密演算法

DES加密演算法是一種分組密碼,以64位為分組對資料加密,它的金鑰長度是56位,加密解密用同一演算法。DES加密演算法是對金鑰進行保密,而公開演算法,包括加密和解密演算法。這樣,只有掌握了和傳送方相同金鑰的人才能解讀由DES加密演算法加密的密文資料。因此,破譯DES加密演算法實際上就是搜尋金鑰的編碼。對於56位長度的金鑰來說,如果用窮舉法來進行搜尋的話,其運算次數為256。

隨著計算機系統能力的不斷髮展,DES的安全性比它剛出現時會弱得多,然而從非關鍵性質的實際出發,仍可以認為它是足夠的。不過,DES現在僅用於舊系統的鑑定,而更多地選擇新的加密標準。

AES加密演算法

AES加密演算法是密碼學中的高階加密標準,該加密演算法採用對稱分組密碼體制,金鑰長度的最少支援為128、192、256,分組長度128位,演算法應易於各種硬體和軟體實現。這種加密演算法是美國聯邦政府採用的區塊加密標準,這個標準用來替代原先的DES,已經被多方分析且廣為全世界所使用。

AES加密演算法被設計為支援128/192/256位(/32=nb)資料塊大小(即分組長度);支援128/192/256位(/32=nk)密碼長度,,在10進位制裡,對應34×1038、62×1057、1.1×1077個金鑰。

RSA加密演算法

RSA加密演算法是目前最有影響力的公鑰加密演算法,並且被普遍認為是目前最優秀的公鑰方案之一。RSA是第一個能同時用於加密和數宇簽名的演算法,它能夠抵抗到目前為止已知的所有密碼攻擊,已被ISO推薦為公鑰資料加密標準。RSA加密演算法基於一個十分簡單的數論事實:將兩個大素數相乘十分容易,但那時想要,但那時想要對其乘積進行因式分解卻極其困難,因此可以將乘積公開作為加密金鑰。

Base64加密演算法

Base64加密演算法是網路上最常見的用於傳輸8bit位元組程式碼的編碼方式之一,Base64編碼可用於在HTTP環境下傳遞較長的標識資訊。例如,在JAVAPERSISTENCE系統HIBEMATE中,採用了Base64來將一個較長的唯一識別符號編碼為一個字串,用作HTTP表單和HTTPGETURL中的引數。在其他應用程式中,也常常需要把二進位制資料編碼為適合放在URL(包括隱藏表單域)中的形式。此時,採用Base64編碼不僅比較簡短,同時也具有不可讀性,即所編碼的資料不會被人用肉眼所直接看到。

MD5加密演算法

MD5為電腦保安領域廣泛使用的一種雜湊函式,用以提供訊息的完整性保護。對MD5加密演算法簡要的敘述可以為:MD5以512位分組來處理輸入的資訊,且每一分組又被劃分為16個32位子分組,經過了一系列的處理後,演算法的輸出由四個32位分組組成,將這四個32位分組級聯後將生成—個128位雜湊值。

MD5被廣泛用於各種軟體的密碼認證和鑰匙識別上。MD5用的是雜湊函式,它的典型應用是對一段資訊產生資訊摘要,以防止被篡改。MD5的典型應用是對一段Message產生fingerprin指紋,以防止被“篡改”。如果再有—個第三方的認證機構,用MD5還可以防止檔案作者的“抵賴”,這就是所謂的數字簽名應用。MD5還廣泛用於作業系統的登陸認證上,如UNIX、各類BSD系統登入密碼、數字簽名等諸多方。

SHA1加密演算法

SHA1是和MD5一樣流行的訊息摘要演算法。SHA加密演算法模仿MD4加密演算法。SHA1設計為和數字簽名演算法(DSA)一起使用。

SHA1主要適用於數字簽名標準裡面定義的數字簽名演算法。對於長度小於2“64位的訊息,SHA1會產生一個160位的訊息摘要。當接收到訊息的時候,這個訊息摘要可以用來驗證資料的完整性。在傳輸的過程中,資料很可能會發生變化,那麼這時候就會產生不同的訊息摘要。SHA1不可以從訊息摘要中復原資訊,而兩個不同的訊息不會產生同樣的訊息摘要。這樣,SHA1就可以驗證資料的完整性,所以說SHA1是為了保證檔案完整性的技術。

SHA1加密演算法可以採用不超過264位的資料輸入,併產生一個160位的摘要。輸入被劃分為512位的塊,並單獨處理。160位緩衝器用來儲存雜湊函式的中間和最後結果。緩衝器可以由5個32位暫存器(A、B、C、D和E)來表示。SHA1是一種比MD5的安全性強的演算法,理論上,凡是採取“訊息摘要”方式的數字驗證演算法都是有“碰撞”的——也就是兩個不同的東西算出的訊息摘要相同,互通作弊圖就是如此。但是安全性高的演算法要找到指定資料的“碰撞”很困難,而利用公式來計算“碰撞”就更困難一目前為止通用安全演算法中僅有MD5被破解。

ECC加密演算法

ECC(Elliptic Curve Cryptosystems )橢圓曲線密碼體制,美國SUN公司開發的,它的體制根據其所依據的難題一般分為三類:大整數分解問題類、離散對數問題類、橢圓曲線類。2000年10月,國際密碼學界在德國ESSEN召開了學術大會(ECC2000),在這次會議上,來自世界各國的密碼學家、數學家證明了對ECC演算法的最快破解效率是高於亞指數級的,而RSA演算法的最快破解效率是亞指數級的。ECC2000的召開進一步從學術上奠定了ECC演算法的安全性,極大的推動了它在世界各國的應用。


GDCA是一家提供資訊保安證書的運營企業,從事資訊保安證書數十載,在資訊保安方面擁有雄厚的實力。GDCA已通過WEBTRUST國際認證,具備了國際化的電子認證服務能力。其中,GDCA的 產品之一SSL證書是一種伺服器端的數字證書,它能確保使用者在使用SSL協議進行資料交換時驗證和確保資料安全。GDCA SSL證書使用的加密長度是128/256位。據目前IT技術,40位強度的證書暴力破解耗費4小時,而對於128位證書破解需要一萬億年以上。目前,GDCA SSL證書是國內領先的安全證書。日後,GDCA將會堅持不斷深入研發,為各大網路商業平臺提供更安全的資訊保安證書,為網路安全虛擬世界貢獻一份微弱的力量。

文章轉載:https://www.trustauth.cn/wiki/13963.html