当前位置: 首页 > 专利查询>英特尔公司专利>正文

用于对称密钥密码的统一硬件加速器制造技术

技术编号:21898873 阅读:64 留言:0更新日期:2019-08-17 18:23
本申请公开了用于对称密钥密码的统一硬件加速器。描述了对高级加密标准(AES)硬件加速电路的修改以允许对诸如SM4和Camellia的任何非AES块密码的密钥操作的硬件加速。在一些实施例中,AES S‑box中的GF(2

Unified Hardware Accelerator for Symmetric Key Cryptography

【技术实现步骤摘要】
用于对称密钥密码的统一硬件加速器
技术介绍
由国家标准与技术研究所(NIST)建立的高级加密标准(AES)已经成为用于大部分应用的实际标准对称密钥加密密码。AES在许多平台上跨多个特征被广泛地支持。同时,其他对称密钥密码已经被引入,尤其是SM4和Camellia。SM4由中国信息安全标准化技术委员会标准化,而Camellia由日本的电子政务推荐密码列表标准化。这些和其他非AES密码也需要与由AES加速硬件执行的那些操作类似的操作,诸如仿射变换以及求逆,仿射变换各自具有其自身的不同的映射矩阵A和加法常数。附图说明图1图示根据一些实施例的AES硬件加速器。图2图示根据一些实施例的AES硬件加速器的S-box(替换盒)。图3图示根据一些实施例的用于非AES密码的非AESS-box。图4图示根据一些实施例的用于非AES密码的非AESS-box的操作。图5示出根据一个实施例的统一加速器的AFFINE(仿射)和AFFINEINV(逆仿射)逻辑的示例。图6示出AFFINE和AFFINEINV逻辑的矩阵乘法级的一个实施例。图7图示AFFINE和AFFINEINV仿射变换操作的一个实施例。图8图示用于执行非AES求逆操作的经修改的AESS-box的一个实施例。图9图示根据一些实施例的统一加速器的一个实施例。图10图示根据一些实施例的用于执行统一加速的方法。图11图示包含统一加速器的计算机系统的一个实施例。图12A-12B是图示根据一些实施例的通用向量友好指令格式及其指令模板的框图。图13A-13D是图示根据一些实施例的示例性专用向量友好指令格式的框图。图14是根据一些实施例的寄存器架构的框图。图15A是图示根据一些实施例的示例性有序流水线以及示例性寄存器重命名的乱序发布/执行流水线两者的框图。图15B是图示根据一些实施例的要包括在处理器中的有序架构核的示例性实施例和示例性的寄存器重命名的乱序发布/执行架构核两者的框图。图16A-16B图示更具体的示例性有序核架构的框图,该核将是芯片中的若干逻辑块之一(包括相同类型和/或不同类型的其他核);图17是根据一些实施例的可具有多于一个的核、可具有集成存储器控制器、并且可具有集成图形的处理器的框图。图18-21是示例计算机架构的框图。图22是根据一些实施例的对照使用软件指令转换器将源指令集中的二进制指令转换成目标指令集中的二进制指令的框图。具体实施方式用于实现非AES块密码的先前解决方案包括使用软件/微代码来实现它们或者为每个单独的块密码设计专用硬件加速器。然而,仿射和逆变换的此类软件/微代码实现方式通常不能满足期望的性能要求。同时,用于每个非AES块密码的专用硬件加速器在硅面积和泄漏功率方面增加产品成本,并且还引起对大量设计和验证努力的需要。在一个方面中,本公开提出了统一硬件加速器以允许硬件加速在对AES性能的最小影响下用于AES和非AES密码两者。本文描述的是用于紧缩仿射变换的硬件加速器。仿射变换是诸如AES、SM4和Camellia的块密码中的关键操作。本公开提出对输入数据或输入数据的逆执行并行的仿射变换的紧凑的数据路径。在一个实施例中,通过AESS-box路由数据并且重新使用此处存在的性能关键的逆电路来计算仿射逆变换。诸如AES、SM4和Camellia的对称密钥密码在执行它们的算术操作中全部利用有限域(也称为伽罗瓦域,缩写为GF)。有限域基本上是在其中可以执行加法、减法、乘法和除法而不离开该集合的集合。有限域的一个示例是具有素数m个元素的集合,诸如GF(m),其中域的元素由整数0,1,...,m-1表示,并且其中GF(m)中的加法和乘法被执行模m。最小素数有限域是GF(2),其中该域的元素是0和1,其中乘法相当于逻辑AND(与)操作,并且其中加法相当于逻辑XOR(异或)操作。还可以定义具有2n个元素的被指定为GF(2n)的扩展伽罗瓦域。在GF(2n)中,域的元素不被表示为整数,而被表示为具有GF(2)中的系数的最大n-1阶的多项式。受计算机存储器的基于字节的性质启发,对GF(28)中的8位字节执行AES、SM4和Camellia中的操作,其中每个8位的字节对应于128个可能的7阶多项式中的一个的系数。在GF(2)中执行GF(28)中的加法和减法操作,并且GF(28)中的加法和减法操作是相当于对要被相加或相减的字节进行按位XOR的等效操作。GF(28)中的乘法和除法被定义为针对所指定的8阶不可约生成器(或域)多项式执行的模操作,该8阶不可约生成器(或域)多项式从GF(2)生成特定的GF(28)域。例如,用于AES的域多项式是AE(x)=(x8+x4+x3+x+1),用于产生可以被指定为GFAES(28)的特定伽罗瓦域。出于效率的原因,可以在被标注为GFC(24)2的复合伽罗瓦域中执行诸如求逆的一些计算,该被标注为GFC(24)2的复合伽罗瓦域由所指定的2阶域多项式P(x)从基域GF(24)生成,该基域GF(24)由所指定的4阶域多项式R(x)从GF(2)生成。域GFAES(28)和GFC(24)2是线性同构的,使得从一个到另一个的转换可以由矩阵乘法实现。在加密或解密期间,AES密码对连续的16字节的数据块进行操作,其中每个这种块有时被称为状态矩阵。为了将明文输入数据加密为密文,执行多轮,其中每轮包括:在字节级别上置换数据的移位行操作、在GF(28)中执行逆仿射变换的字节替换层、也利用GF(28)中的算术的混合列操作(除了最后一轮)、以及其中数据与输入密钥进行按位XOR的加轮密钥(addroundkey)操作。AES解密与加密类似,并且涉及将用于加密的操作反转。图1图示根据一个实施例的统一硬件加速器的AES部分,其实现用于如上文讨论的加密或解密的AES算法的多个级。加速器被示出为一次对128位状态矩阵输入的一个4字节列进行操作。移位行操作由移位行电路101应用,其中结果存储在寄存器102中。然后,S-box电路103对每个字节执行字节替换函数,其中结果存储在寄存器105中。复用器106允许通过选择寄存器105的输出或寄存器104的输出来旁路S-box103,寄存器102的输出时钟计入(clockin)寄存器104的输出。应用于复用器106的InvMixCol输入通过旁路S-box103来选择寄存器102的输出以供进一步处理。在其中执行逆混合列函数的解密过程期间进行对S-box103的这种旁路。混合列操作由MixColumn(混合列)电路107执行。在最后一轮AES加密期间不执行混合列操作,并且因此混合列操作在该轮期间通过至复用器108的最后一轮输入被旁路。加轮密钥电路109执行加轮密钥操作,其中结果存储在寄存器110中。图2更详细地图示图1中描绘的AES硬件加速器的S-box103。在GF(24)2复合域中执行AES求逆操作,该GF(24)2复合域由所指定的2阶域多项式P(x)从基域GF(24)生成,该基域GF(24)由所指定的4阶域多项式R(x)从GF(2)生成。多项式P(x)和R(x)专用于AES求逆,并且产生特定的GF(24)2复合域,其可以被称为GFC(24)2。电路201将输入字节从GF(28)映射到复合域GF(24)2,而电路202将输入字节从GF(本文档来自技高网...

【技术保护点】
1.一种用于密码硬件加速器的装置,包括:用于高级加密标准AES加密密码的AES替换盒S‑box,其中所述AES S‑box用于对输入向量执行求逆,随后对输入向量执行AES仿射变换,其中所述AES仿射变换使用由所述AES指定的映射矩阵和转换向量;用于非AES密码的非AES仿射变换电路,用于使用可变的映射函数和转换函数对8位的输入向量执行仿射变换;以及用于为非AES密码执行S‑box功能的电路,包括用于进行以下操作的电路:将8位的输入向量传递至具有包括乘以矩阵AS1的乘法的映射函数和包括加上向量bS1的加法的转换函数的非AES仿射变换电路;将所述仿射变换的结果传递至所述AES S‑box并且旁路所述AES仿射变换以便仅执行求逆;以及将所述S‑box求逆的结果传递至具有包括乘以矩阵AS2的乘法的映射函数和包括加上向量bS2的加法的转换函数的非AES仿射变换电路。

【技术特征摘要】
2018.02.02 US 15/887,2901.一种用于密码硬件加速器的装置,包括:用于高级加密标准AES加密密码的AES替换盒S-box,其中所述AESS-box用于对输入向量执行求逆,随后对输入向量执行AES仿射变换,其中所述AES仿射变换使用由所述AES指定的映射矩阵和转换向量;用于非AES密码的非AES仿射变换电路,用于使用可变的映射函数和转换函数对8位的输入向量执行仿射变换;以及用于为非AES密码执行S-box功能的电路,包括用于进行以下操作的电路:将8位的输入向量传递至具有包括乘以矩阵AS1的乘法的映射函数和包括加上向量bS1的加法的转换函数的非AES仿射变换电路;将所述仿射变换的结果传递至所述AESS-box并且旁路所述AES仿射变换以便仅执行求逆;以及将所述S-box求逆的结果传递至具有包括乘以矩阵AS2的乘法的映射函数和包括加上向量bS2的加法的转换函数的非AES仿射变换电路。2.如权利要求1所述的装置,其特征在于:用于所述非AES密码的仿射变换被定义为在被标注为GFS(28)的伽罗瓦扩展域中执行,所述被标注为GFS(28)的伽罗瓦扩展域由所指定的8阶域多项式S(x)从GF(2)生成;所述AESS-box用于在被标注为GFC((24)2)的复合伽罗瓦域中执行所述求逆操作,所述被标注为GFC((24)2)的复合伽罗瓦域由所指定的2阶域多项式P(x)从基域GFC(24)生成,所述基域GFC(24)由所指定的4阶域多项式R(x)从GF(2)生成;并且所述非AES仿射变换电路的映射函数包括在所述S-box的求逆之前将向量从GFS(28)映射到GFC((24)2)的乘以矩阵MS的乘法,并且包括在所述S-box的求逆之后将向量从GFC((24)2)映射到GFS(28)的乘以矩阵MS-1的乘法。3.如权利要求2所述的装置,其特征在于:用于所述AES密码的仿射变换被定义为在被标注为GFAE(28)的伽罗瓦扩展域中执行,其中GFAE(28)域由所指定的8阶域多项式AE(x)从迦罗瓦域GF(2)生成,其中AE(x)=(x8+x4+x3+x+1);所述S-box进一步用于:在求逆之前,通过GF(2)中的乘法利用矩阵MA将向量从所述GFAE(28)域映射到所述GFC((24)2)域,并且在求逆之后,利用矩阵MA-1将经求逆的向量从GFC((24)2)往回映射到GFAE(28);并且所述非AES仿射变换电路的映射函数包括在所述S-box的求逆之前乘以矩阵MA-1的乘法并且包括在所述S-box的求逆之后乘以矩阵MA的乘法。4.如权利要求3所述的装置,其特征在于,进一步包括:移位行电路、混合列电路和密钥加电路,用于根据所述AES密码执行加密/解密;并且其中用于为所述非AES密码电路执行S-box功能的电路包括用于旁路所述移位行电路、所述混合列电路和所述密钥加电路的电路。5.如权利要求3所述的装置,其特征在于,进一步包括:通过所述AESS-box的AES加密路径,包括:将输入向量与矩阵MA相乘的第一加密操作,对结果求逆的第二加密操作,以及执行所述AES仿射变换、随后乘以矩阵MA-1的第三加密操作;通过所述S-box的AES解密路径,包括:将输入向量与矩阵MA相乘、随后是AES逆仿射变换的第一解密操作,对结果求逆的第二解密操作,以及执行乘以矩阵MA-1的第三解密操作;其中用于为所述非AES密码执行S-box功能的电路为了旁路所述AESS-box的AES变换和AES逆变换而包括包含以下操作的通过所述S-box的路径:所述第一加密操作、所述第二加密或解密操作、以及所述第三解密操作。6.如权利要求3所述的装置,其特征在于:在所述S-box的求逆之前,所述非AES仿射变换电路的映射函数包括乘以矩阵乘积MSMA-1AS1的乘法,并且所述非AES仿射变换电路的转换函数包括加上向量乘积MSMA-1*b1的加法;并且在所述S-box的求逆之后,所述非AES仿射变换电路的映射函数包括乘以矩阵乘积MAMS-1AS2的乘法,并且所述非AES仿射变换电路的转换函数包括加上向量b2的加法。7.如权利要求2所述的装置,其特征在于,所述非AES加密密码是SM4,其中所述域多项式S(x)为:S(x)=(x8+x7+x6+x5+x4+x2+1)。8.如权利要求2所述的装置,其特征在于,所述非AES加密密码是Camellia,其中所述域多项式S(x)为:S(x)=(x8+x6+x5+x3+1)。9.如权利要求1所述的装置,其特征在于,所述装置被包含在能够由中央处理单元CPU的指令集访问的所述CPU中。10.如权利要求1所述的装置,其特征在于,所述装置被包含在对接到中央处理单元CPU的协处理器或其他设备中。11.一种用于执行非高级加密标准AES密码操作的方法,包括:对非AES密码输入向量执行第一非AES仿射变换,其中所述第一非AES仿射变换是包括乘以矩阵AS1的乘法的映射和包括加上向量bS1的加法的转换;将所述第一非AES仿射变换之后的输入向量传递至用于AES加密密码的AES替换盒S-box,其中所述AESS-box对输入向量执行求逆、随后对输入向量执行AES仿射变换,其中所述AES仿射变换使用由所述AES指定的映射矩阵和转换向量;旁路所述AESS-box的所述AES仿射变换;以及对所述AESS-box的求逆之后的输入向量执行第二非AES仿射变换,其中所述第二非AES仿射变换是包括乘以矩阵AS2的乘法的映射和包括加上向量bS2的加法的转换。12.如权利要求11所述的方法,其特征在于:用于所述非AES密码的非AES仿射变换被定义为在被标注为GFS(28)的伽罗瓦扩展域中执行,所述被标注为GFS(28)的伽罗瓦扩展域由所指定的8阶域多项式S(x)从GF(2)生成;所述AESS-box在被标注为GFC((24)2)的复合伽罗瓦域中执行所述求逆操作,所述被标注为GFC((24)2)的复合伽罗瓦域由所指定的2阶域多项式P(x)从基域GF(24)生成,所述基域GF(24)由所指定的4阶域多项式R(x)从GF(2)生成;所述第一非AES仿射变换是包括将向量从GFS(28)映射到GFC((24)2)的乘以矩阵MS的乘法的映射;并且所述第二非...

【专利技术属性】
技术研发人员:V·B·苏瑞史S·K·马修S·K·萨特帕西V·戈帕尔
申请(专利权)人:英特尔公司
类型:发明
国别省市:美国,US

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

1