一种有限域算术运算器的实现方法和装置制造方法及图纸

技术编号:2842848 阅读:409 留言:0更新日期:2012-04-11 18:40
一种有限域算术运算的实现方法,其特征在于包括以下步骤:    设A为被乘数(除数),B为乘数(被除数),A、B均不为0,C为运算结果,A、B、C均属于有限域GF(2m),且以多项式形式表示,α为本原根。*表示有限域乘法,/表示有限域除法。    (a)将A乘以α,得到结果A*α。把A*α与1进行比较,如果A*α=1,转至步骤(b),否则,将A*α乘以α,得到结果A*α2,再与1进行比较。重复上述“乘法-比较”操作,直至得到的乘积为1,转至步骤(b)。    (b)将B乘以α,得到结果B*α。把B*α与1进行比较,如果B*α=1,运算停止,否则,将B*α乘以α,得到结果B*α2,再与1进行比较。重复上述“乘法-比较”操作,直至得到的乘积为1,运算停止。    (c)在步骤(a)开始的同时,以1为起点开始计数。若运算为乘法,计数按1→αN→αN-1→…→α3→α2→α→1→…的方向循环进行,其中N等于2m-2;反之,若运算为除法,计数按1→α→α2→α3→…→αN-1→αN→1→…的方向循环进行。当步骤(b)开始时,计数或按原来方向继续进行,或与原来方向相反进行,直至步骤b结束。若运算为乘法,后面计数的方向与前相同,最后计数结果为A*B;反之,若运算为除法,后面计数的方向与前相反,最后计数结果为为B/A。

【技术实现步骤摘要】

