专利名称:处理有限域运算的方法与运算电路的制作方法
技术领域:
本发明是与有限域(Galios Field)的运算有关,尤指先进加密标准(AES, Advanced encryption Standard)中字节取代运算(SubByte)电路与反字节取代运算 (InvSubByte)电路的架构以及其相关方法。
背景技术:
先进加密标准(Advanced Encryption Mandards,AEQ是美国联邦信息处理 标准(Federal Information Processing Standards, FIPS)所认可,并由美国国家标 准禾口技术局(National Institute of Standards and Technology,NIST)于公元 2000 年采用Rijndael密码算法来加以实现,主要是用来保护电子数据,而先进加密标准所 采用的Rijndael密码算法是一种对称的加解密标准,其可对信息进行加密而成为密 文(ciphertext),亦可将密文解密而还原成原本的明文(plaintext)以保障该文件的 安全。在先进加密标准中,算法可使用1 位长度、192位长度、以及256位长度的密钥 (cryptographic key)对1 位长度的数据块(data block)进行加密/解密。先进加密标准的加密/解密架构是由几个主要的运算以及其反运算构成,亦 即回合金钥加法运算(AddRoimdKey)、字节取代运算(SubByte)与反字节取代运算 anvSubByte)、位移列运算(ShiftRow)与反位移列运算QnvShiftRow)以及混合行运算 (MixColumn)与反混合行运算anvMixColumn)。由于先进加密标准是通过反复进行多回合 的前述运算以进行加密/解密,因此,如何有效率地设计先进加密标准的运算电路以及其 相对应地反运算电路,来控制先进加密标准电路进行加密及/或解密运算所需的时间以及 整体电路面积是相当重要的。在先进加密标准中,字节取代运算是非线性(nonlinear)的字节替换运算,每一 个输入的字节皆是使用一个代换盒(S-Box)独立执行运算。代换盒与反代换盒(inverse S-box, InvS-box)两者的运算皆包含有一乘法反运算(Multiplicative Inverse)以及 一仿射运算(affine transformation),只是在代换盒与反代换盒两者进行乘法反元素与 仿射转换的先后顺序不同而已。由于直接在有限域(在先进加密标准的规定中为felois Field GF(28))中实际进行代换盒与反代换盒的运算相当庞杂,一些先进加密标准的实际 设计方式中,就通过分别使用查表的方式来取代代换盒与反代换盒的实际运算,然而,这种 查表法需要使用大量的存储器来加以实现,因而导致了先进加密标准在实际硬件电路上面 临了大量电路面积与数据吞吐量(throughput)的限制。因此,亟需提出一种创新的代换盒以及/或反代换盒处理机制,不仅可达到高速 的运算效能,更同时能减少所需的电路面积,进以解决已知先进加密标准架构所面临的问题。
发明内容
因此,本发明的目的之一即在于提出一种处理有限域运算的方法与运算电路,其通过基底转换(change of basis)来降低运算复杂度,因而降低电路面积与提升数据吞吐量。根据本发明的一实施例,其揭露一种处理有限域运算的方法。此方法包含有提 供一运算电路,此运算电路至少包含有一乘法反元素运算(multiplicative inverse)单 元;以及,使用该乘法反运算单元来通过至少执行多次同构转换(Isomorphic transform, Isomorphic map)以求得一输入数据于一特定有限域中的一乘法反元素,其中该多次同构 转换包含有基底转换(change of basis)。根据本发明的另一实施例,其揭露一种处理有限域运算的运算电路,此运算电路 至少包含有一乘法反运算单元。该乘法反运算单元用以求得一输入数据于一特定有限域中 的一乘法反元素,其中该乘法反运算单元至少执行多次同构转换,且该多次同构转换包含 有基底转换。较佳地,其是利用基底转换来求得乘法反元素,以有效降低有限域运算中的复杂度。较佳地,其是使用基底转换与合成域(composite field)运算来求取乘法反元素。较佳地,其是通过适当地选择运算中的正交基底(normal basis)以简化所需的电 路架构。较佳地,其是经由考虑不可约多项式(irreducible polynomial)的系数,有效地 节省运算所需的电路面积。较佳地,其是同时考虑仿射转换以及乘法反运算中的变换矩阵(transform matrix)来选取不可约多项式的系数,以有效地节省运算所需的电路面积。较佳地,其是提供一种可供代换盒(S-box)与反代换盒(Inverse S-box, Inv S-box)运算共享的架构(乘法反运算单元),其是同时考虑代换盒运算与反代换盒运算中 的仿射转换以及反仿射转换(inverse affine transform)来选取适当的不可约多项式,以 有效地节省运算所需的电路面积。较佳地,其是提供一种可供代换盒运算与反代换盒运算共享的架构,其是依据同 时考虑代换盒以及反代换盒中仿射转换的线性部分/反仿射转换的线性部分以及乘法反 运算中的多个变换矩阵,以提供适当地不可约多项式,以提升其效能。
图1所示为本发明的先进加密标准运算中计算输入字节在有限域GW28)中基于 多项式基底的乘法反元素的一实施例的流程示意图。图2所示为本发明的先进加密标准运算中计算输入字节在有限域GW28)中基于 多项式基底的乘法反元素的另一实施例的流程示意图。图3为本发明运算电路的第一实施例的示意图。图4为本发明运算电路的第二实施例的示意图。图5为本发明运算电路的第三实施例的示意图。图6为本发明运算电路的第四实施例的示意图。图7为图1至图6中依据汉明权重计算的不可约多项式的较佳实施例。[主要元件标号说明]
权利要求
1.一种处理有限域运算的方法,包含有提供一运算电路,其至少包含有一乘法反运算单元;以及使用该乘法反运算单元来至少执行多次同构转换以求得一输入数据于一特定有限域 中的一乘法反元素,其中该多次同构转换包含有基底转换。
2.根据权利要求1所述的方法,其中该基底转换包含有于一多项式基底与一正交基底 之间进行转换。
3.根据权利要求1所述的方法,其中该多次同构转换包含有一第一同构转换、一第 二同构转换、一第三同构转换以及一第四同构转换;该第一同构转换是由该特定有限域 GF(2K)的一多项式基底转换至一合成域GF(2)μ的一多项式基底,K = L*M ;该第二同构转 换是由该合成域GF01广的该多项式基底转换至该特定有限域GFQk)的一正交基底;该 第三同构转换是由该特定有限域GFQk)的一正交基底转换为一合成域GF(2l)m的一多项 式基底;以及该第四同构转换是由该合成域GF Q^m的该多项式基底转换为该特定有限域 GF (2K)的一多项式基底。
4.根据权利要求3所述的方法,其中该合成域GF(2L)M是由一有限域GFQL)与一M次 方的不可约多项式所构成,以及提供该运算电路的步骤包含有选取该不可约多项式的系数来设计该乘法反运算单元。
5.根据权利要求4所述的方法,其中选取该不可约多项式的系数的步骤包含有依据 至少该多次同构转换的运算来选取。
6.根据权利要求5所述的方法,其中求得该输入数据于该特定有限域中的该乘法反元 素的步骤还包含有于一有限域GFO^m的该正交基底上执行一幂次运算来计算该乘法反 元素;以及选取该不可约多项式的系数的步骤包含有依据至少该多次同构转换的运算以 及该幂次运算来选取。
7.根据权利要求6所述的方法,其中该多次同构转换的运算以及该幂次运算为多个线 性运算,以及设计该乘法反运算单元的步骤包含有合并该多个线性运算中至少二线性运算来提供一相对应的变换矩阵。
8.根据权利要求7所述的方法,其中该特定有限域GFQk)为一有限域GF(28),以及该 合成域GF (2L) m为一合成域GF (24)2。
9.根据权利要求8所述的方法,其中该不可约多项式为m(x)=χ2+λχ+ρ,其系数λ 以及P是依据以下所述的数学式来选取(") = arg二‘其中界代表汉明权重,s代表该幂次运算所对应的矩阵,T-:是代表该第一同构转换,是代表该第二同构转 换,TTJ是代表该第三同构转换,是代表该第四同构转换,以及设计该乘法反运算单元 的步骤是合并7Tr、s与来提供一相对应的变换矩阵。
10.根据权利要求8所述的方法,其中该运算电路用来执行符合一先进加密标准的一代换盒运算,该运算电路还包含一仿射转换单元;该方法还包含有使用该仿射转换单元来对该乘法反运算单元的输出执行一仿射转换;以及设计该乘法反运算单元的步骤包含有合并该第二同构转换、该幂次运算与该第三同构转换来提供相对应的一第一变换矩阵以及合并该第四同构转换与该仿射转换中的线性部分来提供相对应的一第二变换矩阵。
11.根据权利要求10所述的方法,其中该不可约多项式为m(x)=χ2+λχ+ρ,以及系 数λ以及ρ是依据以下所述的数学式来选取
12.根据权利要求8所述的方法,其中该运算电路用来执行符合一先进加密标准的一 反代换盒运算;该运算电路还包含一反仿射转换单元,该方法还包含有使用该反仿射转 换单元来执行一反仿射转换来产生该输入数据至该乘法反运算单元;以及设计该乘法反运 算单元的步骤包含有合并该反仿射转换的线性部分与该第一同构转换来提供相对应的一 第一变换矩阵,以及合并该第二同构转换、该幂次运算与该第三同构转换来提供相对应的 一第二变换矩阵。
13.根据权利要求12所述的方法,其中该不可约多项式为m(x)=χ2+λχ+ρ,以及系 数λ以及ρ是依据以下所述的数学式来选取
14.根据权利要求8所述的方法,其中该运算电路用来共享该乘法反运算单元来执行 符合一先进加密标准的一代换盒运算以及一反代换盒运算;该运算电路还包含一仿射转换 单元以及一反仿射转换单元;该方法还包含有当该运算电路执行该代换盒运算时,使用 该仿射转换单元来对该乘法反运算单元的输出执行一仿射转换,以及当该运算电路执行该 反代换盒运算时,使用该反仿射转换单元来执行一反仿射转换来产生该输入数据至该乘法 反运算单元;以及设计该乘法反运算单元的步骤包含有合并该反仿射转换的线性部分与该 第一同构转换来提供相对应的一第一变换矩阵、合并该第二同构转换、该幂次运算与该第 三同构转换来提供相对应的一第二变换矩阵以及合并该第四同构转换与该仿射转换中的 线性部分来提供相对应的一第三变换矩阵。
15.根据权利要求14所述的方法,其中该不可约多项式为m(x)=χ2+λχ+ρ,以及系 数λ以及ρ是依据以下所述的数学式来选取
16.根据权利要求3所述的方法,其中该第二同构转换包含有由该合成域GF01广的该多项式基底转换至该特定有限域GFQk)的该多项式基底以及将该特定有限域GFQk)的该多项式基底转换至该特定有限域GFQk)的该正交基底。
17.根据权利要求3所述的方法,其中该第三同构转换包含有将该特定有限域GFQk)的该正交基底转换至该特定有限域GFQk)的该多项式基底;以及该特定有限域GFQk)的该多项式基底转换至该合成域GFO^m的该多项式基底。
18.根据权利要求1所述的方法,其中求得该输入数据于该特定有限域中的该乘法反 元素的步骤包含有执行一第一同构转换以将该输入数据由该特定有限域GFQk)的一多项式基底转换至 一合成域GF(2L)M的一多项式基底,其中K = L*M ;执行一第二同构转换以由该合成域GF(2L)M的该多项式基底转换至该特定有限域 GF (2K)的一正交基底;于该特定有限域GFQk)的该正交基底上执行一幂次运算以得到该输入数据的一预定 幂次;执行一第三同构转换以将该输入数据的该预定幂次由该特定有限域GFQk)的该正交 基底转换至该合成域GF O1)Μ的该多项式基底;计算该第一同构转换所产生的该输入数据与该第三同构转换所产生的该输入数据的 该预定幂次的一乘积;求出该乘积于一基本域GFQL)上的一乘法反元素;计算该第三同构转换所产生的该输入数据以及该乘积的该乘法反元素的乘积以求得 该输入数据于该基本域GFQL)上的一乘法反元素;以及执行一第四同构运算以将该基本域GF (2l)上的该乘法反元素由该合成域GF (2l) m的该 多项式基底转换至该特定有限域GFQk)的该多项式基底。
19.一种处理有限域运算的运算电路,包含有一乘法反运算单元,用以求得一输入数据 于一特定有限域中的一乘法反元素,其中该乘法反运算单元至少执行多次同构转换,且该 多次同构转换包含有基底转换。
20.根据权利要求19所述的运算电路,其中该乘法反运算单元所执行的该基底转换包 含有于一多项式基底与一正交基底之间进行转换。
全文摘要
本发明提供一种可用以处理有限域运算的方法,包含有提供一运算电路,该运算电路至少包含有一乘法反运算单元;以及使用该乘法反运算单元来通过至少执行多次同构转换以求得一输入数据于一特定有限域中的一乘法反元素,其中该多次同构转换包含有基底转换。
文档编号G06F7/72GK102043606SQ20091017405
公开日2011年5月4日 申请日期2009年10月20日 优先权日2009年10月20日
发明者叶宗立, 洪家裕 申请人:瑞昱半导体股份有限公司