优秀的毕业设计论文网
计算机 JAVA 电子信息 单片机 机械机电 模具 土木工程 建筑结构 论文
热门搜索词:网络 ASP.NET 汽车 电气 数控 PLC

010_KASUMI算法

以下是资料介绍,如需要完整的请充值下载.
1.无需注册登录,支付后按照提示操作即可获取该资料.
2.资料以网页介绍的为准,下载后不会有水印.资料仅供学习参考之用.
  
资料介绍:

KAUSMI算法的密钥生成
KASUMI算法使用一个128比特的密钥,而在算法中的每一轮所使用的子密钥都是由这个128比特的密钥衍生而来的。每轮的密钥通过两组16比特的数组Kj和Kj, (j=1到8)以如下的方法生成:128比特的密钥被分为每组16比特的8个组:
K=K1||K2||K3||K4||K5||K6||K7||K8
第二组密钥Kj,由Kj以如下方法生成:
Kj,=Kj Cj(j=1到8,Cj是表2-1所示的16进制的常量)
表2-1 常量参数

每轮的密钥由Kj和Kj,以表2-2所定义的规则生成。
表2-2 每轮子密钥

2.4 KAUSMI算法的安全性
KASUMI算法是一种分组密码,目前它主要应用于第三代移动通信的安全算法f8和f9之中。f8算法是用来对UE(移动用户设备)和RNC(无线网络控制器)之间的无线链路上的用户数据和信令数据加密,以保证其安全性。UE和RNC中都有f8算法。f8是一个密钥流发生器,它通过KASUMI算法生成64比特为一组的密钥流,将明文数据流与密钥流进行异或(模2加)运算,得到密文流,解密是只要将同样的密钥流与密文流进行异或(模2加)运算,即可得到明文数据流。f9算法原理与此类似,通过KASUMI算法生成完整性消息认证码(MAC-1),对UE和RNC之间的无线链路上的信令数据进行完整性保护和信令数据来源进行认证。对信令数据(MESSAGE)使用f9算法算出完整性消息认证码(MAC-1),将其附加在MESSAGE的后面,一起在无线链路上发送到接收端。接收端也将收到的MESSAGE用f9算法进行跟发送端一样的计算,算出消息认证码(XMAC-1),将XMAC-1和收到发送端的MAC-1进行比较,验证数据的完整性。

本文来自think58

[资料来源:http://THINK58.com]


KASUMI算法是基于分组密码的设计,目前对于分组密码的设计而言,由于出现了差分和线性密码攻击,对抗这些攻击具有可证明的安全性。KASUMI算法也是基于同样的原则而设计的。它的可证明安全性是来源于算法中的被证明具有可证明安全性的较小的构成部件,Feistel结构的KASUMI算法正是通过重复迭代调用较小的函数FO和FI来保证其安全性。
它的安全性来源于它的四个非线性的函数:S7,S9,FI和FO。S7和S9这两个S盒具有非线性映射特性。他们映射后的每一个输出比特依赖于输入比特,具有很好的扩散性。除了S9,只要一个输入比特改变,输出比特都会改变。只是因为S9中具有线性结构,S7满足雪崩效应,而S9不是。在3GPP在测试中没有发现函数FI和FO的线性结构,两个函数的每一个输出比特依赖于每一个输入比特,都满足雪崩效应。KASUMI算法降低到4轮已经可以满足密钥-密文,明文-密文的雪崩效应了。在3GPP组织的测评中,KASUMI算法可以对抗目前的大部分密码攻击方法:差分密码分析(差分选择明文攻击、差分相关密钥攻击、不可能差分攻击),截断差分密码分析,高阶差分密码分析,线性密码分析;而且对于使用仪器的攻击:定时攻击,简单能量攻击,差分能量攻击也具有很好的安全性,尤其是在3G的特殊环境中。
[资料来源:www.THINK58.com]

3 KASUMI算法流程
KASUMI算法程序的实现语言是多种多样的,如:C、C++、JAVA等等程序设计语言。本文KASUMI算法程序的实现是利用C语言来实现的,下面就简要的介绍一下算法的流程:

图3-1 KASUMI算法流程图
备注:图3-1中,第1、3、5、7轮相同,第2、4、6、8轮相同,所以只将第一轮与第二轮给出。
通过上图可以清晰地看出KASUMI算法的一个总体流程,下面就详细介绍KASUMI算法的子流程图:
3.1 密钥产生
KASUMI算法的密钥K的长度为128位,但是KASUMI的每一次循环都要从K中导出128位子密钥,在每一次循环中,都会产生8个子密钥,它们是:KLi,1[n]、KLi,2[n] 、KOi,1[n]、KOi,2[n]、KOi,3[n]、KIi,1[n]、KIi,2[n]、KIi,3[n] (1 <= n<= 8)。产生的子密钥分别应用于KL函数、KO函数和KI函数。
图3-2 密钥产生流程图
3.2 FI函数
FI函数是KASUMI的基本随机函数,有16位的输入和16位的输出。它由两个非线性S-box S7和S9的4次循环结构组成。其中S7和S9是通过查表得到数据。这里需要主要的是16位的输入并不是均等分为8位和8位的左右输入,而是9位和7位的不均等输入。 内容来自think58 [来源:http://www.think58.com]

think58.com [资料来源:www.THINK58.com]

图3-3 FI函数算法流程图

[资料来源:http://think58.com]