2010年全国大学生电子设计竞赛信息安全技术专题邀请赛
作品设计报告
作品题目
基于NetFPGA的保密通信系统
参赛
云南大学
参赛队员
袁泽福
李淮佳
钟加荣
指导教师
王威廉
目录
摘要: 2
关键词: 2
Abstract: 2
Keyword: 2
1. 项目背景: 2
2. 系统方案: 2
3.系统设计思想 3
4. AES算法分析 3
5. 高级加密标准-AES介绍 4
6.AES算法的数学基础 4
6.1 算法的总体描述 4
6.2算法的基本变换 4
7. 总结: 8
参考文献: 8
基于NetFPGA的保密通信系统
李淮佳 钟加荣 袁泽福 云南大学
摘要:随着信息技术信息技术领域的多元化发展和用户的急剧增多,保密通信与信息安全相关应用已被提上议事日程。本系统针对个人通信系统中,进行实时传输的个人隐私和保密信息易于泄露的问题,以NetFPGA为平台,利用AES-256的原理,对信息进行高效、实时的加解密,从而保证了信息的安全传输。该系统可用于对数据实时传送且保密性要求高的领域,如金融业的数据传输备份,军事领域重要信息的通信等。
关键词:NetFPGA;保密通信;AES算法;Verilog
Abstract: With the diversified development of the field of information technology and the rapid increase of users, application of security communication and information safety has been put on agenda. This system is base on personal communication. It is used to transmission of personal privacy and confidential information in real-time. Using NetFPGA platform, according to the principle AES-256, we can make information effectively and real-time encryption, so as to ensure the safety of information transmission. This system can be used for data real-time transmission and confidentiality of fields, such as financial data backup, military area of important information communication, etc.
Keyword:NetFPGA; security communication; AES algorithm; Verilog
1. 项目背景:
隐私信息或技术资料以电子形式储存在计算机中,通过网络或可移动介质传递,安全难以得到保障。一旦信息遭到泄露,就会对个人或企业造成极坏的影响和巨大的损失,因此数据泄密是目前个人和企业急需解决的问题。随着信息技术的发展,为了提高信息处理的效率,个人和企业越来越多地把文档转化为电子文档形式,甚至把90%以上的机密信息以电子文档的形式存储在企业内网中。同时,他们也大量使用ERP、CRM等电子信息管理方案。这些新型管理手段的使用,在给企业带来更高的生产效率的同时也给企业的信息安全管理带来了新的挑战。目前被广泛采用的反病毒软件、防火墙、入侵检测、身份认证、文件加密等手段,无法全面而有效阻止电子形式的信息的泄漏。而当前的大部分网络安全技术出发点是解决对外防护的问题,对内防护十分薄弱。面对日益严重的信息安全威胁,企业原有的安全方案渐渐显得力不从心。
2. 系统方案:
结合AES加密算法的高效性和硬件加密的速度,本系统采用软硬件结合的方式设计保密通信系统,以实现了数据的加解密的快速实现,在数据的保密传输等领域具有较好的实用性和易用性。
3.系统设计思想
本设计利用Xilinx10.1平台的Verilog语言在NetFPGA板卡上实现AES 加解密,结合了软件的灵活性和硬件加密的高速性的特点完成了整个设计过程。
加解密过程都在Xilinx公司提供的NetFPGA板卡进行,利用AES-256算法实现了整个通信过程,将明文模块分成128bit的分组,在明文块分组不足128bit时补零添满128bit 后送给硬件 AES 加密模块。在软核Microblaze的控制下由Verilog 编程的 AES 加密模块将数据进行组帧打包, 通过软核控制寄存器将数据发送出去,并由软件方式编写程序等待发送端的确认信息。接收端在接收到数据以后,从数据包中提取加密后的数据,进行 AES 解密。AES 加解密算法的密钥 key由键盘手工输入和修改,通过方针软件Modelsim对结果进行仿真和观察结果。
系统软件流程图如有图所示:
4. AES算法分析
AES是基于分组密码的加密算法,分组密码模型如图1所示:
图1分组密码模型
分组密码具有速度快、易于标准化和便于软硬件实现等待点。通常是信息与网络安全中实现数据加密和认证的核心体制,它在计算机通信和信息系统安全领域有着最广泛的应用。
5. 高级加密标准-AES介绍
AES是DES的替代者。1997年9月12日,NIST发布了征集算法的正式公告,要求AES具有128比特的分组长度,并支持128、192和256比特的密钥长度,而且要求AES要能在全世界范围内免费使用。2000年10月2日,Rijndael算法被选择为高级加密标准,Rijndael算法参数对照表如表1所示。
Rijndael算法参数对照表
AES类型
密钥长度
分组大小
轮数Nr
AES-128
4个字
4个字
10
AES-192
6个字
4个字
12
AES-256
8个字
4个字
14
6.AES算法的数学基础
AES中的运算是按字节或4个字节的字定义的,并把一个字节看成是系数在有限域GF(2)上的次数小于8的多项式(即把一个字节看成是有限域GF(28)中的一个元素)一个4字节的字看成是系数在有限域GF(28) 上,且次数小于4的多项式。
6.1 算法的总体描述
1.给定一个明文M,将State初始化为M,并将轮密钥与State异或(称为AddRoundKey);
2.对前Nr-1轮中的每-轮,用s盒进行一次替换操作(称为SubBytes);对替换的结果State做行移位操作(称为ShiftRows);再对State做列混淆变换(称为MixColumns);然后进行AddRoundKey操作。
3.在最后一轮中依次进行SubBytes、ShiftRows和AddRoundKey操作。
4.将State定义为密文C。
6.2算法的基本变换
1. 字节替换变换(SubBytes)
字节代替变换ByteSub()是一个关于字节的非线性变换。字节代替变换是可逆的,它由两个可逆变换复合而成。 设输入字节为 A = ( a0 a1 a2 a3 a4 a5 a6 a7 ),计算Y=ByteSub(A) = ?
(1) 先将该字节A变换为有限域GF(2)中的乘法逆元素T。
即
(2) 对X作GF(2)上的仿射变换: Y = M · T ⊕ B
2、行移位变换 ShiftRows():
在行移位(ShiftRows)变换中,状态矩阵中的每一行将以字节为单位,循环右移不同的位移量。
3、列混合变换 MixColumns():
列混合变换MixColumns()对一个状态逐列进行变换,它将一个状态的每一列视为有限域GF(28)上的一个多项式。
在列混合变换中,每一列所表示的多项式将乘以一个固定的多项式a(x)
a(x)={03} x3+{01} x2+{01}x +{02}
对应4字节向量为( 03 01 01 02),模多项式为 (x4 + 1)。
解密部分的列混合变换
Rijndael是一个分组密码算法,其分组长度和密钥长度相互独立,都可以改变。与一些其它算法的比较:
与DES相比:
1. 无DES中的弱密钥和半弱密钥;
2. 紧凑的设计使得没有足够的空间来隐藏陷门。
与IDEA相比:无IDEA中的弱密钥。
具有扩展性:密钥长度可以扩展到为32bits倍数的任意密钥长度,分组长度可以扩展到为64bits倍数的任意分组长度。圈数和循环移位偏移量作为参数,要重新定义。
解密过程:
AES的解密过程将使用前面四种交换的逆变换函数,即:
(1)InvSubBytes():对应函数SubBytes()
(2)InvShifRows():对应函数ShifRows()
上一篇:
基于NetFlow的IP网络状态监测系统
下一篇:
马原:环境保护与可持续发展论文(word)