本发明专利技术公开了一种伽罗华域乘法器实现装置。本装置将伽罗华域乘法的计算转化为矩阵模块相乘,具体包括一个L矩阵模块,一个U矩阵模块,m位数据输入输出接口,以及Q矩阵生成模块等,其结构涉及3m-1组二元与门树和一组二元异或门树。本发明专利技术在具体施例部分给出了一种当m=128时,基于FPGA来实现伽罗华域GF(2↑[128])乘法器的例子。这种乘法器可以用来硬件实现G-hash函数,并可达到10Gbps以上的计算速度。
【技术实现步骤摘要】
一种伽罗华域乘法器实现装置技术领i或本专利技术涉及一种伽罗华域乘法器实现装置,属于信息安全
,具体来说是一种基 丁-可约多项式形式为?^)=乂"1+乂"+……+xk2+xkl+l ,其中Kkl
技术实现思路
本专利技术提出了一种伽罗华域乘法器实现装置,土要包括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[]