在資料的加解密領域,演算法分為對稱金鑰與非對稱金鑰兩種。對稱金鑰與非對稱金鑰由於各自的特點,所應用的領域是不盡相同的。對稱金鑰加密演算法由於其速度快,一般用於整體資料的加密,而非對稱金鑰加密演算法的安全性能佳,在數位簽章領域廣泛的應用。
DES加密演算法
DES加密演算法是一種分組密碼,以64位元為分組對資料加密,它的金鑰長度是56位,加密解密用同一算法。 DES加密演算法是將金鑰保密,而公開演算法,包括加密和解密演算法。這樣,只有掌握了和發送方相同密鑰的人才能解讀由DES加密演算法加密的密文資料。因此,破解DES加密演算法其實就是搜尋密鑰的編碼。對於56位元長度的密鑰來說,如果用窮舉法來搜尋的話,其運算次數為256。
隨著電腦系統能力的不斷發展,DES的安全性比它剛出現時會弱得多,然而從非關鍵性質的實際出發,仍可以認為它是足夠的。不過,DES現在只用於舊系統的鑑定,而更選擇新的加密標準。
AES加密演算法
http://blog.csdn.net/yhhwatl/article/details/52523739
#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個密鑰。
相關推薦:《php入門教學》
RSA加密演算法
http://blog.csdn.net /yhhwatl/article/details/52523377
RSA加密演算法是目前最具影響力的公鑰加密演算法,並且被普遍認為是目前最優秀的公鑰方案之一。 RSA是第一個能同時用於加密和數宇簽署的演算法,它能夠抵抗到目前為止已知的所有密碼攻擊,已被ISO推薦為公鑰資料加密標準。 RSA加密演算法基於一個十分簡單的數論事實:將兩個大質數相乘十分容易,但那時想要,但那時想要對其乘積進行因式分解卻極其困難,因此可以將乘積公開作為加密密鑰。
Base64加密演算法
http://www.cnblogs.com/chengmo/archive/2014/05/18/3735917.html
# Base64加密演算法是網路上最常見的用於傳輸8bit位元組代碼的編碼方式之一,Base64編碼可用於在HTTP環境下傳遞較長的識別資訊。例如,在JAVAPERSISTENCE系統HIBEMATE中,採用了Base64來將一個較長的唯一識別碼編碼為一個字串,用作HTTP表單和HTTPGETURL中的參數。在其他應用程式中,也常常需要把二進位資料編碼為適合放在URL(包括隱藏表單域)中的形式。此時,採用Base64編碼不僅比較簡短,同時也具有不可讀性,也就是所編碼的資料不會被人用肉眼所直接看到。
MD5加密演算法
http://libin52008.blog.163.com/blog/static/105327187201186981459/
MD5為電腦安全領域廣泛使用的一種雜湊函數,用於提供訊息的完整性保護。對MD5加密演算法簡要的敘述可以為:MD5以512位元分組來處理輸入的訊息,且每一分組又被劃分為16個32位元子分組,經過了一系列的處理後,演算法的輸出由四個32位元分組組成,將這四個32位元分組級聯後將產生—個128位元雜湊值。
MD5被廣泛用於各種軟體的密碼認證和鑰匙識別。 MD5用的是雜湊函數,它的典型應用是對一段資訊產生資訊摘要,以防止被竄改。 MD5的典型應用是對一段Message產生fingerprin指紋,以防止被「竄改」。如果再有—個第三方的認證機構,用MD5還可以防止文件作者的“抵賴”,這就是所謂的數位簽名應用。 MD5也廣泛用於作業系統的登陸認證上,例如UNIX、各類BSD系統登入密碼、數位簽章等諸多方。
SHA1加密演算法
http://blog.chinaunix.net/uid-23261009-id-2465868.html
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被破解。
XXXTEA加密演算法
「微型加密演算法(TEA)及其相關變種(XTEA,Block TEA,XXTEA)都是分組加密演算法,它們很容易被描述,實現也很簡單(典型的幾行程式碼)。
TEA 演算法最初是由劍橋電腦實驗室的 David Wheeler 和 Roger Needham 在 1994 年設計的。該演算法使用 128 位元的金鑰為 64 位元的資訊區塊進行加密,它需要進行 64 輪迭代。該演算法使用了一個神秘常數δ作為倍數,它來自黃金比率,以保證每一輪加密都不相同。但δ的精確值似乎不重要,這裡 TEA 把它定義為 δ=“(√5 - 1)231”(也就是程式中的 0×9E3779B9 )。 」
https://zh.wikipedia.org/wiki/微型加密演算法
http://www.waitingfy.com/archives/1157?utm_source=tuicool&utm_medium=referral
加密演算法是密碼技術的核心,以上這些加密演算法是常用的加密演算法,而這些演算法有些已經遭到破解,有些安全度不高,有些強度不明,有些待進—步分析,有些需要深入研究,而神秘的加密演算法世界,又會有新的成員加入,期待更安全的演算法誕生。
以上是常規加密演算法有哪些的詳細內容。更多資訊請關注PHP中文網其他相關文章!