【技术实现步骤摘要】
用于对称密钥密码的统一硬件加速器
技术介绍
由国家标准与技术研究所(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是根据一些实施例的寄存 ...
【技术保护点】
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
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。