循序运算的伽罗瓦乘法架构与方法

文档序号:6602010阅读:525来源:国知局
专利名称:循序运算的伽罗瓦乘法架构与方法
技术领域
本申请涉及一种循序(sequential)运算的伽罗瓦乘法架构(feilois FieldMultiplier)与方法,基于Mastrovito乘法运算和复合场(Composite Field)的两层式循序输入的伽罗瓦乘法架构与方法。
背景技术
伽罗瓦计数模式-先进加密标准(Galois Counter Mode-AdvancedEncryption Standard, GCM-AES)演算法已经用于互联网通讯协定安全性IPsec)环境中。在以太网络 (Ethernet)第二层安全标准MACsec中也采用GCM-AES演算法作为预设的加解密运算。而 GCM-AES演算法中使用了伽罗瓦场(Galois Field)GF(2128)的乘法运算来实现赫序函数 (Hash Function),这使得在硬件实现上大幅提高GCM-AES的硬件成本。单一个GF Q128)乘法器的硬件大小就等同于一个1 位的AES核心引擎。当把拥有GCM-AES的MACsec控制器整合到以太(Ethernet)网络MAC控制器时,GCM-AES所影响的成本比例会更高。GF(2k)是一个有限场(Finite Field),由一个k阶的原始多项式 (primitivepolynomial)所定义的空间,共有2k个元素,每一元素有k个位,此k个位是该元素多项式bQ+blX+…+bk_lXH的系数,其中、是6^2)中的元素,也就是O或1。假设构成GFQk)空间的原始多项式为g(X)JljGFOk)的元素乘法可视为两个步骤首先,两个元素进行一般多项式乘法;然后将得到的多项式除以g(x)取其余数,即可获得乘积结果。而 GF (2k)的元素加法运算,在逻辑上等同于k位的XOR运算。伽罗瓦乘法器的相关技术有很多。例如,美国专利4,251,875公开一种泛用的伽罗瓦乘法器架构。采用单一 GW2m)乘法器架构,循序地输入两个运算元,完成GFQn)的乘法运算,其中m是η的倍数。美国专利7,113,968公开的伽罗瓦乘法器是以多项式乘法和余式运算为设计原理。而美国专利7,133,889公开的伽罗瓦乘法器架构,如

图1所示,是采用单一基底场GFQm)乘法器架构,以及使用KaratsiAa-Ofman运算法来进行乘法运算。美国专利 6,957,243公开的伽罗瓦乘法器架构利用拆解多项式的方法,将其中一个运算元A(X)循序地输入,即序列A0 (x) ,A1(X),..., Ah (χ)循序地输入;而另一个运算元b (χ)平行地输入, 来进行乘法运算,如图2所示。直接设计GFQk)乘法器的方法为全平行化的运算,也就是两个k位进,一个k位出的方式。以Mastrovito的方式来实现乘法器为例,假设A、B e GF(2k) ,A= [a0 B1. · · ak_J, B= [b0 bylvJ,则Mastrovito的乘法器运算C = AB可表示为一个矩阵向量乘法器,其中一个运算元(operand)维持原貌,也就是式子(1)中的B向量,另一个运算原则会经过一个转换获得另外一个矩阵也就是ZA,
权利要求
1.一种循序运算的伽罗瓦乘法架构,用来执行伽罗瓦场GFQk)的A与B两运算元的乘法,k为正整数,该乘法架构包含一第一层架构,将A运算元的数据一次备齐,将B运算元的数据以m个η位的方式循序输入来处理,k = mn, m、η为正整数;以及一第二层架构,循序接收输入的B运算元的数据,并以m个单一 η位的乘法器来实现 GF (2η)的乘法运算;其中,在该第一层架构处理之前,该A与B两运算元先从GFQk)场被映射到GF((2n)m) 场,而该第二层架构的乘法运算结果再被映射回到GFQk)场,以完成该GFQk)的乘法。
2.如权利要求1所述的乘法架构,其中该A与B两运算元通过一种空间转换矩阵,从 GF(2k)场被映射到GF((2n)m)场,而该第二层架构的乘法运算结果通过一种反空间转换矩阵再被映射回到GFQk)场。
3.如权利要求1所述的乘法架构,其中该第一层架构以m个寄存器,m个常数乘法器, 以及m-1个η位的异或逻辑门来实现。
4.如权利要求1所述的乘法架构,其中该第二层架构以m个GF(2n)乘法器、m个异或逻辑门以及m个寄存器来实现。
5.如权利要求1所述的乘法架构,其中该第一层架构以m个寄存器,一个常数乘法器, 以及j个η位的异或逻辑门来实现,1彡j彡m-1。
6.如权利要求1所述的乘法架构,其中该B运算元的数据通过一循序器来输入至该乘法架构。
7.如权利要求1所述的乘法架构,该乘法架构还包括一控制信号,来控制有时间先后顺序的该两运算元的输入。
8.如权利要求1所述的乘法架构,其中该m个单一η位的乘法器具有Mastrovito乘法器的架构。
9.一种循序伽罗瓦乘法方法,用来执行伽罗瓦场GF的乘法运算,该方法包含将两运算元A、B从一 GF Qk)场被映射到一 GF((2n)m)场,k = mn,k、m、η为正整数;利用一第一层架构,将A运算元的数据一次备齐,将B运算元的数据以m个η位的方式循序输入来处理;利用一第二层架构,循序接收输入的B运算元的数据,并直接以多个单一 η位的乘法器来实现GF Qn)的乘法运算;以及将该第二层架构的乘法运算结果再被映射回到GFQk)场,以完成GFQk)的乘法。
10.如权利要求9所述的方法,其中在该第一层架构中,该运算元A的数据至^v1分别填入一第一组寄存器,而另一运算元B的数据以m个η位Idci至Iv1来表示。
11.如权利要求10所述的方法,其中在该第二层架构中,该方法还包括输入k并与该第一组寄存器的值进行GF (2n)乘法运算后,该乘法运算结果与该第二组寄存器的值进行异或逻辑O(OR)运算后存入该第二组寄存器;以及将该第一组寄存器的值向右位移一次,获得Αω,输入1^并与该第一组寄存器的值进行 GF (2η)乘法后,获得Id1A ω,再与该第二组寄存器内的值进行XOR运算后存入该第二组寄存器,依此,对于循序输入的IVb3.....Iv1,重复该第一组寄存器向右位移一次直到存入该第二组寄存器的步骤。
12.如权利要求11所述的方法,其中该第二层架构的乘法运算结果是从该第二组寄存器最终的值来获得。
13.如权利要求9所述的方法,其中该两运算元A、B是通过一个同形转换电路,从该 GF (2k)场被映射到该GF((2n)m)场。
全文摘要
一种循序运算的伽罗瓦乘法架构与方法,基于Mastrovito乘法运算和复合场的两层式循序输入,第一层架构将A运算元的相关数据一次备齐,将B运算元的数据以m个n位的方式循序输入来处理,k=mn,m、n为正整数;而第二层架构循序接收输入的B运算元的数据,并直接以m个单一n位的乘法器来实现GF((2n)m)的乘法运算;其中,在第一层乘法架构处理之前,A与B两运算元先从GF(2k)场被映射到GF((2n)m)场,而第二层乘法架构的乘法运算结果则被映射回到GF(2k)场,以完成GF(2k)的乘法。
文档编号G06F7/72GK102236540SQ20101016738
公开日2011年11月9日 申请日期2010年4月20日 优先权日2010年4月20日
发明者颜志旭 申请人:财团法人工业技术研究院
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1