KASUMI算法的研究与VC实现(源代码+论文)
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
KASUMI算法的研究与VC实现(源代码+论⽂)
KASUMI算法的研究与VC实现(源代码+论⽂)
如有需要请联系 QQ:958035640
摘要
随着通信技术的⾼速发展,第三代移动通信系统(3G)将成为⼈们⽣活中重要的通信⽅式,3G系统中业务信息的安全性以及⽹络资源使⽤的安全性将越来越重要。
为了对3G系统提供安全性,3G的国际组织3GPP(3rd Generation Partnership Project)在3G的安全结构中定义了两个标准化的核⼼算法f8和f9。
f8算法是加密算法,f9是完整性算法,这两个算法都是基于KASUMI算法的。
KASUMI算法是基于⽇本三菱公司的分组密码MISTY1算法,是它的改进版本,它是⼀种分组加密算法。
本⽂主要研究的是第三代移动通信技术中的⼀种核⼼加密算法:KASUMI算法;详尽介绍KASUMI算法的原理、组成部分以及怎样在VC中实现。
关键字:KASUMI算法;3G;安全性;Feistel
The Research and Implementation of Kasumi Algorithm
with VC
Abstract
As the development of communication technology is arriving at a bewildering rate, the third generation of mobile telecommunication system (3G) is doomed to dominate our way of that. Meanwhile, how to maintain the security of operating information and network resources will be playing an ever-increasing role. In order to provide 3G with steady security, its international organization 3GPP (3rd Generation Partnership Project)has defined two standardized key arithmetic: f8 and f9. The arithmetic f8 belongs to encrypted one, while f9 has kept its integrality. But they are both based on the arithmetic of KASUMI.
The article is mainly focusing on the arithmetic of KASUMI, which is the key to the encrypted third generation of mobile telecommunication. And it sheds light on the theory, composition as well as how it can be carried out in VC in detail.
Key words:KASUMI;3G;Security;Feistel
⽬录
论⽂总页数:26页
1 引⾔ 1
2 KASUMI算法概述 1
2.1 KASUMI算法的总体结构 1
2.2 KASUMI算法的组成函数 2
2.2.1 f函数 2
2.2.2 FI函数 3
2.2.3 FO函数 3
2.2.4 FL函数 4
2.2.5 S-box 4
2.3 KAUSMI算法的密钥⽣成 5
2.4 KAUSMI算法的安全性 6
3 KASUMI算法流程 7
3.1 密钥产⽣ 8
3.2 FI函数 9
3.3 FO函数 10
3.4 FL函数 11
4 系统设计 12
4.1 KASUMI算法程序实现 12
4.1.1 KASUMI算法程序实现的加密解决⽅案 12
4.1.2 KASUMI算法程序实现的解密解决⽅案 13
4.2 ⼈机界⾯设计 13
5 关键代码分析 15
5.1 FI函数的程序实现 15
5.2 FO函数的程序实现 16
5.3 FL函数的程序实现 17
5.4 密钥产⽣程序实现 17
5.5 f函数的程序实现(加密时的函数) 18
5.6 f函数的程序实现(解密时的函数) 19
6 软件整体测试与系统缺陷 20
6.1 软件测试环境配置 20
6.2 软件测试界⾯介绍 20
6.3 软件测试结果 21
6.3.1 软件的加密速度 22
6.3.2 KASUMI算法加密/解密案例 23
6.4 系统缺陷 23
结论 24
参考⽂献 24
致谢 25
声明 26
1 引⾔
随着通信技术的⾼速发展,第三代移动通信系统(3G)将成为⼈们⽣活中重要的通信⽅式,3G系统中业务信息的安全性以及⽹络资源使⽤的安全性将越来越重要。
为了对3G系统提供安全性,3G的国际组织3GPP(3rd Generation Partnership Project)在3G的安全结构中定义了两个标准化的核⼼算法f8和f9。
f8算法是加密算法,f9是完整性算法,这两个算法都是基于KASUMI算法的。
KASUMI算法是基于⽇本三菱公司的分组密码MISY1算法,是它的改进版本,它是⼀种分组加密算法。
本⽂主要⽬的是研究KASUMI算法,并在VC环境下实现它。
KASUMI算法的实现是在Microsoft Visual C++6.0环境下实现的,但是源代码确实利⽤C语⾔编写的,因为C语⾔编写的程序⽐C++编写的程序普遍效率要⾼。
本系统最终完成后具有以下功能:
(1)满⾜算法的要求,明⽂只能输⼊64位⼆进制位,密钥只能输⼊128位⼆进制位;但在本软件中对输⼊做了相应的处理,输⼊的时候只能输⼊⼗六进制符号,其余报错。
(2)此软件只是为了验证KASUMI算法的正确性,所以在输⼊的时候可以随机输⼊,以⽅便快速验证。
(3)为了避免加密结果的偶然性,增加了解密功能;如果解密结果与原⽂不符,说明加密不正确。
2 KASUMI算法概述
2.1 KASUMI算法的总体结构
KASUMI算法是⼀个Feistel结构的分组加密算法,密钥长度为128⽐特,对⼀个64⽐特的输⼊分组进⾏⼋轮的迭代运算,产⽣长度为64⽐特的输出。
轮函数保括⼀个输⼊输出为32⽐特的⾮线性混合函数F0和⼀个输⼊输出为32⽐特的线性混合函数FL。
函数F0由⼀个输⼊输出为16⽐特的⾮线性混合函数FI进⾏3轮重复运算⽽构成。
⽽函数FI是由使⽤⾮线性的S-盒S7和S9构成的4轮结构。