SMS4加密算法在通信系統(tǒng)中的應用

為了保障通信系統(tǒng)的安全,3GPP定義了數(shù)據(jù)加密算法F8和完整性認證算法F9,這兩個算法都是以同一個分組密碼作為內(nèi)核算法的。從安全性角度考慮,我國需要自主設計一個分組密碼作為F8和F9的內(nèi)核算法。

SMS4加密算法在通信系統(tǒng)中的應用

本文從以下幾個方面研究了國產(chǎn)SMS4加密算法作為F8和F9內(nèi)核算法的可行性:

1. 安全性方面,分析了SMS4抵抗線性攻擊和差分攻擊的能力。對非平衡Feistel結(jié)構(gòu)的SMS4,采用類似于平衡Feistel結(jié)構(gòu)下的分析方法,從理論上建立了SMS4線性偏差概率和SMS4輪函數(shù)F線性偏差概率之間的關系式,再進一步根據(jù)輪函數(shù)F的一輪SP結(jié)構(gòu)特點,建立與S盒線性偏差概率之間的關系式。通過這個關系式求出32輪SMS4線性偏差概率的一個上界。采用類似的分析方法,求出32輪SMS4差分特征概率的一個上界。按照Knudsen的安全標準,根據(jù)求出的兩個概率上界對SMS4作安全評估。結(jié)果表明32輪SMS4具有很強的抗線性攻擊和差分攻擊能力,滿足3GPP對內(nèi)核算法的線性安全性和差分安全性要求。

2. 隨機性方面,對內(nèi)核為SMS4的F8所產(chǎn)生的密鑰流隨機性進行測試。首先將內(nèi)核為SMS4的F8用C語言實現(xiàn),采用不同的主密鑰產(chǎn)生100組20000比特密鑰流,按照FIPS140-2測試標準對100組密鑰流進行了隨機性測試。測試結(jié)果表明,內(nèi)核為SMS4的F8產(chǎn)生的密鑰流表現(xiàn)出極好的隨機性,滿足3GPP對內(nèi)核算法隨機性要求。

3. 實現(xiàn)效率方面,測試了內(nèi)核為SMS4的F8用軟件實現(xiàn)時的加密速度。采用不同的主密鑰產(chǎn)生6組密鑰流,記錄對同一明文循環(huán)加密1000次所用的時間。根據(jù)明文大小,將6組時間換算成加密速度。結(jié)果表明,內(nèi)核為SMS4的F8用軟件實現(xiàn)時平均加密速度為1.924Mbps,接近達到3GPP對內(nèi)核算法的實現(xiàn)效率要求。

為了成功推薦SMS4加密算法作為F8和F9的標準內(nèi)核算法,還需要進行:

1. 除線性攻擊和差分攻擊外,SMS4抵抗其它攻擊的理論分析。

2. SMS4算法在手機硬件平臺下的實現(xiàn)研究。

3. 內(nèi)核為SMS4的F8在手機硬件實現(xiàn)下的加密速度測試。

4. 對內(nèi)核為SMS4的F9產(chǎn)生的消息認證碼的隨機性的測試以及在軟件實現(xiàn)、手機硬件實現(xiàn)下的效率測試。

5. 根據(jù)3GPP對內(nèi)核算法的要求對SMS4的其它方面進行研究。

此外,根據(jù)本文中分析SMS4線性特征特性和差分特性的方法,從理論上分析其他國產(chǎn)分組密碼算法的安全性,進一步探索國產(chǎn)分組密碼充當內(nèi)核算法的可能性,爭取早日解決中國通信系統(tǒng)的數(shù)據(jù)加密的完整性認證問題。