版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、Good is good, but better carries it.精益求精,善益求善。IC课设报告-题目:伽罗瓦域GF(2128)乘法器设计院系:控制科学与工程系专业班:自动化班姓名:谭竣之学号:U200813733同组成员:于鸿升董栋挺杨博宇指导教师:刘政林陈天山年月目录1.背景简述.32.基本算法.62.1输入和输出.62.2符号.62.3加密.62.4解密.72.5有限域GF(2128)乘法器的设计83.verilog源程序.114.modelsim仿真.135.课设感想.141.背景简述有限域GF(m)是一个有m元素的数字系统,且每个元素都可以用基于特征多项式p(x)的m位二进数
2、表示。由于在GF(m)上的有限域运算适于VISL实现,所以得到广泛的应用。有限域的两个主要运算是模加和模乘,模乘是结构最复杂、时间延时大的运算,因此需要更多的计算时间和更复杂的电路。同时有限域中其它一些复杂运算(例如指数、除法和求逆)都可以用有限域乘法运算来实现。因此,用低复杂度的逻辑电路来实现快速乘法运算显得非常重要。近年来,有限域计算广泛应用于数字系统中。如为保障数据可靠传输的差错控制系统,为保障信息安全的加密系统以及大计算量的数字信号处理系统。例如,有限域的运算是实现RS码编译码器的中心和关键。由于RS码具有同时纠突发错误和随机错误的能力,且纠突发错更有效,因而随着超大规模集成电路技术的
3、迅速发展,使中等长度的RS码编、译码算法的硬件电路实现容易,也才使其有了真正的实际应用。RS码极大地提高了深空通信、移动通信、军用通信、光纤通信、扩频数据通信等系统的抗干扰能力,在通信系统中发挥着极其重要的作用。另外,RS码还广泛应用于计算机存储器、数字磁带、光盘和磁盘中,主要用来纠由于表面不整齐(如缺陷或存在尘粒而使“读/写磁头和媒体”间隔发生变化)所引起的差错。有限域的运算是实现RS码编译器的中心和关键,而最重要的有限域的运算就是乘法运算,而且乘法器作为RS码编译器的最基本单元电路,其实现的门数和时延特性对于RS码编译器的体积和速度至关重要。因此有关RS码编译码器的面积小、性能高的乘法器的
4、研究就具有其特殊重要意义。随着网络技术的不断发展,网络安全的问题是益暴露出来。密码技术作为最根本的有效解决手段,基于GF(m)的运算在各种安全解决方案中都得到了越来越广泛的应用。例如基于GF(m)上的椭圆曲线密码体制以其短密钥,高强度等优点引起人们的重视,但是由于GF(m)上运算的复杂性,人们越来越多地得用硬件来实现该密码体制,在椭圆曲线密码体制中,有限域上的乘法运算是最基本的运算,也是制约其速度的一个重要因素,因此设计一个快速高效的乘法器显得非常重要。DSP已成为通信、计算机、消费类电子产品领域的基础器件,是未来集成电路中发展最快的电子产品,并成为电子产品更新换代的决定因素。DSP采用独立的
5、硬件乘法器,乘法指令在单周期内完成、优化卷积、数字滤波、FFT、相关、矩阵运算等算法中都具有大量重复乘法。现在的DSP处理器仅仅支持位运算,有限域的算法或者使用查表的方法,这样导致需要大量的存储空间:或者使用基本的逻辑运算,这样导致需要很多的时钟周期。如果把在有限域上的算法用在可编程DSP的数据通路上,各个计算量的数字信号处理过程将被更有效的执行。综上所述,在保障数据可靠传输的差错控制系统,为保障信息安全的加密系统以及大计算量的数字信号处理系统中迫切放需要设计一种面积小、性能高的乘法器,因此有限域上乘法器的设计具有较好的应用价值。2.基本算法2.1输入和输出GCM主要进行两种操作,验证加密和验
6、证解密。验证加密操作有四个输入,每个输入都是位字符串。密钥K,长度根据将要加密的数据块适当选取。初始化向量IV,可取的位数为1到264之间的任意数。对于一个固定值的密钥,每个IV值必须是互不相同的,但长度不一定相等。96bits的IV值处理时效率更高,由于效率的重要性,建议选择长度为96bits。明文P,位数可取介于0到239256之间的任意数。冗余验证数据(ADD),表示为A。该数据参与验证,但不参与加密,位数可取介于0到264之间的任意数。输出有两个:密文C,长度与明文相等。验证标签T,长度可为64到128之间的任意值。T的长度表示为t,下面将介绍如何选取适当的值。验证解密操作有五个输入:
7、K,IV,C,A和T。输出只有一个明文值P,或是特殊标识位FALL,标识位的作用是表明输入是不可信的。2.2符号GCM中使用的两个主要的函数是块加密和在域GF(2128)上的乘法。使用密钥Y对值X进行块加密表示为:E(X,Y)。两个属于域GF(2128)中的元素的乘法表示为:XY,而X,Y的加法表示为XY。在该域中,加法相当于按位异或操作。函数len()返回一个64位的字符串,该字符串是一个非负整数,用以表示该函数中变量的位数。字符串的最低有效位在右边。符号0j表示长度为j的0字符串,A|B表示两个位字符串A和B的连接。函数MSBt(S)返回的是S的最高t位有效位,符号表示长度为0的位字符串。
8、2.3加密令n和u表示一对特殊的非负整数,因此,明文的总位数为:(n1)128+u,1u128.明文包括n个位字符串,最后一个字符串的位数是u位,其他字符串都是128位。这些字符串分别表示为:P1,P2,,Pn-1,P+n,我们称这些位字符串为数据块,即使最后一个位字符串可能不是一个完整的数据块。类似的,密文分别表示为:C1,C2,,Cn-1,C+n,最后一块数据块C+n的位数为u。冗余验证数据A分别表示为A1,A2,,Am-1,A+m,最后一个位字符串A+m可能不是整块且长度为v,m和v表示一对特殊的非负整数,因此A的总位数为:(m1)128+v,1v128。验证加密操作定义如下:连续计数值
9、由函数incr()产生。把该函数变量值最右边32位当做非负整数,并且最低有效位在右边,加法操作主要是针对这最右边的32位。准确地说,incr(F|I)的值为F|I+1mod232)。函数GHASH的定义是GHASH(H,A,C)=Xm+n+1,A和C的格式如前所述,变量Xi,i=0,m+n+1,定义如下:2.4解密验证解密操作与加密操作相类似,不同的是算散列值和加密的顺序颠倒了。具体定义如下面方程所示:比较由解密操作计算出的标签T与标签T。如果两者相等(包括长度和值),那么密文将被返回。否则,返回特殊标识符FALL。2.5有限域GF(2128)乘法器的设计有限域(或伽罗华域)包含有限个元素,并
10、定义了两种操作加法与乘法,这两种操作都是针对二元的操作。GF(2)是最小的有限域,它只含有两个域元素0和1。加法和乘法都进行模2操作,因此加法等效与逻辑异或,而乘法等效于逻辑与。有限域可以用非可约多项式来定义,令GF(2m)是的根,即。则称为多项式基或标准基,GF(2m)中的每个元素都可以根据多项式基来表示。比如,对于,,可以表示为,其中即为基下的坐标。假设,则。最近,ArashReyhani-Masoleh等人1提出了一种新的算法,具体为多项式基乘法公式,该公式可以有效减少实现乘法所需的门数,提高乘法器的速度,因此我们选择该算法作为比特并行乘法器的算法。对于有限域GF(2m)乘法C=AB,A
11、rashReyhani-Masoleh等人证明,乘积C的坐标可以通过一个带矩阵Q的方程计算出来。该方程为:,其中是的根,而T表示矩阵的转置。矩阵Q的准确定义与证明可以在1中找到,矩阵Q仅取决非可约多项式。Ghash的多项式。下面我们直接给出GF(2128)中的矩阵Q。对于域GF(2m),矩阵L如下:(1)对于域GF(2m),矩阵U如下:(2)由(1)(2)可知,在已知输入A的情况下,可以很容易地得到矩阵L,U,因此,根据,我们即可算出有限域乘法的乘积。使用上述公式实现多项式基乘法,并令,则,其实现结构图(1)如下所示:图1有限域乘法器结构图BTX:BinaryTreeofXORsIB:Inte
12、rconnectionBus结构图分为两部分:IP-network和Q-network。IP-network一共由m个模块组成,分别表示为,主要作用是根据,求出向量,。对于,模块包括两个内部运算单元,即和。最后一个模块只包含一个运算单元,即。如图1所示,,是Q-network的输入,是输出。Q-network包括m个BTX。BTXi中XOR门的个数等于矩阵Q中第i列中1的个数。我们知道,连接总线(IB)的条数是固定,且其值为m-1。在图1中,一共由3条总线,A,B和IB,线的总数为:3m-1。3.verilog源程序moduleGF128(Clock,Reset,Start,X,Y,Z);/该
13、模块为乘法器的主体部分input127:0X,Y;output127:0Z;inputClock,Reset,Start;wireLSB;shift_regU1(Reset,Clock,Start,Y,LSB);/将Y信号从并行转化为串行reg127:0Z,R,V;always(posedgeClockornegedgeReset)beginif(!Reset)beginZ=0;V=X;R=128b10000111;endelsebeginif(LSB=1)Z=ZV;elseZ=Z;if(V127=0)V=V1;elseV=(V1)R;endendendmodulemoduleshift_re
14、g(reset,clk,start,B,LSB);/该模块是将B信号从并行转化为串行input127:0B;inputreset,clk,start;outputLSB;regLSB;reg127:0temp;always(posedgeclkornegedgeresetornegedgestart)beginif(reset)temp=B;elseif(start)beginLSB=temp0;temp=1b0,temp127:1;endelsebegintemp=1b0,temp127:1;LSB=temp0;endendendmodulemoduleTest;/该模块为程序的测试模块re
15、gclk,rst,start;reg127:0X,Y;wire127:0Z;GF128U0(clk,rst,start,X,Y,Z);initialbeginclk=0;rst=1;X=128h42831ec2217774244b7221b784d0d49c;Y=128hb83b533708bf535d0aa6e52980d53b78;#10rst=0;#20rst=1;#20start=0;#20start=1;endalways#200clk=clk;endmodule4.modelsim仿真用modelsim打开源程序中的三个模块,用test模块进行仿真,得到如下图形(看不清的话可以把图
16、放大)5.课设感想通过此次IC课设,我学会了用verilog语言进行集成电路的设计,并且已经能够用verilog语言进行实际操作。这次课设还让我初步了解了VISL设计的流程,特别是了解了伽罗瓦域GF(2128)乘法器的历史,作用,以及原理。此外,我还学会了如何运用modelsim软件进行波形仿真。更重要的是,我从中学到了如何与他人合作把一件复杂的事情做好,也就是团队协作的能力,这是我最大的收获。因为现实中要想凭借一个人把一个复杂的项目做好基本是不可能的,一个项目一般都会是很多人一起分工合作才能得以完成的,所以,如何在这个过程中把任务分配好,分配合理,如何同其他人交流,如何把多个部分联合成一个整
17、体是非常重要的同题,而这些问题在本次课设中都得以体现。这次实验中我们也遇到了不少困难,一拿到课设题目,我们都很茫然,伽罗瓦域GF(2128)乘法器我们从没听说过,更别说去把它设计出来。我们在查阅了众多资料后才慢慢对它有了一点了解。然后再一步一步去实现它,每次遇到什么问题解决不了,我们就会集中起来进行讨论,很多时候在讨论中问题就会得以解决,若是实在解决不了我们就会查阅资料寻找灵感。还有,刚开始时,我们对modelsim软件的用法毫无所知,但通过慢慢的摸索,终于能够用它进行仿真了。总之,虽然课设过程很辛苦,但是看着通过我们努力而得出的成果,以及在这个过程所学到的东西,感觉一切都是值得的。最后,感谢老师给我们提供这样一个做课设的机会,以及在过程中给予我们的帮助。参考文献1ArashReyhani-Masoleh,andA.Hasan,“L
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 小学一年级20以内加减法口算练习题
- 砍伐树木申请书
- 《急救药品的使用》课件
- 埋弧焊的工作原理及特点
- 《民生银行商贷通》课件
- 环保节能行业助理工作总结
- 家居建材行业市场推广总结
- 陕西省铜川市耀州区2023-2024学年九年级上学期期末调研化学试题
- 主管工作总结计划方案
- 农林渔业客服工作感悟
- (八省联考)河南省2025年高考综合改革适应性演练 思想政治试卷(含答案)
- 《特种设备重大事故隐患判定准则》知识培训
- 福建省能化集团笔试题目
- 贵州省遵义市2023-2024学年九年级上学期期末学业水平监测英语试卷
- 军事理论-综合版智慧树知到期末考试答案章节答案2024年国防大学
- 2024年时事政治热点题库200道含完整答案(必刷)
- 叉车日常使用状况点检记录表(日常检查记录)
- 损伤容限设计基本概念原理和方法PPT课件
- 水压式沼气池设计
- 巷道及采区车场设计
- 农村幼儿园如何合理利用本土资源PPT课件
评论
0/150
提交评论