随着通信技术的高速发展,3G移动通信系统将成为人们生活中重要的通信方式。为了对3G系统提供安全性,3G的国际组织3GPP在3G的安全结构中定义了两个标准化的核心算法f8和f9。f8算法是加密算法,f9是完整性算法,而这两个算法都是基于KASUMI加密算法的。那么我们今天就来给大家简单介绍一下KASUMI加密算法 。
KASUMI加密算法简介:
KASUMI加密算法是一个Feistel结构的分组加密算法,密钥长度为128比特,对一个64比特的输入分组进行八轮的迭代运算,产生长度为64比特的输出。轮函数包括一个输入输出为32比特的非线性混合函数FO和一个输入输出为32比特的线性混合函数FL。函数FO由一个输入输出为16比特的非线性混合函数FI进行3轮重复运算而构成。而函数Fl是由使用非线性的S-盒S7和S9构成的4轮结构。
KASUMI加密算法的应用和安全性
KASUMI加密算法是一种分组密码,目前它主要应用于第三代移动通信的安全算法,f8和f9之中。f8算法是用来对UE(移动用户设备)和RNC(无线网络控制器)之间的无线链路上的用户数据和信令数据加密,以保证其安全性。UE和RNC中部有f8算法。f8是一个密钥流发生器,它通过KASUNlI算法生成64比特为一组的密钥流,将明文数据流与密钥流进行异或运算,得到密文流,解密时只要将同样的密钥流与密文流进行异或运算,即可得到明文数据流。
f9算法原理与此类似,通过KASUMI算法生成完整性消息认证码(MAC -I),对UE和RNC之间的无线链路上的信令数据进行完整性保护和信令数据来源进行认证。对信令数据( MESSACE)使用f9算法算出完整性消息认证码(MAC -I),将其附加在MESSACE的后面,一起在无线链路上发送到接收端。接收端也将收到的MESSACE用f9算法进行跟发送端一样的计算,算出消息认证码(XMAC -I),将XMAC -I和收到发端的MAC—I进行比较,验证数据的完整性。
KASUMI加密算法是基于分组密码的设计,目前对于分组密码的设计而言,由于出现了差分和线性密码分析,分组密码的设计原则必须要能对抗差分和线性密码攻击,对抗这些攻击具有可证明的安全性。KASUMJ加密算法也是基于同样的原则而设计的。它的可证明安全性是来源于算法中的被证明具有可证明安全性的较小的构成部件,Feistel结构的KASUMI加密算法正是通过重复迭代调用较小的函数FO和兀来保证其安全性。
在3GPP组织的测评中,KASUMI加密算法可以对抗目前的大部分密码攻击方法:差分密码分析,截断差分密码分析,高阶差分密码分析,线性密码分析;而且对于使用仪器的攻击:定时攻击,简单能量攻击,差分能量攻击也具有很好的安全性,尤其是在3G的特殊环境中。
小知识之加密算法:数据加密的基本过程就是对原来为明文的文件或数据按某种算法进行处理,使其成为不可读的一段代码,通常称为“密文”,使其只能在输入相应的密钥之后才能显示出本来内容,通过这样的途径来达到保护数据不被非法人窃取、阅读的目的。 该过程的逆过程为解密,即将该编码信息转化为其原来数据的过程。