一种伽罗华域乘法器实现装置制造方法及图纸

技术编号:3845303 阅读:579 留言:0更新日期:2012-04-11 18:40
本发明专利技术公开了一种伽罗华域乘法器实现装置。本装置将伽罗华域乘法的计算转化为矩阵模块相乘,具体包括一个L矩阵模块,一个U矩阵模块,m位数据输入输出接口,以及Q矩阵生成模块等,其结构涉及3m-1组二元与门树和一组二元异或门树。本发明专利技术在具体施例部分给出了一种当m=128时,基于FPGA来实现伽罗华域GF(2↑[128])乘法器的例子。这种乘法器可以用来硬件实现G-hash函数,并可达到10Gbps以上的计算速度。

【技术实现步骤摘要】
一种伽罗华域乘法器实现装置技术领i或本专利技术涉及一种伽罗华域乘法器实现装置,属于信息安全
,具体来说是一种基 丁-可约多项式形式为?^)=乂"1+乂"+……+xk2+xkl+l ,其中Kkl<k2 <k^m/2的m位伽罗华域乘法器装置。3^景技术有限域乘法是目前密码学领域用到较多的运算,很多加密认i止算法都要利用有限域乘法。 伽罗华域是一种重要的有限域, 一个伽罗华域的运算是指在特定的规则下进行的两类运算加法和乘法。 其中,伽罗华域GF(2)上仅包含两个元素0和1,加法运算很容易利用一个异或门来实现,而其乘法利用一个与门也可以轻易实现。特别地,当伽罗华域运算扩展到m位,且m很人时,计算的实现就变得异常 复杂,硬件实现也变得很不理想。以前伽罗华域乘法器多采用通用处理器来实现,但是由T-内部结构的 限制,对高数据量的计算有很大限制,无法获得很高的计算性能。目前针对有限域及伽罗华域乘法算法的研究有一些成果,特别是一些针对通用多项式的算法优化也有 很多,例如专利"基TFPGA的有限域乘法器的优化设计方法"(专利号:200510041816.X),提出了一 种通用多项式结构下的优化算法。然而目前的算法以及优化方法实现起来复杂度比较大,并且也达不到很 高的计算速度。本专利技术主要从算法的易于实现和提高硬件处理速度的角度,针对可约多项式满足 00=^+/'+……+xk2 +xkl+1,其中l5kl<k2<-<kt^Ti/2的情况,提出了一种易F硬件高速实现的伽罗华域乘法器物理逻辑结构, 并根据这种物理逻辑结构给出了一种适用于G-hash函数的伽罗华域乘法器FPGA具体实现,其可约多项 式为P(x)= x'28+x7+x2+x+l ,最终实现的吞吐量可高达10Gbps以上
技术实现思路
本专利技术提出了一种伽罗华域乘法器实现装置,土要包括m个m位移位寄存器单元,用于生成mXm的L矩阵; m-I个m位移位寄存器单元,用于生成(m-l)Xm的U矩阵;2m-l组二元与门树,每组二元与门树是由2m个与门单元组成的一义树形结构,用来处理计算两个m 位元素乘法;m组二元与门树,每组二元与门树是由2m-3个与门单元组成的二叉树形结构,用来处理计算两个m-l 位元素乘法;一组—元异或门树,是由2m-l个异或门单元绍成的二义树形结构,用来处理计算两个m位元素加法;数据输入输出接口 ,提供两个m位元素输入接口以及一个m位元素输出接口 ,用下-m位乘数和m位3被乘数的输入以及结果元素的输出。一个基于可约多项式P(x户x""+xkV……+xk2+xkl+l,其中15kKk2《《kem/2构造的Q矩阵生成模块。 所述的两组m位移位寄存器阵列并行的产生数据,提高了运算速度。 '所述的二元与门树是由log2m级与门树结构组成。 所述的二元异或门树是由log2m级与门树结构组成。所述的Q矩阵生成模块是由一个(m-l)Xm位的寄存器单元来存放矩阵数据,经矩阵转置后可以并行 输出m个m-l位元素传送给二元与门树来计算中间结果。 所述的伽罗华域乘法器计算过程包括以下步骤步骤A:将输入的数据元素A并行送入L矩阵模块经过循环移位后与送进来的数据元素B经过_元 与门树。步骤B:将输入的数据元素A并行送入U矩阵模块经过循环移位后与送进来的数据元素B经过二元 与门树,此步骤与步骤A在时序上是同时的。步骤C:将U运算的结果, 一个m-l位数据元素与Q矩阵生成模块输出的m个m-l位元素经过—二元 与门树。步骤D:步骤C得到的结果与步骤A, L运算的结果经过二元异或门树,得到最终结果C并予以输出。附图说明图1是伽罗华域乘法器装置内部逻辑结构示意框图。 图2是二元与门树,二元异或门树的实现结构图。 图3是伽罗华域乘法器的计算过程示意图。 图4是当m=128时Q矩阵生成模块内部结构示意图。具体实施方式—F面结合附图1对本专利技术进行详细说明。第一步,对可约多项式形式为?^)=^+^+ +xk2+xkl+l,并且满足lSkKk2《《kt5m/2的情况,根据以下算法计算出Q矩阵Q矩阵的第0行有t+l个l, l的分布分别在0, kl, k2, ..., kt列。Q矩阵的第l行至m-kt-l行由第O行依次右移位得到。Q矩阵的第m-kt至m-2行的构造规则如下当i行最后一列以l结尾时,i+l行向右移一位并与第0行的值进行异或运算; 当i行最后一列以O结尾时,i+l行向右移一位。经过上面的算法可以得到Q矩阵。通过Q矩阵可以构建Q矩阵生成模块,Q矩阵生成模块是由一组(m-]) Xm的矩阵寄存器来提供Q矩阵数据输出,每一个寄存器提供一个m位的—元数据,每一个—元数据是根据 Q矩阵赋值的,经矩阵转置后可以并行输出m个m-l位元素传送给二元与门树来计算中间结果。第二步,如附图l所示,构造m个移位寄存器单元,每个寄存器生成并存储m位数据元素,m个移位寄 存器单元并行产生m个m位数据元素,用于生成m X m的L矩阵。构造m-l个移位寄存器单元,每个寄存器生成并存储m位数据元素,m-l个移位寄存器单位并行产生m-l 个m位数据元素,用于生成(m-l)Xm的U矩阵。第三步,如附图1所示,构造2m-l组二元与门树,每组二元与门树是由2m个与门单元组成的二叉树 形结构,用来处理计算两个m位元素乘法;构造m组二元与门树,每组二元与门树是由2m-3个勾门单元 组成的二叉树形结构,用来处理计算两个m-l位元素乘法;最后构造1组二元异或门树,是由2m-l个异 或门单元组成的二叉树形结构,用来处理计算两个m位元素加法。最后,构造数据输入输出接口,提供两个m位元素输入接口以及一个m位元素输出接口,用亍m位乘数 和m位被乘数的输入以及结果元素的输出。本专利技术伽罗华域乘法器的计算过程示意图如附图3所示,当复位信号到来时,乘法器开始接收两个m比 特的数据A, B,数据元素A经过L矩阵模块和U矩阵模块并行产生中间数据元素L, U。U的结果经过和Q矩阵生成模块产生的m个m-l位二元比特元素进入二元与门树处理,is算得到中 间结果,得到的结果和L矩阵模块输出的结果经过二元异成门树计算,即元素相加得到最终结果C。施例1可约多项式为P(x)= x'28+x7+x2+x+l ,是一种符合G-hash函数的伽罗华域乘法器可约多项式。依据具体实现方式可以得到如下实现第一步,对可约多项式形式为P(xhx^+)J+^+x+l,根据如下算法计算出Q矩阵 Q矩阵的第0行有4个l, l的分布分别在0, 1, 2, 7列。 Q矩阵的第1行至120行由第0行依次右移位得到。 Q矩阵的第121至126行的构造规则如下当i行最后一列以l结尾时,i+l行向右移一位并与第0行的值进行异或运算; 当i行最后一列以O结尾时,i+l行向厶移一位。经过上面的算法可以得到Q矩阵,通过Q矩阵可以构建Q矩阵生成模块,是由一组127X 128的矩阵寄存 器来提供Q矩阵数据输出。如附图4所示,每一个寄存器提供一个128位的一元数据,每一个二元数据是根 据Q矩阵赋值的。最后得到Q矩阵为mo卿iooooo- 0,00000000000000001110000111100001000000111000001110,10000001110000011100本文档来自技高网
...

【技术保护点】
一种伽罗华域乘法器实现装置,其特征在于: m个m位移位寄存器单元,用于生成m×m的L矩阵; m-1个m位移位寄存器单元,用于生成(m-1)×m的U矩阵; 2m-1组二元与门树,每组二元与门树是由2m个与门单元组成的二叉树形 结构,用来处理计算两个m位元素乘法; m组二元与门树,每组二元与门树是由2m-3个与门单元组成的二叉树形结构,用来处理计算两个m-1位元素乘法; 一组二元异或门树,是由2m-1个异或门单元组成的二叉树形结构,用来处理计算两个m位 元素加法;数据输入输出接口,提供两个m位元素输入接口以及一个m位元素输出接口,用于m位乘数和m位被乘数的输入以及结果元素的输出。 一个基于可约多项式P(x)=x↑[m]+x↑[kt]+……+x↑[k2]+x↑[k1]+1,其中1≤k1 <k2<…<kt≤m/2构造的Q矩阵生成模块。

【技术特征摘要】

【专利技术属性】
技术研发人员:寿国础胡怡红宁帆郭志刚霍甲屈善新陆阳高泽华钱宗珏
申请(专利权)人:北京邮电大学
类型:发明
国别省市:11[]

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1