王善躍, 何小海, 羅代升, 寧國強③
(①四川大學 電子信息學院圖像信息研究所,四川 成都 610064;②解放軍防空兵指揮學院,河南 鄭州 450052;③解放軍西安通信學院,陜西 西安 710106)
密碼加密作為保障數據安全的一種方式,它不是現在才有的,它產生的歷史相當久遠,它是起源于要追溯于公元前2000年,雖然它不是現在我們所講的加密技術,但作為一種加密的概念,確實早在幾個世紀前就誕生了。近期密碼學技術主要應用于軍事領域,隨著計算機的發展,運算能力的增強,過去的密碼都變得十分簡單了,于是人們又不斷地研究出了新的數據加密方式[1]。
數據加密標準(Data Encryption Standard,DES)曾被美國國家標準局(NBS,現為國家標準與技術研究所NIST)確定為聯邦信息處理標準(FIPS PUB 46),是一種世界范圍之內廣泛使用的以密鑰作為加密方法的加密手段,被美國政府確定是很難破譯的,因此也被美國政府作為限制出口的一種技術。
DES使用56 bit有效密鑰的64-bit分組密碼來加密64位數據。它是一個16-圈的迭代型密碼。加、解密算法一樣,但加、解密時所使用的子密鑰的順序剛好相反。DES的硬件實現的加密速率大約為 20 Mbit/s;DES的軟件實現的速率大約為 400~500 kbit/s。DES專用芯片的加密和解密的速率大約為1 Gbit/s。DES密碼算法輸入的是64 bit的明文,在64 bit密鑰的控制下產生64 bit的密文;反之輸入64 bit的密文,輸出64 bit的明文。64 bit的密鑰中含有8個bit的奇偶校驗位,所以實際有效密鑰長度為56 bit。
正因為DES只有56 bit的有效密鑰,64 bit密鑰中的第8位、第16位、…、第64位為校驗位。所以對DES最尖銳的批評之一是DES的密鑰太短。
高級加密標準(Advanced Encryption Standard,AES)作為傳統對稱加密算法標準DES的代替者,由NIST于1997年提出征集該算法的公告。2000年10月2日,以安全性(穩定的數學基礎、沒有算法弱點、算法抗密碼分析的強度、算法輸出的隨即性)、性能(必須能夠在多種平臺上以較快的速度實現)、大小(不能占用大量的存儲空間和內存)實現特性(靈活性、硬件和軟件適應性、算法的簡單性等)為標準最終選定了Rijindael算法,并于2001年正式發布了AES標準。
Rijindael算法本質上是一種對稱分組密碼體制,采用代替/置換網絡,每輪由三層組成:線性混合層確保多輪上的高度擴散,非線性層由16個S盒并置起到混淆的作用,密鑰加密層將子密鑰異或到中間狀態。Rijindael匯聚了安全性能、效率、可實現性和靈活性等優點,最大的優點是可以給出算法的最佳差分特征的概率,并分析算法抵抗查分算法分析及線性密碼分析的能力。Rijindael對內存的需求非常低,也使它很適合用于受限制的環境中,而且操作簡單,并可抵御強大和實時的攻擊[2]。
1.3.1 RSA公鑰密碼體制
RSA是建立在大整數分解的困難上的,是一種分組密碼體制。RSA建立方法如下:首先隨機選兩個大素數p,q, 計算n=p·q;計算歐拉函數φ(n)=(p-1)(q-1);任選一個整數e為公開加密密鑰,由e求出秘密解密密鑰加密/解密:將明文分成長度小于位的明文塊m,加密過程是:c=E(m,e) =mod n,解密過程是:m=D(c,d)=modn。
1.3.2 RSA公鑰密碼體制的安全性分析
RSA的安全性依賴于大整數的因式分解問題。實際上,人們推測 RSA的安全性依賴于大整數的因式分解問題,但誰也沒有在數學上證明從c和e計算m需要對n進行因式分解。可以想象可能會有完全不同的方式去分析RSA。然而,如果這種方法能讓密碼解析員推導出 d,則它也可以用作大整數因式分解的新方法[3]。最難以令人置信的是,有些RSA變體已經被證明與因式分解同樣困難。甚至從 RSA加密的密文中恢復出某些特定的位也與解密整個消息同樣困難。
橢圓曲線密碼體制 ECC來源于對橢圓曲線的研究,所謂橢圓曲線指的是由韋爾斯特拉斯(Weierstrass)方程:

所確定的平面曲線。其中系數ai(i=1,2,…,6)定義在某個域上,可以是有理數域、實數域、復數域,還可以是有限域GF(pr),橢圓曲線密碼體制中用到的橢圓曲線都是定義在有限域上的。 橢圓曲線上所有的點外加一個叫做無窮遠點的特殊點構成的集合連同一個定義的加法運算構成一個 Abel群。在等式:已知m和點P求點Q比較容易,反之已知點Q和點P求m卻是相當困難的,這個問題稱為橢圓曲線上點群的離散對數問題[4]。橢圓曲線密碼體制正是利用這個困難問題設計而來。橢圓曲線應用到密碼學上最早是由 Neal Koblitz 和 Victor Miller在1985年分別獨立提出的。

