3G核心加密算法之KASUMI加密算法

隨著通信技術的高速發(fā)展,3G移動通信系統(tǒng)將成為人們生活中重要的通信方式。為了對3G系統(tǒng)提供安全性,3G的國際組織3GPP在3G的安全結構中定義了兩個標準化的核心算法f8和f9。f8算法是加密算法,f9是完整性算法,而這兩個算法都是基于KASUMI加密算法的。那么我們今天就來給大家簡單介紹一下KASUMI加密算法 。

KASUMI加密算法簡介:

KASUMI加密算法是一個Feistel結構的分組加密算法,密鑰長度為128比特,對一個64比特的輸入分組進行八輪的迭代運算,產生長度為64比特的輸出。輪函數(shù)包括一個輸入輸出為32比特的非線性混合函數(shù)FO和一個輸入輸出為32比特的線性混合函數(shù)FL。函數(shù)FO由一個輸入輸出為16比特的非線性混合函數(shù)FI進行3輪重復運算而構成。而函數(shù)Fl是由使用非線性的S-盒S7和S9構成的4輪結構。

KASUMI加密算法的應用和安全性

KASUMI加密算法是一種分組密碼,目前它主要應用于第三代移動通信的安全算法,f8和f9之中。f8算法是用來對UE(移動用戶設備)和RNC(無線網絡控制器)之間的無線鏈路上的用戶數(shù)據(jù)和信令數(shù)據(jù)加密,以保證其安全性。UE和RNC中部有f8算法。f8是一個密鑰流發(fā)生器,它通過KASUNlI算法生成64比特為一組的密鑰流,將明文數(shù)據(jù)流與密鑰流進行異或運算,得到密文流,解密時只要將同樣的密鑰流與密文流進行異或運算,即可得到明文數(shù)據(jù)流。

f9算法原理與此類似,通過KASUMI算法生成完整性消息認證碼(MAC -I),對UE和RNC之間的無線鏈路上的信令數(shù)據(jù)進行完整性保護和信令數(shù)據(jù)來源進行認證。對信令數(shù)據(jù)( MESSACE)使用f9算法算出完整性消息認證碼(MAC -I),將其附加在MESSACE的后面,一起在無線鏈路上發(fā)送到接收端。接收端也將收到的MESSACE用f9算法進行跟發(fā)送端一樣的計算,算出消息認證碼(XMAC -I),將XMAC -I和收到發(fā)端的MAC—I進行比較,驗證數(shù)據(jù)的完整性。

KASUMI加密算法是基于分組密碼的設計,目前對于分組密碼的設計而言,由于出現(xiàn)了差分和線性密碼分析,分組密碼的設計原則必須要能對抗差分和線性密碼攻擊,對抗這些攻擊具有可證明的安全性。KASUMJ加密算法也是基于同樣的原則而設計的。它的可證明安全性是來源于算法中的被證明具有可證明安全性的較小的構成部件,F(xiàn)eistel結構的KASUMI加密算法正是通過重復迭代調用較小的函數(shù)FO和兀來保證其安全性。

在3GPP組織的測評中,KASUMI加密算法可以對抗目前的大部分密碼攻擊方法:差分密碼分析,截斷差分密碼分析,高階差分密碼分析,線性密碼分析;而且對于使用儀器的攻擊:定時攻擊,簡單能量攻擊,差分能量攻擊也具有很好的安全性,尤其是在3G的特殊環(huán)境中。

小知識之加密算法:數(shù)據(jù)加密的基本過程就是對原來為明文的文件或數(shù)據(jù)按某種算法進行處理,使其成為不可讀的一段代碼,通常稱為“密文”,使其只能在輸入相應的密鑰之后才能顯示出本來內容,通過這樣的途徑來達到保護數(shù)據(jù)不被非法人竊取、閱讀的目的。 該過程的逆過程為解密,即將該編碼信息轉化為其原來數(shù)據(jù)的過程。