可重构S盒电路结构制造技术

技术编号:17629623 阅读:45 留言:0更新日期:2018-04-05 02:52
本实用新型专利技术提供的可重构S盒电路结构,包括:合成矩阵乘法单元1、合成矩阵乘法单元2、常数加单元1、常数加单元2、常数加单元3、常数加单元4、常数加单元5、常数加单元6、复合域乘法逆单元、选择器1、选择器2、字节数据输入端口、字节数据输出端口和控制信号输入端口,所述选择器1和所述选择器2均为四选一选择器。本实用新型专利技术提供的可重构S盒电路结构,通过复用复合域乘法逆单元方式,实现AES加密S盒、AES解密S盒、SM4S盒运算和Camellia S盒运算的可重构功能,大大减少了电路面积,同时合成矩阵结构有利于电路优化效率的提高,从而进一步减少电路面积。

【技术实现步骤摘要】
可重构S盒电路结构
本技术涉及密码电路
,尤其涉及一种可重构S盒电路结构。
技术介绍
1.AES密码算法、SM4密码算法和Camellia密码算法AES(AdvancedEncryptionStandard,高级加密标准)是由美国国家标准与技术研究院2001年制定的新一代分组对称密码算法,用于取代原来的DES(DataEncryptionStandard,数据加密标准)。AES密码算法的数据分组长度为128比特,密钥长度有128,192和256比特三种。AES密码算法被多个国际标准组织所采用,是目前使用最广泛的分组密码算法。SM4加密算法是由我国国家商用密码管理办公室于2006年1月公布的第一个商用分组密码算法,其分组长度和密钥长度均为128比特。Camellia算法是由日本电报电话公司和三菱公司于2000年共同设计,Camellia算法的数据分组长度也是128比特,密钥长度为128比特、192比特和256比特三种。Camellia已被许多组织选为标准算法,包括欧洲的NESSIE标准、日本的CRYPTREC标准、以及国际标准化组织与国际电工委员会制定的ISO/IEC18033-3标准。分组密码标准的多样性为密码系统实现带来巨大挑战,为了满足不同地区和不同行业的应用需求,往往需要将不同的算法集成到一个硬件平台中。2.AESS盒运算、SM4S盒运算和CamelliaS盒运算在AES密码算法、SM4密码算法和Camellia密码算法中,字节替换运算(通常称为S盒运算)是唯一的非线性运算,运算复杂度最高。因此在AES密码算法、SM4密码算法电路和Camellia密码算法电路,S盒运算电路是最主要的运算部件,在这三个密码算法电路中分别占据了大部分逻辑资源。2.1AESS盒运算在AES密码算法中,加密过程和解密过程采用不同的S盒运算,在加密S盒运算中,输入字节首先进行一个有限域GF(28)域上乘法逆运算,然后进行一个仿射运算,其表达式为:其中x为输入字节,()A–1为有限域GF(28)域上的乘法逆运算,MA为8×8bit常数矩阵,cA为8bit常数向量,MA和cA用于完成加密S盒中的仿射运算。AES密码算法中所指定的GF(28)域的不可约多项式为f(x)=x8+x4+x3+x+1常数矩阵MA和常数向量cA分别为:解密S盒运算是加密S盒运算的逆运算,其表达式为:其中M'A为MA矩阵的逆矩阵,M'A和cA用于完成解密S盒中的仿射运算,其它运算与公式(1)运算相同。2.2SM4S盒运算在SM4密码算法中,加密过程和解密过程采用同一个S盒运算。SM4S盒首先对输入字节进行一个仿射运算,然后再进行一个GF(28)域乘法逆运算,最后再次进行仿射运算,其表示式为其中()S-1为SM4密码算法指定的GF(28)域上的乘法逆运算,MS为8×8bit常数矩阵,cS为8bit常数向量,MS和cS用于完成仿射运算。SM4密码算法中所指定的GF(28)域的不可约多项式为f(x)=x8+x7+x6+x5+x4+x2+1常数矩阵MS和常数向量cS分别为:2.3CamelliaS盒运算Camellia密码算法加密过程采用了4个不同的S盒运算,分别为:其中x为输入字节,()C-1为有限域GF((24)2)上的乘法逆运算,MCf和MCh为8×8bit常数矩阵,cCf和cCh为8bit常数向量,MCf和cCf用于完成仿射运算f,MCh和cCh用于完成仿射运算h,<<<1为循环左移一位运算,>>>1为循环右移一位运算。由公式(4)可知,S盒SC1的输出循环左移一位构成了S盒SC2,S盒SC1的输出循环右移一位构成了S盒SC3,S盒SC1的输入循环左移一位构成了S盒SC4。由于在硬件电路实现中,循环左移和循环右移不需要任何电路逻辑,只需要将总线顺序进行调换,因此,在硬件实现时,只需要实现SC1电路即可。S盒SC1首先对输入字节进行一个仿射运算(仿射运算f),然后再进行一个GF((24)2)域乘法逆运算,最后再进行一个仿射运算(仿射运算h)。Camellia密码算法中所指定的GF((24)2)域的不可约多项式为其中ω={1001}2,常数矩阵MCf和常数矩阵MCh分别为:常数向量cCf和常数向量cCh分别为:Camellia密码算法的解密运算采用与加密运算相同的4个S盒运算。3.AESS盒运算、SM4S盒运算和CamelliaS盒运算的同构映射3.1AES加密S盒的复合域映射基于复合域的AES加密S盒运算表达式为:其中()M-1为目标复合域上的乘法逆运算,所述的目标复合域为任意与GF(28)域同构的复合域,DA为8×8bit映射矩阵,其作用是将输入字节x从GF(28)域映射到目标复合域上,D'A为DA逆矩阵,其作用是将运算结果从目标复合域映射回到AES密码算法所指定的GF(28)域。在公式(5)中,MA和D'A都为8×8bit矩阵,因此可以合并成一个8×8bit矩阵,合并之后的AES加密S盒运算表达式为:其中常数矩阵QA为MA和D'A合并矩阵,即QA=MA×D'A,常数矩阵QA也为8×8bit常数矩阵。3.2AES解密S盒的复合域映射基于复合域的SM4S盒运算表达式为:上式中的相关运算与公式(5)相同。同样,映射矩阵DA和常数矩阵M'A可以合并成一个矩阵,合并之后的AES解密S盒运算表达式为:其中常数矩阵Q'A=DA×M'A,常数向量dA=Q'A×cA。3.3SM4S盒的复合域映射基于复合域的SM4S盒运算表达式为:其中()M-1为目标复合域上的乘法逆运算,所述的目标复合域为任意与GF(28)域同构的复合域,DS为8×8bit映射矩阵,其作用是将输入字节x从SM4指定的GF(28)域映射到目标复合域上,D'A为DA逆矩阵,其作用是将运算结果从目标复合域映射回到SM4指定的GF(28)域。在公式(9)中,MS和D'S都为8×8bit矩阵,因此可以合并成一个8×8bit矩阵。同样,DS和MS也可以合并成一个8×8bit矩阵,合并之后的SM4S盒运算表达式为:其中常数矩阵QS=MS×D'S,常数矩阵RS=DS×MS,常数向量dS=DS×cS。3.4CamelliaS盒的同构映射为了与SM4S盒复用有限域乘法逆运算单元,CamelliaS盒的有限域乘法逆()C-1也需要映射到目标复合域上。映射之后的CamelliaS盒运算表达式为:其中()M-1为目标复合域上的乘法逆运算,DC为映射矩阵,D'C为逆映射矩阵。同样,将公式(11)中的相关矩阵进行合并,合并之后的CamelliaS盒运算表达式为:其中常数矩阵QCh=MCh×D'C,常数矩阵QCf=DC×MCf,常数向量dCf=DC×cCf。由于现有技术中,在一个电子装置中同时集成AES密码算法、SM4密码算法与Camellia密码算法,AES加密S盒运算、AES解密S盒运算、SM4S盒运算和CamelliaS盒运算分别是通过不同的电路实现,造成整体的密码算法的电路面积较大,从而使得应用该加密方法的硬件体积较大,不符合人们对于电子装置轻、薄、短、小的要求。
技术实现思路
本技术提供了一种可重构S盒电路结构,用以在同一个电子装置中同时集成本文档来自技高网
...
可重构S盒电路结构

