一种基于心动阵列的有限域乘法装置制造方法及图纸

技术编号:15822392 阅读:35 留言:0更新日期:2017-07-15 04:41
本发明专利技术提出一种基于心动阵列的有限域乘法装置,包括:输入端口,用于输入有限域的运算数、有限域的子域上选定的第一既约多项式、有限域上选定的第二既约多项式以及时钟信号;子域乘法器,用于调用乘法心动阵列执行运算数在所述子域上的乘法;子域加法器,用于调用加法心动阵列执行运算数在所述子域上的加法;控制器,与输入端口、子域乘法器和子域加法器分别相连接,用于解析时钟信号、调用子域乘法器和子域加法器、并执行有限域上的运算数的乘法;以及输出端口,连接控制器,用于输出有限域上的运算数的乘法的运算结果。本发明专利技术基于心动阵列可以提高乘法效率。

【技术实现步骤摘要】
一种基于心动阵列的有限域乘法装置
本专利技术涉及一种对有限域的元素进行相乘的装置,特别涉及有限域乘法装置。
技术介绍
有限域,也称伽罗瓦域(GaloisField,缩写为GF)是仅含有限多个元素的域,广泛地运用于数学和工程领域。有限域计算包括有限域加法、乘法、求逆和除法等运算,是密码学、信号处理、大数据存储等领域的基础。有限域乘法是有限域计算中最重要的运算之一,它的设计方法很多。在有限域中,GF((2n)2)是一类特殊的有限域,它的子域是GF(2n);GF((2n)2)的乘法在密码学中有广泛的应用。因此,如何提高有限域GF((2n)2)的乘法的运算效率是目前有待解决的问题。
技术实现思路
因此,本专利技术提出一种基于心动阵列的有限域乘法装置,以提高运算效率。具体地,本专利技术实施例提出的一种基于心动阵列的有限域乘法装置,包括:输入端口,用于输入有限域的第一运算数和第二运算数、所述有限域的子域上选定的第一既约多项式、所述有限域上选定的第二既约多项式以及时钟信号;子域乘法器,用于调用乘法心动阵列执行所述第一运算数和所述第二运算数在所述子域上的乘法;子域加法器,用于调用加法心动阵列执行所述第一运算数和所述第二运算数在所述子域上的加法;控制器,与所述输入端口、所述子域乘法器和所述子域加法器分别相连接,用于解析所述时钟信号、调用所述子域乘法器和所述子域加法器、并执行所述有限域上的所述第一运算数和所述第二运算数的乘法;以及输出端口,连接所述控制器,用于输出所述有限域上的所述第一运算数和所述第二运算数的乘法的运算结果。在本专利技术的一个实施例中,所述输入端口包括:用于分别输入所述第一运算数和所述第二运算数的第一运算数输入端口及第二运算数输入端口,用于输入所述第一既约多项式的第一既约多项式输入端口,用于输入所述第二既约多项式的第二既约多项式输入端口,以及用于输入所述时钟信号的时钟输入端口。在本专利技术的一个实施例中,所述有限域为GF((2n))2,所述子域为GF(2n);所述有限域上的所述第一运算数和所述第二运算数的乘法为(a(x)×b(x))mod(q(x)),所述第一运算数和所述第二运算数在所述子域上的乘法为((a(x)×b(x))mod(p(x)),所述第一运算数和所述第二运算数在所述子域上的加法为((a(x)+b(x))mod(p(x)),其中,a(x)和b(x)分别表示所述第一运算数和所述第二运算数,p(x)表示所述第一既约多项式,q(x)表示所述第二既约多项式,mod为求模运算。在本专利技术的一个实施例中,所述第一及第二运算数在所述有限域上分别具有表示形式:a(x)=a1x+a0,b(x)=b1x+b0,所述第一既约多项式具有表示形式:p(x)=xn+pn-1xn-1+pn-2xn-2+...+p1x+1,所述第二既约多项式具有表示形式:q(x)=q2x2+q1x+q0,其中,q2,q1,q0,a1,a0,b1,b0均为所述子域上的元素,pn-1,pn-2,...,p1均为有限域GF(2)上的元素。在本专利技术的一个实施例中,所述有限域上的所述第一运算数和所述第二运算数的乘法的运算结果c(x)具有表示形式:c(x)=c1x+c0,其中c1,c0是所述子域上的元素。在本专利技术的一个实施例中,所述时钟信号为单比特数值。在本专利技术的一个实施例中,所述第一运算数和所述第二运算数在所述子域上的乘法包括以下步骤:(1)所述第一运算数和所述第二运算数分别表示为和ai存储在所述乘法心动阵列的第一行的单元中,i=0,1,...,n-1,bj是所述乘法心动阵列的输入,j=0,1,...,n-1;(2)bj依次从左至右进入ai,每个周期后向右移动进入ai+1;(3)在所述乘法心动阵列的第一行中,每个单元计算aibj并将结果向第二行的单元输出;(4)根据计算vmj,其中m=0,1,...,2(n-1);(5)每当v(m+j)k=1,第二行的单元将aibj输出给第三行的单元ck,k=0,1,...,n-1;以及(6)当有新的输入,第三行的单元将输入的值与现有的数值相加作为所述单元的新值。在本专利技术的一个实施例中,所述第一运算数和所述第二运算数在所述子域上的加法包括以下步骤:(i)所述第一运算数和所述第二运算数分别表示为和bi存储在所述加法心动阵列的单元中,i=0,1,...,n-1,aj是所述加法心动阵列的输入,j=0,1,...,n-1;以及(ii)bi对应进入ai,并计算ai+bi,将结果输出。在本专利技术的一个实施例中,所述基于心动阵列的有限域乘法装置为专用集成电路器件。在本专利技术的一个实施例中,所述基于心动阵列的有限域乘法装置为可编程逻辑器件。因此,本专利技术实施例的基于心动阵列的有限域乘法装置可以提高乘法效率。附图说明下面将结合附图,对本专利技术的具体实施方式进行详细的说明。图1为本专利技术实施例提出的一种基于心动阵列的有限域乘法装置的模块示意图。图2为图1所示GF(2n)乘法器的结构示意图。图3为图1所示GF(2n)加法器的结构示意图。通过以下参考附图的详细说明,本专利技术的其它方面和特征变得明显。但是应当知道,该附图仅仅为解释的目的设计,而不是作为本专利技术的范围的限定。还应当知道,除非另外指出,不必要依比例绘制附图,它们仅仅力图概念地说明此处描述的结构和流程。具体实施方式为使本专利技术的上述目的、特征和优点能够更加明显易懂,下面结合附图对本专利技术的具体实施方式做详细的说明。如图1所示,本专利技术实施例提出的一种基于心动阵列的有限域乘法装置10包括:控制器11、输入端口、输出端口、GF(2n)乘法器13和GF(2n)加法器15。所述控制器11与输入端口、输出端口、GF(2n)乘法器13和GF(2n)加法器15分别信号连接。其中,GF(2n)乘法器13和GF(2n)加法器15作为子域乘法器和子域加法器,其例如均为四个,但本专利技术并不以此为限。下面将结合图1至图3分别对本专利技术实施例基于心动阵列的有限域乘法装置10的各组成部分做详细介绍。(1)输入端口:如图1所示,本实施例共有五个输入端口,包括4个数据输入端口和1个时钟输入端口。其中,输入端口a和b分别用于输入有限域GF((2n))2的运算数a(x)和b(x)而作为运算数输入端口,输入端口p和q分别用于输入子域GF(2n)和有限域GF((2n))2上选定的既约多项式p(x)和q(x)而作为既约多项式输入端口,输入端口k用于输入时钟信号clk而作为时钟输入端口。承上述,有限域GF((2n))2上的运算数a(x)和b(x)例如具有如下形式:a(x)=a1x+a0;b(x)=b1x+b0;有限域GF((2n))2的既约多项式q(x)例如具有如下形式:q(x)=q2x2+q1x+q0;子域GF(2n)的既约多项式p(x)例如具有如下形式:p(x)=xn+pn-1xn-1+pn-2xn-2+...+p1x+1;其中,q2,q1,q0,a1,a0,b1,b0是子域GF(2n)的元素,pn-1,pn-2,...,p1是子域GF(2)的元素,时钟信号clk是单比特(bit)数值。(2)输出端口:如图1所示,输出端口c用于输出有限域GF((2n))2的运算数a(x)和b(x)的乘法(a(x)×b(x))mod(q(x))的运算结果c(x)而作为运算结本文档来自技高网...
一种基于心动阵列的有限域乘法装置

【技术保护点】
一种基于心动阵列的有限域乘法装置,其特征在于,包括:输入端口,用于输入有限域的第一运算数和第二运算数、所述有限域的子域上选定的第一既约多项式、所述有限域上选定的第二既约多项式以及时钟信号;子域乘法器,用于调用乘法心动阵列执行所述第一运算数和所述第二运算数在所述子域上的乘法;子域加法器,用于调用加法心动阵列执行所述第一运算数和所述第二运算数在所述子域上的加法;控制器,与所述输入端口、所述子域乘法器和所述子域加法器分别相连接,用于解析所述时钟信号、调用所述子域乘法器和所述子域加法器、并执行所述有限域上的所述第一运算数和所述第二运算数的乘法;以及输出端口,连接所述控制器,用于输出所述有限域上的所述第一运算数和所述第二运算数的乘法的运算结果。

【技术特征摘要】
1.一种基于心动阵列的有限域乘法装置,其特征在于,包括:输入端口,用于输入有限域的第一运算数和第二运算数、所述有限域的子域上选定的第一既约多项式、所述有限域上选定的第二既约多项式以及时钟信号;子域乘法器,用于调用乘法心动阵列执行所述第一运算数和所述第二运算数在所述子域上的乘法;子域加法器,用于调用加法心动阵列执行所述第一运算数和所述第二运算数在所述子域上的加法;控制器,与所述输入端口、所述子域乘法器和所述子域加法器分别相连接,用于解析所述时钟信号、调用所述子域乘法器和所述子域加法器、并执行所述有限域上的所述第一运算数和所述第二运算数的乘法;以及输出端口,连接所述控制器,用于输出所述有限域上的所述第一运算数和所述第二运算数的乘法的运算结果。2.根据权利要求1所述的基于心动阵列的有限域乘法装置,其特征在于,所述输入端口包括:用于分别输入所述第一运算数和所述第二运算数的第一运算数输入端口及第二运算数输入端口,用于输入所述第一既约多项式的第一既约多项式输入端口,用于输入所述第二既约多项式的第二既约多项式输入端口,以及用于输入所述时钟信号的时钟输入端口。3.根据权利要求1所述的基于心动阵列的有限域乘法装置,其特征在于,所述有限域为GF((2n))2,所述子域为GF(2n);所述有限域上的所述第一运算数和所述第二运算数的乘法为(a(x)×b(x))mod(q(x)),所述子域上的乘法为(e(x)×f(x))mod(p(x)),所述子域上的加法为(e(x)+f(x))mod(p(x)),其中,a(x)和b(x)分别表示所述第一运算数和所述第二运算数,e(x)和f(x)分别表示所述子域GF(2n)的两个运算数,p(x)表示所述第一既约多项式,q(x)表示所述第二既约多项式,mod为求模运算。4.根据权利要求3所述的基于心动阵列的有限域乘法装置,其特征在于,所述第一及第二运算数在所述有限域上分别具有表示形式:a(x)=a1x+a0,b(x)=b1x+b0,所述第一既约多项式具有表示形式:p(x)=xn+pn-1xn-1+...

【专利技术属性】
技术研发人员:易海博聂哲
申请(专利权)人:深圳职业技术学院
类型:发明
国别省市:广东,44

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

1