3G的AKA协议中F1至F5的UE端的实现(附代码C语言)
摘 要
随着移动通信系统的不断发展,第三代移动通信系统(3G)成为当前通信领域研究开发的热点。在3G系统中,许多新型的数据业务将开放。在业务增多的同时,系统安全问题将变得更加重要。
AKA协议就是3G系统中用来实现用户终端与认证服务器端的双向认证及密钥分配机制的一个安全协议。3GPP为3G通信系统定义了12种鉴权算法:f0-f9,f1*和f5*。AKA利用了其中的f0-f5*算法。本次设计为其中的f1-f5算法在系统用户终端(user's equipment,UE端)的实现。设计采用AES作为内核加密算法,即Rijndael算法。因此,本次设计从AES入手,通过对AES的具体分析和代码实现,然后利用对AES的调用,实现f1-f5的功能。
AKA协议中的用户终端一般指智能卡,在3G系统中,也就是第三代手机卡。由于智能卡设备不像计算机系统那样充够足的资源,一般都采用8位系统。因此在设计内核算法的时候,考虑到程序在实现上花费的时间资源和硬件资源问题,采用8位的AES实现算法,而不是32位。另外,由于此次设计采用AES为核心算法,因此还对AES相关数学基础知识,实现原理做了详细的分析和了解。(毕业设计网 )
[资料来源:http://www.doc163.com]
关键词:AKA ;f1-f5 ;Rijndael
the UE Implement of F1 to F5 for 3G AKA Protocol
Abstract
Along with mobile communication system unceasing development, the third generation mobile communication system(3G) becomes the hot spot in the current mobile communication domain. In the 3G system, many new data services will open. Increases which while the service, the system safety question will become more and more important.
The AKA protocol is a security protocol in the 3G system. It including seven algorithm: f1-f5, f1* and f5*. This design only involves f1-f5 on the user's equipment (UE) implement. This design is based on the AES encryption algorithm. So, in this article, contains two sides:f1-f5 and AES.
Because we design for the user's equipment terminal, it involves a question about whether the system hardware resources sufficient. So, this design uses 8 bit AES encryption algorithm. [资料来源:https://www.doc163.com]
Key words: AKA ; f1-f5 ; Rijndael
本课题研究的意义
本毕业设计选择就选择3G中的一个安全协议(AKA)加以研究分析和实现应用,达到考查使学生综合运用以前所学知识的能力,包括以前所学的一些关于通信、编程、信息安全等知识,同时也使学生了解当前移动通讯系统发展的新趋势,同时还将实际研究加一应用,锻炼了学生的实际动手能力,又引导学生进行了一次模拟实际产品的开发,对于学生以后工作能力的培养具有重要的意义。
本课题的研究方法
采用AES内核加密算法,用C语言实现。
首先,弄清AKA协议机制过程,这里面需要用到3G的知识,着重弄清其中的F1-F5的实现原理,步骤,方法。然后加入分组密码学(采用AES)的知识,由于系统要求是在UE端实现,考虑到系统硬件资源等原因,采用8位AES内核加密算法,完成代码上的实现。最后,代码测试,进而完成整个设计。
另外,由于此次设计采用AES为核心算法,因此还对AES相关数学基础知识,实现原理进行了详细的分析。
[资料来源:http://www.doc163.com]
目 录
1 引言 1
1.1 课题背景 1
1.2 国内外研究现状 1
1.3 本课题研究的意义 1
1.4 本课题的研究方法 1
2 AES算法原理和C语言代码设计实现 2
2.1 分组密码设计准则 2
2.2 RIJNDAEL算法综述 2
2.3 RIJNDAEL加密步骤及C语言代码实现 4
2.3.1 SubBytes 4
2.3.2 ShiftRows 5
2.3.3 MixColumns 7
(毕业设计网 )
2.3.4 AddRoundKey 10
2.3.5 加密过程主函数 14
3 F1-F5算法介绍及C语言代码设计实现 14
3.1 F1-F5介绍 14
3.2 F1-F5的C语言代码实现 16
4 代码测试和案例 19
结 论 21
参考文献 22
致 谢 23
声 明 24
[资料来源:https://www.doc163.com]