萬彰凱 齊國元 胡玉慶
天津工業大學 天津 300387
傳統私鑰加密運算速度快并且保密強度高,但由于接收端和發送端都使用同一密鑰,所以其密鑰必須通過安全的途徑傳輸[1-2]。在發送端與接收端距離較遠,且又需要經常更換密鑰時,互相傳遞密鑰是非常困難的。公開密鑰加密[3-6]含有公鑰和私鑰兩套密鑰,公鑰是公開的,私鑰是接收端與發送端基于交換的公鑰生成的,其優點是可以適應網絡的開放性要求,雙方使用的密鑰互不相同,密鑰管理十分方便。但大多數公鑰加密方案算法復雜,加密數據的效率較低。盡管如此,隨著現代計算機技術的發展,公鑰加密將是一種很有前途的網絡安全加密[4]。
目前使用最廣泛的傳統公鑰加密算法是RSA[7-8],此外還有EIGamal算法[9]。它們的安全性都源于數論事實[7-9]。隨著計算機技術的快速發展,許多關于RSA的加密方法已經較為容易地被破譯[10]。另外,運算效率不高和更換密鑰困難一直是RSA算法的缺陷,一般來說只用于少量數據加密[11]。本文提出的基于超混沌的共鑰加密方案具有運算效率較高、密鑰空間大、密鑰位數任意和更換公鑰便捷等特點。
混沌系統的許多特性與加密系統的特性比較相似,混沌應用于密碼學上,具有保密性強、隨機性好、密鑰量大和更換密鑰方便等優點[12]。目前,基于混沌的公鑰加密研究還處于起步階段,相關報道比較少。2003年,Kocarev[13]利用Chebyshev映射的半群特性,提出了一種基于Chebyshev映射的混沌公鑰加密方案。王大虎等[14]等指出該方案由于三角函數的固有周期性,使得攻擊者在已知密文的條件下很容易解出明文。2005年,Ranjan[15]提出一種基于多混沌系統的公鑰加密算法。王開[16]等提出一種私鑰攻擊算法,指出Ranjan的公鑰算法無法抵抗該攻擊,并且表明該攻擊算法能有效攻擊各種多混沌公鑰加密算法。2009年,楊葉[17]在Kocarev的研究基礎上提出一種改進的基于有限域Chebyshev多項式的類EIGamal算法,但是其計算效率低于原算法,需要改進。
在選擇混沌或超混沌系統生成偽隨機序列時需要考慮混沌的特性,包括正的Lyapunov指數值大小、頻譜帶寬等。Qi超混沌系統[18]相比其他混沌和超混沌系統具有優良的特性,因為它的兩個正的Lyapunov指數很大,分別為13和3,頻譜帶寬是其他混沌和超混沌的20~30倍,因而選用其產生偽隨機序列。本文在傳統混沌貓映射[19-20]的基礎上提出了一種二維超混沌映射算法,使其擁有兩個正的Lyapunov指數。并且將偽隨機序列與提出的超混沌映射結合為公鑰生成算法。繼而將生成的密鑰作為3DES、AES等對稱加密算法的輸入密鑰進行加密,這樣能充分保證密文在傳輸過程中抵抗窮舉攻擊和唯密文攻擊等常見密碼攻擊。
貓映射[19-20]最早是由Arnold[19]提出的,其原始方程為

由于系數矩陣的行列式為1,故傳統的貓映射是保面積的一一映射。

圖1 貓映射示意圖
如果能將本身為混沌的貓映射改進為超混沌映射,將更有利于公鑰加密?;诖讼敕?,我們給出了一種超混沌映射,其方程為

該映射的特征值為

傳統的混沌貓映射主要用于圖像加密,即將圖像的像素值帶入貓映射進行迭代使得每個像素的原始坐標映射到新坐標,從而加密圖像。因此,貓映射必須是滿足保面積的一一映射,使明文圖像和密文圖像之間存在著一一對應的關系,避免了坐標位置的沖突。
提出的超混沌映射是為了更好地與偽隨機序列結合,從而形成公鑰生成算法,并沒有直接加密圖像像素點,因此不需要滿足保面積映射,因而此時的超混沌映射已不再屬于貓映射或其變形。
Qi超混沌系統[18]描述為





