一种基于串并结合实现有限域乘法的方法及装置制造方法及图纸

技术编号:6520257 阅读:241 留言:0更新日期:2012-04-11 18:40
本发明专利技术公开了一种基于串并结合实现有限域乘法的方法及装置,所述方法包括:对m位的乘法因子A按从低位到高位进行分组,以k位为一组,分为p组,分组后的各组表示为ei,其中i=0,1,...,p-1;将e0与乘法因子B进行有限域内的乘法运算,得到D0;将D′0作下一步中的C′1输出;对乘法因子B进行有限域内左移k位操作,得到E1;将ej与Ej进行有限域内乘法运算,得到D′j;将D′j与C′j进行有限域内的加法运算,得到C′j+1;将Ej进行有限域内左移k位操作,得到Ej+1;其中,j=1,2,3...p-2;将ep-1与Ep-1进行有限域内乘法运算,得到D′p-1;将D′p-1与C′p-1进行有限域内的加法运算,得到C′p;输出C′p即为乘法因子A和乘法因子B在有限域内的乘积。本发明专利技术的技术方案能提高有限域乘法的运算效率。

【技术实现步骤摘要】

本专利技术涉及信息
,特别是一种基于串并结合实现有限域乘法的方法及装置
技术介绍
有限域运算在差错控制、密码学领域均得到广泛应用。特别是在加密认证算法中, 有限域运算应用广泛,它是指在特定的规则下进行的两类运算加法运算和乘法运算。有限域GF⑵仅包含两个元素0和1,加法运算很容易利用一个异或门来实现,而乘法运算利用一个与门也可以轻易实现。特别地,有限域GW2m)可以看做GW2)的m维扩域,包括2-个元素。此时,有限域加法可由m个异或门实现,而乘法运算的实现则要复杂很^^ ο在实现上,加法运算对应相应位数的异或门,而乘法的实现,效率远低于加法,资源消耗则远高于加法,是有限域运算的关键。另一方面,其他运算,如指数运算、除法运算、 求逆运算等都是通过乘法的多次运算来实现。因而乘法器的性能是有限域运算在上述领域应用的关键。目前已提出的有限域乘法器主要有两类比特串行乘法器和比特并行乘法器。在输入位宽为m的情况下。比特串行乘法器具有0(m)空间复杂度(0(m)表示算法的空间消耗与m成正比),该方法对同一个模块进行轮询操作,能够将资源消耗降至最低。但该方案需要等待m个周期后才能得到输出,时延大。比特并行乘法器具有(0(m2))空间复杂度,该方法结构紧凑,易于硬件实现,能够实现较高的吞吐量,适宜于现今高速的通信系统,但其消耗大量资源,不适宜成本的节约。
技术实现思路
本专利技术提供了一种基于串并结合实现有限域乘法的方法,该方法能将简化乘法器结构,提高有限域内乘法运算的效率。为达到上述目的,该方法是这样实现的本专利技术公开了一种基于串并结合实现有限域乘法的方法,本方法用于实现有限域内m位乘法因子A和m位乘法因子B的相乘运算,该方法包括对m位的乘法因子A按从低位到高位进行分组,以k位为一组,分为P组,分组后的各组表示为 ei;其中「m/k] = p,i = 0,1,... ,P-I ;将%与乘法因子B进行有限域内的乘法运算,得到D' ^ ;将D' ^作下一步中的 C'工输出;对乘法因子B进行有限域内左移k位操作,得到E1;将。与P进行有限域内乘法运算,得到D' y将D'彳与C'彳进行有限域内的加法运算,得到C' J+1 ;将Ej进行有限域内左移k位操作,得到E” ;其中,j = 1,2,3... p-2 ;将Vl与Elri进行有限域内乘法运算,得到D' ;将D' 与C' 进行有限域内的加法运算,得到C' ;输出C' D即为乘法因子A和乘法因子B在有限域内的乘积。本专利技术还提供了一种基于串并结合实现有限域乘法的装置,该装置用于实现有限域内m位乘法因子A和m位乘法因子B的相乘运算,所述装置包括输入模块,分组模块,输出模块,P个PM模块,ρ个PM模块包括PM1模块、PM2模块...、PMp模块;输入模块,用于将m位乘法因子A发送给分组模块,将m位乘法因子B发送给PM1 模块;分组模块,用于接收输入模块发送的乘法因子A,将乘法因子A从低位到高位进行分组操作,以k位为一组,分成ρ组,分组后的各组表示为ei,将ei依次发送给相应的PMi+1 模块;其中「m/k] = p ,i = 0,1,... ,p-1 ;PM1模块,用于接收分组模块发送的e(l,以及输入模块发送的乘法因子B ;将%和B 进行有限域内的乘法运算,得到D' ^将D' J乍为C'工发送给PM2模块;将乘法因子B进行有限域内左移k位操作,得到E1Jf E1发送给PM2模块;PMJ+1模块,用于接收分组模块发送的e」,以及PMj模块发送的E^与C' j ;将ej与 E^进行有限域内的乘法运算,得到D' y将D'彳与C'彳进行有限域内的加法运算,得到 C' m,将C' J+1发送给PMp2模块;将E^进行有限域内左移k位操作,得到E^df Ε”1发送给 PMj+2 模块,其中,j = 1,2,3. . . p-2 ;PMp模块,用于接收分组模块发送的,以及PMlri模块发送的Elri与C' ;将y 与Elri进行有限域内乘法运算,得到D' ,将D' 与C' 进行有限域内的加法运算, 得到C' p,将C' p发送给输出模块;输出模块,用于接收PMp模块发送的C' p,将C' p输出。有上述可知,本专利技术这种通过串并结合的方法,将高位宽的相乘运算分解成多个低位宽的相乘运算,缩短了有限域乘法计算的关键路径,降低了空间复杂度,提高了有限域内乘法运算的效率。附图说明图1是本专利技术中的一种基于串并结合实现有限域乘法的方法的流程图;图2是本专利技术中一种基于串并结合实现有限域乘法的装置的整体结构示意图;图3是本专利技术中一种基于串并结合实现有限域乘法的装置的PM1模块的内部结构图;图4是本专利技术中一种基于串并结合实现有限域乘法的装置的PMp1模块的内部结构图;图5是本专利技术中一种基于串并结合实现有限域乘法的装置的PMp模块的内部结构图;图6是本专利技术中一种基于串并结合实现有限域乘法的装置的改进的Arash乘法器模块结构示意图;图7是本专利技术中一种基于串并结合实现有限域乘法的装置的MTP单元的结构示意图;图8是本专利技术中一种基于串并结合实现有限域乘法的装置的移位模块的结构示意图;图9是本专利技术中一种基于串并结合实现有限域乘法的装置的异或门阵列模块结构示意图;图10是本专利技术中一种基于串并结合实现有限域乘法的装置的实施例的结构示意图。具体实施例方式本专利技术公开了一种基于串并结合实现有限域乘法的方法,本方法用于实现有限域内m位乘法因子A和m位乘法因子B的相乘运算,为了使本专利技术的目的、技术方案和优点更加清楚,下面结合附图和具体实施例对本专利技术进行详细描述。图1是本专利技术中的一种基于串并结合实现有限域乘法的方法的流程图,如图1所示步骤101,对m位的乘法因子A按从低位到高位进行分组,以k位为一组,分为ρ 组,分组后的各组表示为其中「m/k>p,i = 0,1,...,ρ-1 ;步骤102,将%与乘法因子B进行有限域内的乘法运算,得到D' ^ ;将D' ^作下一步中的C'工输出;对乘法因子B进行有限域内左移k位操作,得到E1;步骤103,将4与P进行有限域内乘法运算,得到D'」;将0'」与('」进行有限域内的加法运算,得到C' J+1 ;将P进行有限域内左移k位操作,得到P1 ;其中,j = 1, 2, 3. . . ρ-2 ;步骤104,将Vl与Elri进行有限域内乘法运算,得到D'“;将D' ^与C' ^进行有限域内的加法运算,得到C' p;输出C' p即为乘法因子A和乘法因子B在有限域内的乘积。本专利技术这种将有限域内的高阶乘法运算分解成有限域内多个低阶乘法运算,其中,将上一个低阶乘法运算的结果作为下一个低阶乘法运算的输入;「1表示向上取整函数,「m/k> ρ,即分组个数ρ的值等于将m/k的值向上取整;其中,最高位不足k位时, 将不足的位数进行补0操作,补成k位。本专利技术中,乘法因子A的第一个分组%与B进行有限域内的乘法运算得到D ‘ ^与将ej与E^进行有限域内乘法运算得到D' j的过程相同,其中E^由乘法因子B经过j次左移操作得到;下面以。与E^进行有限域内乘法运算得到D' j为例说明;首先,E^进行m次左移位操作,每次左移一位,得到m个m位的数,将依次得到的数构成矩阵Lm, m ;将矩阵Lm, m进行矩阵列本文档来自技高网...

【技术保护点】
1.一种基于串并结合实现有限域乘法的方法,本方法用于实现有限域内m位乘法因子A和m位乘法因子B的相乘运算,其特征在于,该方法包括:对m位的乘法因子A按从低位到高位进行分组,以k位为一组,分为p组,分组后的各组表示为ei,其中i=0,1,...,p-1;将e0与乘法因子B进行有限域内的乘法运算,得到D′0;将D′0作下一步中的C′1输出;对乘法因子B进行有限域内左移k位操作,得到E1;将ej与Ej进行有限域内乘法运算,得到D′j;将D′j与C′j进行有限域内的加法运算,得到C′j+1;将Ej进行有限域内左移k位操作,得到Ej+1;其中,j=1,2,3...p-2;将ep-1与Ep-1进行有限域内乘法运算,得到D′p-1;将D′p-1与C′p-1进行有限域内的加法运算,得到C′p;输出C′p即为乘法因子A和乘法因子B在有限域内的乘积。

【技术特征摘要】
1.一种基于串并结合实现有限域乘法的方法,本方法用于实现有限域内m位乘法因子 A和m位乘法因子B的相乘运算,其特征在于,该方法包括对m位的乘法因子A按从低位到高位进行分组,以k位为一组,分为ρ组,分组后的各组表示为 e”其中「m/k] = p,i = 0,1,· · ·,p-l ;将%与乘法因子B进行有限域内的乘法运算,得到D' ^将D' J乍下一步中的C'工输出;对乘法因子B进行有限域内左移k位操作,得到E1 ;将h与P进行有限域内乘法运算,得到D' y将D'彳与C'彳进行有限域内的加法运算,得到C' J+1 ;将Ej进行有限域内左移k位操作,得到Ε”1 ;其中,j = 1,2,3. . . p-2 ;将 ―与Elri进行有限域内乘法运算,得到D' ;将D' 与C' 进行有限域内的加法运算,得到C' p;输出C' p即为乘法因子A和乘法因子B在有限域内的乘积。2.根据权利要求1所述的方法,其特征在于,所述将%与B进行有限域内乘法运算,得到D'。包括B进行m次左移位操作,将依次得到的数构成矩阵Lm, m ;将矩阵Lm, m进行矩阵列截短得到矩阵Lm,k,将矩阵Lm,k与%进行相乘运算,得到Lm,kX% ;B进行m-1次右移位操作,将依次得到的数构成矩阵Um_Um ;将矩阵Un^m进行矩阵行列截短得到矩阵Uk+k,将矩阵Ulri,k与%进行相乘运算,得到U1^kXi5ci ;将U1^kXi5ci进行矩阵化简运算后,与LnbkXi5ci —起进行异或操作,得到D'。;3.根据权利要求1所述的方法,其特征在于,所述将。与E^进行有限域内乘法运算, 得到D'彳包括Ej进行m次左移位操作,将依次得到的数构成矩阵Lm ;将矩阵Lm进行矩阵列截短得到矩阵Lm,k,将矩阵Lm,k与&进行相乘运算,得到LnukXej ;Ej进行m-1次右移位操作,将依次得到的数构成矩阵U11^m ;将矩阵U1^m进行矩阵行列截短得到矩阵Uk+k,将矩阵Ulri,k与&进行相乘运算,得到U1^kXej ;将U1^kXh进行矩阵化简运算后,与Lm,kXh —起进行异或操作,得到D' j ; 其中,j = 1,2,3. . .p-2。4.根据权利要求1所述的方法,其特征在于,将^v1与Elri进行有限域内乘法运算,得到D' ^包括Ε51进行m次左移位操作,将依次得到的数构成矩阵Lm, m ;将矩阵Lm, m进行矩阵列截短得到矩阵Lm,k,将矩阵Lm,k与进行相乘运算,得到LnbkXelri ;Elri进行m-1次右移位操作,将依次得到的数构成矩阵Uirl, m ;将矩阵Uirl, m进行矩阵行列截短得到矩阵Uk+k,将矩阵Ulri,k与Vl进行相乘运算,得到U1^kXvi ;将U1^kXvi进行矩阵化简运算后,与LnukXelri—起进行异或操作,得到D' ;5.一种基于串并结合实现有限域乘法的装置,该装置用于实现有限域内m位乘法因子 A和m位乘法因子B的相乘运算,其特征在于,该乘法器包括输入模块,分组模块,输出模块,ρ个PM模块,这ρ个PM模块分别为=PM1模块、PM2模块.....PMp模块;输入模块,用于将m位乘法因子A发送给分组模块,将m位乘法因子B发送给PM1模块; 分组模块,用于接收输入模块发送的乘法因子A,将乘法因子A从低位到高位进行分组操作,以k位为一组,分成ρ组,分组后的各组表示为ei,将ei依次发送给相应的PMi+1模块;其中「m/k] = p,i = 0,1,···,p-1 ;PM1模块,用于接收分组模块发送的%,以及输入模块发送的乘法因子B ;将%和8进行有限域内的乘法运算,得到D' ^将D' J乍为C'工发送给PM2模块;将乘法因子B进行有限域内左移k位操作,得到E1Jf E1发送给PM2模块;PMJ+1模块,用于接收分组模块发送的 以及PM^模块发送的E^与C' j ;将ej与E^进行有限域内的乘法运算,得到D' ^将D'彳与C'彳进行有限域内的加法运算,得到C' j+1, 将C' J+1发送给PMp2模块;将E^进行有限域内左移k位操作,得到E^df E^发送给PMj+2 模块,其中,j = 1,2,3···ρ-2 ;PMp模块,用于接收分组模块发送的^v1,以及PMlri模块发送的Elri与C' ;将Vl与 Elri进行有限域内乘法运算,得到D' ^JfD' 与C' 进行有限域内的加法运算,得到 C' p,将C' p发送给输出模块;输出模块,用于接收PMp模块发送的C' p,将C' p输出。6.根据权利要求5所述的装置,所述PM1模块包...

【专利技术属性】
技术研发人员:寿国础毛泽湘白岩张学茹胡怡红郭志刚
申请(专利权)人:北京邮电大学
类型:发明
国别省市:11

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

1