橢圓曲線密碼體制是目前已知的公鑰體制中,對每比特所提供加密強度最高的一種體制。解橢圓曲線上的離散對數問題的最好算法是Pollard rho方法,其破譯和求解難度基本上是指數階的。其中n為等式(2)中m的二進制表示的位數。當n=234, 約為2117,需要1.6×1023 MIPS 年的時間。而我們熟知的 RSA所利用的是大整數分解的困難問題,目前對于一般情況下的因數分解的最好算法的時間復雜度是子指數階的,當n=2048時,需要2x1020MIPS年的時間。也就是說當RSA的密鑰使用2048位時,ECC的密鑰使用234位所獲得的安全強度還高出許多。它們之間的密鑰長度卻相差達9倍,當ECC的密鑰更大時它們之間差距將更大[5]。更ECC密鑰短的優點是非常明顯的,隨加密強度的提高,密鑰長度變化不大。
公鑰密碼學能夠使通信雙方在不安全的信道上安全地交換信息。在過去的幾年里,公鑰密碼學已經極大地加速了網絡的應用。然而,和對稱密碼系統不同,非對稱密碼的執行效率不能很好地滿足速度的需要。因此,如何改進效率成為公鑰密碼學中一個關鍵的問題之一。
圓錐曲線密碼學是除橢圓曲線密碼以外這是人們最感興趣的密碼算法。在圓錐曲線群上的各項計算比橢圓曲線群上的更簡單,一個令人激動的特征是在其上的編碼和解碼都很容易被執行。同時,還可以建立模n的圓錐曲線群,構造等價于大整數分解的密碼。現在已經知道,圓錐曲線群上的離散對數問題在圓錐曲線的階和橢圓曲線的階相同的情況下,是一個不比橢圓曲線容易的問題。所以,圓錐曲線密碼已成為密碼學中的一個重要的研究內容。
混沌是一種復雜的非線性、非平衡的動力學過程,其特點為:混沌系統的行為是許多有序行為的集合,而每個有序分量在正常條件下,都不起主導作用;混沌看起來似為隨機,但都是確定的;混沌系統對初始條件極為敏感,對于兩個相同的混沌系統,若使其處于稍異的初態就會迅速變成完全不同的狀態[6]。
混沌系統由于對初值的敏感性,很小的初值誤差就能被系統放大,因此,系統的長期性是不可預測的;又因為混沌序列具有很好的統計特性,所以它可以產生隨機數列,這些特性很適合于序列加密技術。信息論的奠基人美國數學家Shannon指出:若能以某種方式產生一隨機序列,這一序列由密鑰所確定,任何輸入值一個微小變化對輸出都具有相當大的影響,則利用這樣的序列就可以進行加密。混沌系統恰恰符合這種要求。
量子密碼用我們當前的物理學知識來開發不能被破獲的密碼系統,即如果不了解發送者和接受者的信息,該系統就完全安全。單詞量子本身的意思是指物質和能量的最小微粒的最基本的行為:量子理論可以解釋存在的任何事物,沒有東西跟它相違背。量子密碼術與傳統的密碼系統不同,它依賴于物理學作為安全模式的關鍵方面而不是數學。實質上,量子密碼術是基于單個光子的應用和它們固有的量子屬性開發的不可破解的密碼系統,因為在不干擾系統的情況下無法測定該系統的量子狀態。理論上其他微粒也可以用,只是光子具有所有需要的品質,它們的行為相對較好理解,同時又是最有前途的高帶寬通訊介質光纖電纜的信息載體。
除了最初利用光子的偏振特性進行編碼外,現在還出現了一種新的編碼方法——利用光子的相位進行編碼。于偏振編碼相比,相位編碼的好處是對偏振態要求不那么苛刻。要使這項技術可以操作,大體上需要經過這樣的程序:在地面發射量子信息——通過大氣層發送量子信號——衛星接受信號并轉發到散步在世界各地的接受目標。這項技術面對的挑戰之一,就是大氣層站的空氣分子會把量子一個個彈射到四面八方,很難讓它們被指定的衛星吸收。另外,這項技術還要面對“低溫狀態下加密且無法保證加密速度”的挑戰。保密與竊密就像矛與盾一樣相影相隨,它們之間的斗爭已經持續了幾千年,量子密碼的出現,在理論上終結了這場爭斗,希望它是真正的終結者[7]。
在當今計算機技術飛速發展與數學界不斷取得進展的時代,任何一種加密體制都面臨新的攻擊和挑戰,這種攻擊和挑戰主要來自兩個方面,計算機處理能力的提高和破譯算法本身取得的進展。因此為提高其安全性,要不斷改進和尋求新的算法和加密體制。我們相信隨著數據加密研究方面的不斷進展,將會有更多、更有效、更實用的數據加密算法被社會所重視和采用。密碼的研究方興未艾,是一個引人入勝的領域,在這方面我國起步較晚,我們應當充分認識到計算機數據安全對于信息時代的重要性,積極組織力量研究制定自己的數據加密標準和數字簽名標準。
[1] 秦志光.密碼算法的現狀和發展研究[J].計算機應用,2004,24(02):1-4.
[2] 武玉華,徐玲杰,周玉坤,等.AES密碼算法的FPGA優化設計[J].通信技術,2008,41(10):133-136.
[3] 蔡大鵬.RSA算法與安全性[J].錦州師范學院學報:自然科學版,2003,24(05):68-70.
[4] 張秀愛.橢圓曲線密碼體制的研究[J].通信技術,2009,42(05):208-209.
[5] 夏先智,趙毅.基于橢圓曲線加密算法技術優勢的探討[J].計算機科學,2003,30(10):181-183.
[6] 陶棟,李之棠.混沌加密圖像算法[J].計算機工程與科學,2003,25(04):7-9.
[7] 蘇曉琴,郭光燦.量子通信與量子計算[J].量子電子學報,2004,21(06):706-718.