本专利技术涉及数字通信系统和数据加密系统,特别是涉及数字通信系统和数据加密系统中的有限域算术运算器的实现方法和装置
技术介绍
有限域在数字通信纠错码技术和数据加密
中有着非常广泛的应用。例如,在数字通信中得到普遍应用的里德-所罗门纠错码,其编码和解码的运算都是在有限域中进行的。因此,有限域算术运算器对里德-所罗门码编、解码器的性能有着重要影响。一般地,有限域算术运算主要研究的是乘法和除法,这是由于对于实际中广泛应用的有限域GF(2■)来说,有限域加法和减法的实现非常简单,通过对被加数(被减数)和加数(减数)中处于相同位数的二进制数字对作异或运算就可以得到运算结果。与此相反,有限域乘法和除法的实现则要复杂得多。有限域乘法需要耗费大量资源,其实现方式分有比特串行和比特并行两大类,这两大方式结合对被乘数和乘数以不同方式表示(如以标准基、对偶基或正规基表示)是目前有限域乘法运算研究工作的一般出发点。有限域除法通常是通过先对除数进行求逆,再与被除数相乘来完成的,其突出的缺点是耗费的资源太大,为有限域乘法的数倍之多。总之,有限域乘法和除法的实现不但难度大,而且资源开销大,难以满足实际应用的要求。
技术实现思路
本专利技术的目的是提出一种将乘法和除法统一起来、实现简单、节省资源的有限域算术运算实现方法。本专利技术的第二个目的是提出一种采用上述方法的有限域乘算术运算器装置。本专利技术的有限域算术运算的实现方法按以下技术方案进行,包括以下步骤设A为被乘数(除数),B为乘数(被除数),A、B均不为0,C为运算结果,A、B、C均属于有限域GF(2■),且以多项式形式表示,α为本原根。另外,这里*表示有限域乘法,/表示有限域除法。1.将A乘以α,得到结果A*α。把A*α与1进行比较,如果A*α=1,转至步骤2,否则,将A*α乘以α,得到结果A*α2,再与1进行比较。重复上述“乘法-比较”操作,直至得到的乘积为1,转至步骤2。2.将B乘以α,得到结果B*α。把B*α与1进行比较,如果B*α=1,运算停止,否则,将B*α乘以α,得到结果B*α2,再与1进行比较。重复上述“乘法-比较”操作,直至得到的乘积为1,运算停止。3.在步骤1开始的同时,以1为起点开始计数。若运算为乘法,计数按1->αN->αN-1->...->α3->α2->α->1->...的方向循环进行,其中N等于2■-2;反之,若运算为除法,计数按1->α->α2->α3->...->αN-1->αN->1->...的方向循环进行。当步骤2开始时,计数或按原来方向继续进行,或与原来方向相反进行,直至步骤2结束。若运算为乘法,后面计数的方向与前相同,最后计数结果为A*B;反之,若运算为除法,后面计数的方向与前相反,最后计数结果为为B/A。本专利技术的有限域运算器装置由一个有限域常数(即α)乘法器、一个计数器及一个控制器组成。控制器为一有限状态机,运算开始后,它首先指示计数器开始计数和计数方向,若运算为乘法,计数按1->αN->αN-1->...->α3->α2->α->1->...的方向循环进行;反之,若运算为除法,计数按1->α->α2->α3->...->αN-1->αN->1->...的方向循环进行。与此同时,控制器将A送至α乘法器与α相乘得到乘积A*α。α乘法器乘法运算完成后,其结果送回控制器与1进行比较。如果A*α=1,控制器转入下一状态;否则,控制器将A*α再一次送入α乘法器与α相乘得到乘积A*α2,如此重复,直至得到的乘积为1,控制器转入下一状态。在下一个状态中,控制器根据所作的运算是乘法或者是除法,指示计数器按原来方向继续计数或按与原来相反的方向计数。同时将B送至α乘法器与α相乘得到乘积B*α。如果B*α等于1,控制器指示计数器停止计数,并把计数结果作为运算结果;否则,控制器将B*α再一次送入α乘法器与α相乘得到乘积B*α2,如此重复,直至得到的乘积为1,这时指示计数器停止计数,并把计数结果作为运算结果。计数器在接到开始计数的指令后开始计数,直至收到停止计数的指示。最后计数结果为为A*B(乘法)或B/A(除法),这里*表示有限域乘法,/表示有限域除法。本专利技术的方法把有限域的乘法和除法分解为一系列简单的有限域常数(即α)乘法运算,将有限域乘法和除法运算统一起来,其乘法和除法仅仅是计数方向的改变而已,不仅实现简单,而且节省大量资源。本专利技术的装置设计简约,结构紧凑,资源开销少。本专利技术可应用于,但不限于,数字通信系统和数据加密系统中的有限域算术运算。附图说明图1是本专利技术的方法流程;图2是本专利技术的有限域运算器装置;图3是本专利技术有限域运算器装置中控制器的状态转换图;图4是本专利技术有限域运算器装置中计数器的状态转换图;具体实施方式图1是本专利技术的方法流程运算开始后,步骤101、102或102a根据运算为乘法或除法,启动计数,若运算为乘法,计数按1->αN->αN-1->...->α3->α2->α->1->...的方向循环进行;反之,若运算为除法,计数按1->α->α2->α3->...->αN-1->αN->1->...的方向循环进行。步骤103将输入(此时为A)与α相乘,并由步骤104判断乘积是否为1。若乘积等于1,流程由步骤104进入步骤105;反之,则重复步骤103和104(此时103的输入为A与α的一次或多次乘积),直至得到的乘积等于1,流程进入步骤105。在步骤105、106或106a中,根据所作运算为乘法或除法,计数按原方向继续进行或与原方向相反进行。步骤107将输入(此时为B)与α相乘,并由步骤108判断乘积是否为1。若乘积等于1,流程由步骤108进一步至步骤109;反之,则重复步骤107和108(此时107的输入为B与α的一次或多次乘积),直至得到的乘积等于1,流程然后到步骤109。在步骤109中,计数停止,并把计数结果作为运算结果,运算结束。图2是本专利技术的有限域运算器装置整个运算器由控制器201、常数α乘法器202、计数器203组成。运算开始,控制器201指示计数器203进行计数,若运算为乘法,计数按1->αN->αN-1->...->α3->α2->α->1->...的方向循环进行;反之,若运算为除法,计数按1->α->α2->α3->...->αN-1->αN->1->...的方向循环进行。同时,控制器201第一次将A,然后将常数α乘法器202的输出送至常数α乘法器202的输入与α相乘,直至常数α乘法器202的输出等于1,此时控制器201根据所作运算为乘法或除法,指示计数器203按原方向继续进行或与原方向相反进行。同时,控制器201第一次将B,然后将常数α乘法器202的输出送至常数α乘法器202的输入与α相乘,直至常数α乘法器202的输出等于1。此时,控制器201指示计数器203停止计数,并把计数结果作为运算结果,运算结束。图3是本专利技术的有限域运算器装置中控制器的状态转换图当运算开始时,控制器的状态由初始状态1(301)转入状态2(302)。在状态2(302)中,如果检测到A为0,则控制器的状态回到初始状态1(301),否则,控制器的状态停留在状态2(302)直至A与α若干次相乘的乘积为1,此时控制器的状态跳至状态3(303)。待到B与α若干次本文档来自技高网...