假設有兩個用戶Alice和Bob,他們分別通過Qi超混沌系統(混沌初值可以不相同)產生混沌偽隨機序列和。為了防止惡意的中間人攻擊,他們將計算出來的公鑰發布給權威的數字證書第三方機構。然后Alice和Bob分別在該第三方下載帶有對方公鑰的數字證書。最后使用對方可信的公鑰進行加密。具體加密過程如圖2所示。

圖2 公鑰加密過程
密鑰獲得分成兩個步驟:1)獲得公鑰,2)獲得私鑰。




這個計算過程滿足平行四邊形法則


圖3 私鑰平行四邊形示意圖

圖4 (紅色“*”)和藍色“+”)的對比圖

圖5 (紅色“*”)和(藍色“+”)的對比圖

表1 eA和eB的具體數值

表2 eAB和eBA的具體數值
1)根據攻擊者對明文和密文等信息的了解情況,密碼攻擊大致可以分為唯密文攻擊、已知明文攻擊、選擇明文攻擊、選擇密文攻擊和窮舉攻擊等方法[22-23]。本文的加密方案最終由對稱密碼的AES封裝,因此對前面4種攻擊方式基本可以避免[23]。如果想要應用更高加密標準的場合,可以使用密鑰位數更高的256位美國最新加密標準AES-256進行最終的對稱加密。
2)中間人攻擊,即某惡意攻擊的第三方先偽裝成Bob將偽公鑰交給Alice并與之通信,再偽裝成Alice將另一偽公鑰交給Bob與之通信,從而實現監聽或著篡改通信信息。為了防止這一攻擊,Alice和Bob統一將公鑰發布在權威的數字證書機構,因此他們各自下載的公鑰帶有數字簽名,因而所使用的公鑰是可信的。
4)Qi超混沌系統的參數空間巨大,并且Alice和Bob使用的參數可以不一致,因此想構造參數相同的超混沌系統也十分困難。從偽隨機序列生成公鑰的過程是不可逆的,即想要從公鑰反推出偽隨機序列是不可行的。也就是說即使某第三方同時拿到Alice和Bob兩人的公鑰,也不能推導出他們各自私有的偽隨機序列。
1)網絡聊天:對話雙方的客戶端集成超混沌公鑰加密,每發送一段字符串都會通過方案生成包含密文和公鑰的數據包,然后將數據包傳輸給對話的另一方,對方獲取了公鑰也能通過方案解密密文,從而實現兩人或多人安全對話。
2)網絡服務器:在服務器端、客戶端和Web端等都集成超混沌共鑰加密系統。在服務器端上公開公鑰,客戶端訪問數據時拿到公鑰并將內容加密,然后傳送給服務器,服務器對內容解密。由于只有服務器端存儲私鑰,這樣能有效保護賬號密碼登陸認證或者各種輸入存儲操作。
3)適用于各種網絡數據傳輸或者移動設備間的安全認證。
雖然混沌公鑰加密還處于起步階段,但由于混沌系統與密碼學的相似特性,基于混沌的公鑰加密是值得我們研究的。對于互聯網安全的研究,除了傳統密碼學的私鑰加密和RSA等公鑰加密算法,混沌公鑰加密又添加了新的思路。本文將超混沌系統與超混沌映射相結合,提出一種新型公鑰加密方案,并可用FPGA技術將其實現,其運行速度可觀,可用于圖像和數據塊加密。
在本方案的基礎上,今后還需對以下內容進行學習和進一步實驗分析:1)該公鑰加密方案與常見的公鑰加密技術的不同應用場景下的性能對比分析;2)該公鑰加密方案的安全性在數學上的詳細證明過程。