【技术保护点】
一种可重构S盒电路结构,其特征在于,包括:合成矩阵乘法单元1、合成矩阵乘法单元2、常数加单元1、常数加单元2、常数加单元3、常数加单元4、常数加单元5、常数加单元6、复合域乘法逆单元、选择器1、选择器2、字节数据输入端口、字节数据输出端口和控制信号输入端口,所述选择器1和所述选择器2均为四选一选择器;所述合成矩阵乘法单元1的输入端口与字节数据输入端口相连接;合成矩阵乘法单元1的输出端PA、输出端PV、输出端PS、输出端PC分别与选择器1的输入端、常数加单元1的输入端、常数加单元2的输入端、常数加单元3的输入端一一对应连接;所述常数加单元1的输出端、常数加单元2的输出端、常数加单元3的输出端均与选择器1的输入端相连接;所述选择器1的输出端与所述复合域乘法逆单元的输入端相连接;所述复合域乘法逆单元的输出端与合成矩阵乘法单元2的输入端相连接;所述合成矩阵乘法单元2的输出端PA、输出端PV、输出端PS、输出端PC分别与常数加单元4的输入端、选择器2的输入端、常数加单元5的输入端、常数加单元6的输入端一一对应连接;所述常数加单元4的输出端、常数加单元5的输出端、常数加单元6的输出端均与选择器2的输入端相连接;所述选择器2的输出端与字节数据输出端口相连接;所述选择器1和选择器2的选择端均与控制信号输入端口相连接;所述可重构S盒电路结构有四个工作模式:AES加密S盒工作模式、AES解密S盒工作模式、SM4 S盒工作模式和Camellia S盒工作模式;在选择信号的控制下,选择器1和选择器2分别选择不同的信号通道,从而实现可重构S盒不同的工作模式:在AES加密S盒工作模式下,选择器1输出合成矩阵乘法单元1的输出端PA上的运算结果,选择器2输出常数加单元4的运算结果;在AES解密S盒工作模式下,选择器1输出常数加单元1的运算结果,选择器2输出合成矩阵乘法单元2的输出端PV上的运算结果;在SM4 S盒工作模式下,选择器1输出常数加单元2的运算结果,选择器2输出常数加单元5的运算结果;在Camellia S盒工作模式下,选择器1输出常数加单元3的运算结果,选择器2输出常数加单元6的运算结果;所述的选择信号由控制信号输入端口输入。...

