快速加密解密芯片中KASUMI算法的实现 3G FPGA
来源:wenku163.com 资料编号:WK1632541 资料等级:★★★★★ %E8%B5%84%E6%96%99%E7%BC%96%E5%8F%B7%EF%BC%9AWK1632541
资料介绍
摘 要 随着移动通信技术的飞速发展和普及,其中的安全问题正受到越来越多的关注。在第三代动通信系统中,除了传统的语音和数据业务外,还提供多媒体业务、交互式数据业务、电子商务、互联网服务等多种信息服务。因此,如何保证业务信息的安全性以及网络资源使用的安全性已成为 3G 系统中重要而迫切的问题。 在 3GPP 系统的安全结构中有两个标准算法:机密性算法 f8 和完整性算法 f9 。这两个算法都是基于 KASUMI 算法的。 KASUMI 算法在 128 位密钥的控制下,输入 64 位数据,产生 64 位输出。本论文简单介绍了KASUMI算法的原理和机构,并且介绍了用 KASUMI 算法的一种基于 FPGA的硬件实现方法,并且给出测试结果。(所有权: 毕业设计网 QQ:306826066)
关键词:KASUMI算法;FPGA;3G High-Speed encryption and decryption Hardware Implementation of the 3GPP Algorithm KASUMI
Abstract Along with the prosperous developing and popularity of the mobile communication technology, the more advanced security is required in the communication system. In 3G mobile communication systems, more and more new services are provided, such as multimedia, interactive data transaction, electronic business and internet services, except for traditional voice service and data service. So how to guarantee the security of the information transmitted in the mobile communication system and the security of the network resources has become an urgent problem. Within the security architecture of the 3GPP system there are two standardized algorithms: A confidentiality algorithm f8, and an integrity algorithm f9. Each of these algorithms is based on the KASUMI algorithm. The 3G core cryptographic algorithm: KASUMI algorithm was presented in the paper, including its principles and components. KASUMI is a block cipher that produces a 64-bit output from a64-bit input under the control of a 128-bit key. In this paper one FPGA Implementation of the KASUMI algorithm is presented.
Key words: KASUMI algorithm; FPGA;3G
随着通信技术的高速发展,第三代移动通信系统(3G)将成为人们生活中重要的通信方式3G系统中业务信息的安全性以及网络资源使用的安全性将越来越重要。为了对3G系统提供安性,3G的国际组织3GPP(3rd Generation Partnership Project)在3G的安全结构中定义了两个标准的核心算法f8和f9。f8算法是加密算法,f9是完整性算法,这两个算法都是基于KASUMI算法的。于3G的环境的独特性,3GPP组织要求设计的算法要有能力在3G环境中提供相当高的安全性,在其硬实现上要功耗要低和比较少的门电路,算法设计不能过于复杂,但是要能对抗现有的所有攻击,并能为抗非现实的理论攻击提供足够高的安全边际。KASUMI算法满足了3GPP的这些要求。KASUMI法是基于日本三菱公司的组密码MISTY1[33],是它的改进版本,它是一种分组加密算法,它遵循了三条原则:安全性有足够的数学基础;算法的软件实现在任何处理器上要足够的快;算法的硬件实现也要足够的快。这个算法在设计上具有对抗差分和线性密码分析的可证明的安全性。
KASUMI算法 KASUMI算法是一个Feistel结构的分组加密算法,密钥长度为128比特,对一个64比特的输入分组进行八轮的迭代运算,产生长度为64比特的输出。轮函数包括一个输入输出为32比特的非线性混合函数F0和一个输入输出为32比特的线性混合函数FL。函数F0由一个输入输出为16比特的非线性混合函数FI进行3轮重复运算而构成。而函数FI是有使用非线性的S-盒S7和S9构成的4轮结构。
算法的应用和安全性 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进行比较,验证数据的完整性。 KASUMI算法是基于分组密码的设计,目前对于分组密码的设计而言,由于出现了差分和线性密码攻击,对抗这些攻击具有可证明的安全性。KASUMI算法也是基于同样的原则而设计的。它的可证明安全性是来源于算法中的被证明具有可证明安全性的较小的构成部件,Feistel结构的KASUMI算法正是通过重复迭代调用较小的函数FO和FI来保证其安全性。 它的安全性来源于它的四个非线性的函数:S7,S9,FI和FO。S7和S9这两个S盒具有近乎完美的非线性映射特性,考虑循环结构,S7和S9没有明显缺陷。他们映射后的每一个输出比特依赖于输入比特,具有很好的扩散性。除了S9,只要一个输入比特改变,输出比特都会改变。只是因为S9中具有线性结构,S7满足雪崩效应,而S9不是。在3GPP在测试中没有发现函数FI和FO的线性结构,两个函数的每一个输出比特依赖于每一个输入比特,都满足雪崩效应。KASUMI算法降低到4轮已经可以满足密钥-密文,明文-密文的雪崩效应了。在3GPP组织的测评中,KASUMI算法可以对抗目前的大部分密码攻击方法:差分密码分析(差分选择明文攻击、差分相关密钥攻击、不可能差分攻击),截断差分密码分析,高阶差分密码分析,线性密码分析;而且对于使用仪器的攻击:定时攻击,简单能量攻击,差分能量攻击也具有很好的安全性,尤其是在3G的特殊环境中。(所有权: 毕业设计网 QQ:306826066)
目 录
1 引言 1 1.1 KUSAMI算法的背景介绍 1 1.2 选题意义 1 1.3 课题研究方法 1 2 算法的构成原理 2 2.1 KASUMI算法 2 2.2 KASUMI算法中的函数 3 2.2.1 第I轮的轮函数FI 3 2.2.2 函数FL 3 2.2.3 函数FO 4 2.2.4 函数FI 4 2.2.5 S-BOXES 5 2.2.6 S7 5 2.2.7 S9 6 2.2.8 子密钥的生成 8 3 算法的应用和安全性 9 4 设计说明 10 4.1 设计思路 10 4.2 S9-S7盒函数模块设计 11 4.2.1 S9-S7盒设计思想 11 4.2.2 S9-S7盒设计结构简述 11 4.2.3 S9-S7函数模块实例测试 11 4.3 FI函数模块设计说明 13 4.3.1 FI函数模块设计思想 13 4.3.2 FI函数模块设计结构简述 13 4.3.3 FI函数模块实例测试 13 4.4 FO函数模块设计说明 14 4.4.1 FO函数模块设计思想 14 4.4.2 FO函数模块设计结构简述 15 4.4.3 FO函数模块实例测试 15 4.5 FL函数模块设计说明 16 4.5.1 FL函数模块设计思想 16 4.5.2 FL函数模块设计结构简述 17 4.5.3 FL函数模块实例测试 17 4.6 密钥生成函数模块设计说明 18 4.6.1 密钥生成函数模块设计思想 18 4.6.2 密钥生成函数模块设计结构简述 19 4.6.3 密钥生成函数模块实例测试 19 4.7 KASUMI函数模块设计说明 20 4.7.1 KASUMI函数模块设计思想 20 4.7.2 KASUMI函数模块设计结构简述 21 4.7.3 KASUMI函数模块实例测试 21 (所有权: 毕业设计网 QQ:306826066) 4.8 KASUMI算法解密模块 22 4.8.1 KASUMI算法解密模块设计思想 22 4.8.1.1 Feistel结构介绍 22 4.8.1.2 KASUMI解密模块设计 24 总 结 25 参考文献 26 致 谢 26 声 明 27 |