當前位置:編程學習大全網 - 源碼下載 - 信息加密技術的加密技術分析

信息加密技術的加密技術分析

加密就是通過密碼算術對數據進行轉化,使之成為沒有正確密鑰任何人都無法讀懂的報文。而這些以無法讀懂的形式出現的數據壹般被稱為密文。為了讀懂報文,密文必須重新轉變為它的最初形式--明文。而含有用來以數學方式轉換報文的雙重密碼就是密鑰。在這種情況下即使壹則信息被截獲並閱讀,這則信息也是毫無利用價值的。而實現這種轉化的算法標準,據不完全統計,到現在為止已經有近200多種。在這裏,主要介紹幾種重要的標準。按照國際上通行的慣例,將這近200種方法按照雙方收發的密鑰是否相同的標準劃分為兩大類:壹種是常規算法(也叫私鑰加密算法或對稱加密算法),其特征是收信方和發信方使用相同的密鑰,即加密密鑰和解密密鑰是相同或等價的。比較著名的常規密碼算法有:美國的DES及其各種變形,比如3DES、GDES、New DES和DES的前身Lucifer; 歐洲的IDEA;日本的FEAL N、LOKI?91、Skipjack、RC4、RC5以及以代換密碼和轉輪密碼為代表的古典密碼等。在眾多的常規密碼中影響最大的是DES密碼,而最近美國NIST(國家標準與技術研究所)推出的AES將有取代DES的趨勢,後文將作出詳細的分析。常規密碼的優點是有很強的保密強度,且經受住時間的檢驗和攻擊,但其密鑰必須通過安全的途徑傳送。因此,其密鑰管理成為系統安全的重要因素。另外壹種是公鑰加密算法(也叫非對稱加密算法)。其特征是收信方和發信方使用的密鑰互不相同,而且幾乎不可能從加密密鑰推導解密密鑰。比較著名的公鑰密碼算法有:RSA、背包密碼、McEliece密碼、Diffe Hellman、Rabin、Ong Fiat Shamir、零知識證明的算法、橢圓曲線、EIGamal算法等等⑷。最有影響的公鑰密碼算法是RSA,它能抵抗到目前為止已知的所有密碼攻擊,而最近勢頭正勁的ECC算法正有取代RSA的趨勢。公鑰密碼的優點是可以適應網絡的開放性要求,且密鑰管理問題也較為簡單,尤其可方便的實現數字簽名和驗證。但其算法復雜,加密數據的速率較低。盡管如此,隨著現代電子技術和密碼技術的發展,公鑰密碼算法將是壹種很有前途的網絡安全加密體制。這兩種算法各有其短處和長處,在下面將作出詳細的分析。 在私鑰加密算法中,信息的接受者和發送者都使用相同的密鑰,所以雙方的密鑰都處於保密的狀態,因為私鑰的保密性必須基於密鑰的保密性,而非算法上。這在硬件上增加了私鑰加密算法的安全性。但同時我們也看到這也增加了壹個挑戰:收發雙方都必須為自己的密鑰負責,這種情況在兩者在地理上分離顯得尤為重要。私鑰算法還面臨這壹個更大的困難,那就是對私鑰的管理和分發十分的困難和復雜,而且所需的費用十分的龐大。比如說,壹個n個用戶的網絡就需要派發n(n-1)/2個私鑰,特別是對於壹些大型的並且廣域的網絡來說,其管理是壹個十分困難的過程,正因為這些因素從而決定了私鑰算法的使用範圍。而且,私鑰加密算法不支持數字簽名,這對遠距離的傳輸來說也是壹個障礙。另壹個影響私鑰的保密性的因素是算法的復雜性。現今為止,國際上比較通行的是DES、3DES以及最近推廣的AES。

數據加密標準(Data Encryption Standard)是IBM公司1977年為美國政府研制的壹種算法。DES是以56 位密鑰為基礎的密碼塊加密技術。它的加密過程壹般如下:

① 壹次性把64位明文塊打亂置換。

② 把64位明文塊拆成兩個32位塊;

③ 用機密DES密鑰把每個32位塊打亂位置16次;

④ 使用初始置換的逆置換。

但在實際應用中,DES的保密性受到了很大的挑戰,1999年1月,EFF和分散網絡用不到壹天的時間,破譯了56位的DES加密信息。DES的統治地位受到了嚴重的影響,為此,美國推出DES的改進版本-- 三重加密(triple Data Encryption Standard)即在使用過程中,收發雙方都用三把密鑰進行加解密,無疑這種3*56式的加密方法大大提升了密碼的安全性,按現在的計算機的運算速度,這種破解幾乎是不可能的。但是我們在為數據提供強有力的安全保護的同時,也要化更多的時間來對信息進行三次加密和對每個密層進行解密。同時在這種前提下,使用這種密鑰的雙發都必須擁有3個密鑰,如果丟失了其中任何壹把,其余兩把都成了無用的密鑰。這樣私鑰的數量壹下又提升了3倍,這顯然不是我們想看到的。於是美國國家標準與技術研究所推出了壹個新的保密措施來保護金融交易。高級加密標準(Advanced Encryption Standard)美國國家技術標準委員會(NIST)在2000年10月選定了比利時的研究成果Rijndael作為AES的基礎。Rijndael是經過三年漫長的過程,最終從進入候選的五種方案中挑選出來的。

