DES/3DES/AES區別

公元前400年,古希臘人發明了置換密碼。1881年世界上的第一個電話保密專利出現。在第二次世界大戰期間,德國軍方啓用“恩尼格瑪”密碼機,密碼學在戰爭中起着非常重要的作用。 



DES 

  1977年1月,美國政府頒佈:採納IBM公司設計的方案作爲非機密數據的正式數據加密標準(DESData Encryption Standard) 。 

  目前在國內,隨着三金工程尤其是金卡工程的啓動,DES算法在POS、ATM、磁卡及智能卡(IC卡)、加油站、高速公路收費站等領域被廣泛應用,以此來實現關鍵數據的保密,如信用卡持卡人的PIN的加密傳輸,IC卡與POS間的雙向認證、金融交易數據包的MAC校驗等,均用到DES算法。 



  DES算法的入口參數有三個:Key、Data、Mode。 

  其中Key爲8個字節共64位,是DES算法的工作密鑰; 

  Data也爲8個字節64位,是要被加密或被解密的數據; 

  Mode爲DES的工作方式,有兩種:加密或解密。 



  DES算法是這樣工作的: 

  如Mode爲加密,則用Key 去把數據Data進行加密, 生成Data的密碼形式(64位)作爲DES的輸出結果; 

  如Mode爲解密,則用Key去把密碼形式的數據Data解密,還原爲Data的明碼形式(64位)作爲DES的輸出結果。 

  在通信網絡的兩端,雙方約定一致的Key,在通信的源點用Key對核心數據進行DES加密,然後以密碼形式在公共通信網(如電話網)中傳輸到通信網絡的終點,數據到達目的地後,用同樣的Key對密碼數據進行解密,便再現了明碼形式的核心數據。這樣,便保證了核心數據(如PIN、MAC等)在公共通信網中傳輸的安全性和可靠性。 

  通過定期在通信網絡的源端和目的端同時改用新的Key,便能更進一步提高數據的保密性,這正是現在金融交易網絡的流行做法。 





3DES 

  3DES是DES加密算法的一種模式,它使用3條64位的密鑰對數據進行三次加密。數據加密標準(DES)是美國的一種由來已久的加密標準,它使用對稱密鑰加密法。 

  3DES(即Triple DES)是DES向AES過渡的加密算法(1999年,NIST將3-DES指定爲過渡的加密標準),是DES的一個更安全的變形。它以DES爲基本模塊,通過組合分組方法設計出分組加密算法。 



  設Ek()和Dk()代表DES算法的加密和解密過程,K代表DES算法使用的密鑰,P代表明文,C代表密表,這樣,

  3DES加密過程爲:C=Ek3(Dk2(Ek1(P))) 

  3DES解密過程爲:P=Dk1((EK2(Dk3(C))) 

  K1、K2、K3決定了算法的安全性,若三個密鑰互不相同,本質上就相當於用一個長爲168位的密鑰進行加密。多年來,它在對付強力攻擊時是比較安全的。若數據對安全性要求不那麼高,K1可以等於K3。在這種情況下,密鑰的有效長度爲112位。 




AES
 

  AES(Advanced Encryption Standard):高級加密標準,是下一代的加密算法標準,速度快,安全級別高。 

  用AES加密2000年10月,NIST(美國國家標準和技術協會)宣佈通過從15種候選算法中選出的一項新的密匙加密標準。Rijndael被選中成爲將來的 AES。Rijndael是在1999年下半年,由研究員Joan Daemen 和 Vincent Rijmen 創建的。AES正日益成爲加密各種形式的電子數據的實際標準。 

  美國標準與技術研究院(NIST)於2002年5月26日製定了新的高級加密標準(AES)規範。 



  AES算法基於排列和置換運算。排列是對數據重新進行安排,置換是將一個數據單元替換爲另一個。 

  AES使用幾種不同的方法來執行排列和置換運算。AES是一個迭代的、對稱密鑰分組的密碼,它可以使用128、192和256位密鑰,並且用128位(16字節)分組加密和解密數據。 

  與公共密鑰加密使用密鑰對不同,對稱密鑰密碼使用相同的密鑰加密和解密數據。通過分組密碼返回的加密數據的位數與輸入數據相同。迭代加密使用一個循環結構,在該循環中重複置換和替換輸入數據。 

該博文轉自:http://www.cnblogs.com/wei2yi/p/3484170.html
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章