兼容SM4和AES算法S盒的实现方法和电路模块技术

技术编号:30366968 阅读:26 留言:0更新日期:2021-10-16 17:37
本发明专利技术提供一种兼容SM4和AES算法S盒的实现方法和电路模块。该实现方法包括:设计获得用于SM4和AES算法共享的辅助S盒S

【技术实现步骤摘要】
兼容SM4和AES算法S盒的实现方法和电路模块


[0001]本专利技术涉及加密算法领域,尤其涉及一种兼容SM4和AES算法S盒的实现方法和电路模块。

技术介绍

[0002]在密码学界中,AES为比利时密码学家Joan Daemen和Vincent Rijmen所设计,作为高级加密标准,很快取代DES在全世界广泛使用。而SM4算法在2012年被我国国家商用密码管理局确定为国家密码行业标准,在我国密码行业中也占有重要的位置。因此两个主流的分组加密算法在现阶段被密码行业的大部分密码安全应用厂商同时需求和支持,而S盒作为分组加密的唯一非线性运算,很大程度上决定了算法的安全性,同时因为两种分组算法的S盒的表达式是完全不相同,AES的S盒表达式是为S
AES
(x)=B1·
x
‑1+b1,SM4的S盒表达式是为S
SM4
(x)=A2(A
·
x+b2)
‑1+b2,如何能将不同的S盒统一实现,避免重复逻辑,并且能达到更好的时序和性能要求,就成为密码安全芯片实现里面的重点和难点。...

【技术保护点】

【技术特征摘要】
1.一种兼容SM4和AES算法S盒的实现方法,其特征在于,包括如下步骤:设计获得用于SM4和AES算法共享的辅助S盒S
辅助
(x)=A1·
x
‑1+a1;将输入数据x分成两路:第一路输入数据x和第二路输入数据x,其中,第一路输入数据x先进行线性变换T
SM4
(x)=A
·
x+a,并随后将经线性变换的数据T
SM4
(x)进行辅助S盒运算S
SM4
(x)=S
辅助
(x)T
SM4
(x),从而获得SM4的S盒S
SM4
(x)=A1(A
·
x+a)
‑1+a1,第二路输入数据x直接进行辅助S盒运算S
AES辅助
(x)=A1·
x
‑1+a1,随后将经辅助S盒运算的数据S
AES辅助
(x)进行线性变换T
AES
(x)=Bx+b,从而获得AES的S盒S
AES
(x)=B
1 x
‑1+b1,其中,B1=BA1,b1=Ba1。2.根据权利要求1所述的方法,其特征在于,辅助S盒为256字节的查找表。3.根据权利要求2所述的方法,其特征在于,辅助S盒定义为如下的查找表:3.根据权利要求2所述的方法,其特征在于,辅助S盒定义为如下的查找表:
4.根据权利要求1所述的方法,其特征在于,线性变换T
SM4
(x)的矩阵A和常数矩阵a定义为:线性变换T
AES
(x)的矩阵B和常数矩阵b定义为:5.根据权利要求1所述的方法,其特征在于,根据需要来选择所述经线性变换的数据T
SM4
(x)或者第二路输入数据x来进行辅助S盒运算,并根据需要来选择S盒S
SM4
(x)=A1(A
·
x+a)
‑1+a1或者S盒S
AES
(x)=B
1 x
‑1+b1作为最终输出的S盒。6.根据权利要求5所述的方法,其特征在于,当需要获得...

【专利技术属性】
技术研发人员:朱敏
申请(专利权)人:无锡沐创集成电路设计有限公司
类型:发明
国别省市:

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

1