AES內部有更簡潔精確的數學算法,而加密數據只需壹次通過。AES被設計成高速,堅固的安全性能,而且能夠支持各種小型設備。AES與3DES相比,不僅是安全性能有重大差別,使用性能和資源有效利用上也有很大差別。雖然到現在為止,我還不了解AES的具體算法但是從下表可以看出其與3DES的巨大優越性。

還有壹些其他的壹些算法,如美國國家安全局使用的飛魚(Skipjack)算法,不過它的算法細節始終都是保密的,所以外人都無從得知其細節類容;壹些私人組織開發的取代DES的方案:RC2、RC4、RC5等。 面對在執行過程中如何使用和分享密鑰及保持其機密性等問題,1975年Whitefield Diffe和Marti Hellman提出了公開的密鑰密碼技術的概念,被稱為Diffie-Hellman技術。從此公鑰加密算法便產生了。

由於采取了公***密鑰,密鑰的管理和分發就變得簡單多了,對於壹個n個用戶的網絡來說,只需要2n個密鑰便可達到密度。同時使得公鑰加密法的保密性全部集中在及其復雜的數學問題上,它的安全性因而也得到了保證。但是在實際運用中,公***密鑰加密算法並沒有完全的取代私鑰加密算法。其重要的原因是它的實現速度遠遠趕不上私鑰加密算法。又因為它的安全性,所以常常用來加密壹些重要的文件。自公鑰加密問世以來,學者們提出了許多種公鑰加密方法,它們的安全性都是基於復雜的數學難題。根據所基於的數學難題來分類,有以下三類系統目前被認為是安全和有效的:大整數因子分解系統(代表性的有RSA)、橢圓曲線離散對數系統(ECC)和離散對數系統 (代表性的有DSA),下面就作出較為詳細的敘述。

RSA算法是由羅納多·瑞維斯特(Rivet)、艾迪·夏彌爾(Shamir)和裏奧納多·艾德拉曼(Adelman)聯合推出的,RAS算法由此而得名。它的安全性是基於大整數素因子分解的困難性,而大整數因子分解問題是數學上的著名難題,至今沒有有效的方法予以解決,因此可以確保RSA算法的安全性。RSA系統是公鑰系統的最具有典型意義的方法,大多數使用公鑰密碼進行加密和數字簽名的產品和標準使用的都是RSA算法。它得具體算法如下:

① 找兩個非常大的質數,越大越安全。把這兩個質數叫做P和Q。

② 找壹個能滿足下列條件得數字E:

A. 是壹個奇數。

B. 小於P×Q。

C. 與(P-1)×(Q-1)互質,只是指E和該方程的計算結果沒有相同的質數因子。

③ 計算出數值D,滿足下面性質:((D×E)-1)能被(P-1)×(Q-1)整除。

公開密鑰對是(P×Q,E)。

私人密鑰是D。

公開密鑰是E。

解密函數是:

假設T是明文,C是密文。

加密函數用公開密鑰E和模P×Q;

加密信息=(TE)模P×Q。

解密函數用私人密鑰D和模P×Q;

解密信息=(CD)模P×Q。

橢圓曲線加密技術(ECC)是建立在單向函數(橢圓曲線離散對數)得基礎上,由於它比RAS使用得離散對數要復雜得多。而且該單向函數比RSA得要難,所以與RSA相比,它有如下幾個優點:

安全性能更高 加密算法的安全性能壹般通過該算法的抗攻擊強度來反映。ECC和其他幾種公鑰系統相比,其抗攻擊性具有絕對的優勢。如160位 ECC與1024位 RSA有相同的安全強度。而210位 ECC則與2048bit RSA具有相同的安全強度。

計算量小,處理速度快 雖然在RSA中可以通過選取較小的公鑰(可以小到3)的方法提高公鑰處理速度,即提高加密和簽名驗證的速度,使其在加密和簽名驗證速度上與ECC有可比性,但在私鑰的處理速度上(解密和簽名),ECC遠比RSA、DSA快得多。因此ECC總的速度比RSA、DSA要快得多。

存儲空間占用小 ECC的密鑰尺寸和系統參數與RSA、DSA相比要小得多,意味著它所占的存貯空間要小得多。這對於加密算法在IC卡上的應用具有特別重要的意義。

帶寬要求低 當對長消息進行加解密時,三類密碼系統有相同的帶寬要求,但應用於短消息時ECC帶寬要求卻低得多。而公鑰加密系統多用於短消息,例如用於數字簽名和用於對對稱系統的會話密鑰傳遞。帶寬要求低使ECC在無線網絡領域具有廣泛的應用前景。

ECC的這些特點使它必將取代RSA,成為通用的公鑰加密算法。比如SET協議的制定者已把它作為下壹代SET協議中缺省的公鑰密碼算法。

  • 上一篇:進口冷鏈產品追溯碼查詢
  • 下一篇:無人機飛行控制的特點
  • copyright 2024編程學習大全網