【技术特征摘要】
1.一种可重构S盒电路结构,其特征在于,包括:合成矩阵乘法单元1、合成矩阵乘法单元2、常数加单元1、常数加单元2、常数加单元3、常数加单元4、常数加单元5、常数加单元6、复合域乘法逆单元、选择器1、选择器2、字节数据输入端口、字节数据输出端口和控制信号输入端口,所述选择器1和所述选择器2均为四选一选择器;所述合成矩阵乘法单元1的输入端口与字节数据输入端口相连接;合成矩阵乘法单元1的输出端PA、输出端PV、输出端PS、输出端PC分别与选择器1的输入端、常数加单元1的输入端、常数加单元2的输入端、常数加单元3的输入端一一对应连接;所述常数加单元1的输出端、常数加单元2的输出端、常数加单元3的输出端均与选择器1的输入端相连接;所述选择器1的输出端与所述复合域乘法逆单元的输入端相连接;所述复合域乘法逆单元的输出端与合成矩阵乘法单元2的输入端相连接;所述合成矩阵乘法单元2的输出端PA、输出端PV、输出端PS、输出端PC分别与常数加单元4的输入端、选择器2的输入端、常数加单元5的输入端、常数加单元6的输入端一一对应连接;所述常数加单元4的输出端、常数加单元5的输出端、常数加单元6的输出端均与选择器2的输入端相连接;所述选择器2的输出端与字节数据输出端口相连接;所述选择器1和选择器2的选择端均与控制信号输入端口相连接;所述可重构S盒电路结构有四个工作模式:AES加密S盒工作模式、AES解密S盒工作模式、SM4S盒工作模式和CamelliaS盒工作模式;在选择信号的控制下,选择器1和选择器2分别选择不同的信号通道,从而实现可重构S盒不同的工作模式:在AES加密S盒工作模式下,选择器1输出合成矩阵乘法单元1的输出端PA上的运算结果,选择器2输出常数加单元4的运算结果;在AES解密S盒工作模式下,选择器1输出常数加单元1的运算结果,选择器2输出合成矩阵乘法单元2的输出端PV上的运算结果;在SM4S盒工作模式下,选择器1输出常数加单元2的运算结果,选择器2输出常数加单元5的运算结果;在CamelliaS盒工作模式下,选择器1输出常数加单元3的运算结果,选择器2输出常数加单元6的运算结果;所述的选择信号由控制信号输入端口输入。2.根据权利要求1所述的可重构S盒电路结构,其特征在于,所述的合成矩阵乘法单元1实现合成矩阵乘法运算Φ×;所述的合成矩阵Φ由AES加密S盒中的常数矩阵DA、AES解密S盒中的常数矩阵Q'A、SM4S盒中的常数矩阵RS和CamelliaS盒中的常数矩阵QCf组合而成;合成矩阵乘法单元1的输出端PA、输出端PV、输出端PS、输出端PC一一对应输出常数矩阵乘法DA×的运算结果、常数矩阵乘法Q'A×的运算结果、常数矩阵乘法RS×的运算结果、常数矩阵乘法QCf×的运算结果;所述的合成矩阵乘法单元2实现合成矩阵乘法运算Ψ×;所述的合成矩阵Ψ由AES加密S盒中的常数矩阵QA、AES解密S盒中的常数矩阵D'A、SM4S盒中的常数矩阵QS和CamelliaS盒中的常数矩阵QC...

【专利技术属性】
技术研发人员:郑辛星张肖强邢博昱王倩
申请(专利权)人:芜湖职业技术学院
类型:新型
国别省市:安徽,34

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

1