【技术保护点】
1.一种有限域算术运算的实现方法,其特征在于包括以下步骤: 设A为被乘数(除数),B为乘数(被除数),A、B均不为0,C为运算结果,A、B、C均属于 有限域GF(2m),且以多项式形式表示,α为本原根。*表示有限域乘法,/表示有限域除法。 (a)将A乘以α,得到结果A*α。把A*α与1进行比较,如果A*α=1,转至步骤(b),否 则,将A*α乘以α,得到结果A*α2,再与1进行比较。重复上述“乘法-比较”操作,直至 得到的乘积为1,转至步骤(b)。 (b)将B乘以α,得到结果B*α。把B*α与1进行比较,如果B*α=1,运算停止,否则 ,将B*α乘以α,得到结果B*α2,再与1进行比较。重复上述“乘法-比较”操作,直至得 到的乘积为1,运算停止。 (c)在步骤(a)开始的同时,以1为起点开始计数。若运算为乘法,计数按1->αN-> αN-1->…->α3->α2->α->1->…的方向循环进行,其中N等于2m-2;反之,若 运算为除法,计数按1->α->α2->α3->…->αN-1->αN->1->…的方向循 环进行。当步骤(b)开始时,计数或按原来方向继续进行,或与原来方向相反进行,直至步 骤b结束。若运算为乘法,后面计数的方向与前相同,最后计数结果为A*B;反之,若运算为 除法,后面计数的方向与前相反,最后计数结果为为B/A。...

【技术特征摘要】
1.一种有限域算术运算的实现方法,其特征在于包括以下步骤设A为被乘数(除数),B为乘数(被除数),A、B均不为0,C为运算结果,A、B、C均属于有限域GF(2m),且以多项式形式表示,α为本原根。*表示有限域乘法,/表示有限域除法。(a)将A乘以α,得到结果A*α。把A*α与1进行比较,如果A*α=1,转至步骤(b),否则,将A*α乘以α,得到结果A*α2,再与1进行比较。重复上述“乘法-比较”操作,直至得到的乘积为1,转至步骤(b)。(b)将B乘以α,得到结果B*α。把B*α与1进行比较,如果B*α=1,运算停止,否则,将B*α乘以α,得到结果B*α2,再与1进行比较。重复上述“乘法-比较”操作,直至得到的乘积为1,运算停止。(c)在步骤(a)开始的同时,以1为起点开始计数。若运算为乘法,计数按1->αN->αN-1->…->α3->α2->α->1->…的方向循环进行,其中N等于2m-2;反之,若运算为除法,计数按1->α->α2->α3->…->αN-1->αN->1->…的方向循环进行。当步骤(b)开始时,计数或按原来方向继续进行,或与原来方向相反进行,直至步骤b结束。若运算为乘法,后面计数的方向与前相同,最后计数结果为A*B;反之,若运算为除法,后面计数的方向与前相反,最后计数结果为为B/A。2.一种基于权利要求1所述的有限域算术运算实现方法的有限域算术运算器,其特征在于包括以下模块(a)控制器控制运算的执行;(b)有限域常数α乘法器将输入与常数α在有限域GF(2m)中相乘;(c)计数器根据模块(a)控制器的指示,对模块(b)有限域常数α乘法器的运算进行计数。3.根据权利要求2所述的有限域算术运...

【专利技术属性】
技术研发人员:江渊
申请(专利权)人:宁波安泰集成电路设计有限公司
类型:发明
国别省市:

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

1