CN207010694U - 应用于AES与Camellia密码算法的可重构S盒电路结构 - Google Patents

应用于AES与Camellia密码算法的可重构S盒电路结构 Download PDF

Info

Publication number
CN207010694U
CN207010694U CN201720500159.9U CN201720500159U CN207010694U CN 207010694 U CN207010694 U CN 207010694U CN 201720500159 U CN201720500159 U CN 201720500159U CN 207010694 U CN207010694 U CN 207010694U
Authority
CN
China
Prior art keywords
constant
unit
selector
aes
matrices
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
CN201720500159.9U
Other languages
English (en)
Inventor
郑辛星
张肖强
邢博昱
王倩
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Wuhu Institute of Technology
Original Assignee
Wuhu Institute of Technology
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Wuhu Institute of Technology filed Critical Wuhu Institute of Technology
Priority to CN201720500159.9U priority Critical patent/CN207010694U/zh
Application granted granted Critical
Publication of CN207010694U publication Critical patent/CN207010694U/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Storage Device Security (AREA)

Abstract

本实用新型提供的应用于AES与Camellia密码算法的可重构S盒电路结构,包括:合成矩阵乘法单元1、合成矩阵乘法单元2、常数加单元1、常数加单元2、常数加单元3、常数加单元4、复合域乘法逆单元、选择器1、选择器2、字节数据输入端口、字节数据输出端口和控制信号输入端口,所述选择器1和所述选择器2均为三选一选择器。本实用新型通过复用复合域乘法逆单元方式,实现AES加密S盒运算、AES解密S盒运算和Camellia S盒运算的可重构功能。复合域乘法逆的复用可以大大减少了电路面积,同时合成矩阵结构有利于电路优化效率的提高,从而进一步减少电路面积。

Description

应用于AES与Camellia密码算法的可重构S盒电路结构
技术领域
本实用新型涉及密码电路技术领域,尤其涉及一种应用于AES与Camellia密码算法的可重构S盒电路结构。
背景技术
1.AES密码算法和Camellia密码算法
AES(Advanced Encryption Standard,高级加密标准)是由美国国家标准与技术研究院2001年制定的新一代分组对称密码算法,用于取代原来的DES(Data EncryptionStandard,数据加密标准)。AES密码算法的数据分组长度为128比特,密钥长度有128,192和256比特三种。AES密码算法被多个国际标准组织所采用,是目前使用最广泛的分组密码算法。
Camellia算法是由日本电报电话公司和三菱公司于2000年共同设计,Camellia算法的数据分组长度也是128比特,密钥长度为128比特、192比特和256比特三种。Camellia已被许多组织选为标准算法,包括欧洲的NESSIE标准、日本的CRYPTREC标准、以及国际标准化组织与国际电工委员会制定的ISO/IEC 18033-3标准。
密码算法可以通过硬件实现,也可以通过软件实现。软件加密技术具有灵活性高、可扩展性强和可移植性好等优点,但是加密速度较低,并且由于软件运行环境的开放性,密码算法和加密信息容易被篡改和窃取。与软件加密技术相比,硬件加密技术具有更高的物理安全性和加密速度,具有更广阔的应用前景。分组密码标准的多样性为密码系统实现带来巨大挑战,为了满足不同地区和不同行业的应用需求,往往需要将不同的算法集成到一个硬件平台中。因此将Camellia密码算法和AES密码算法集成到一个硬件平台中,可以满足不同应用场合的加密需求。
2.AES S盒运算和Camellia S盒运算
在AES密码算法和Camellia密码算法中,字节替换运算(通常称为S盒运算)是唯一的非线性运算,运算复杂度最高。因此在AES密码算法电路和Camellia密码算法电路中,S盒运算电路均是最主要的运算部件,且分别在这两个密码算法电路中分别占据了大部分逻辑资源。
2.1 AES S盒运算
AES密码算法的S盒和Camellia密码算法的S盒都是字节运算单元,即输入和输出都是一个字节。在AES密码算法中,加密过程和解密过程采用不同的S盒运算,在加密S盒运算中,输入字节首先进行一个有限域GF(28)域上乘法逆运算,然后进行一个仿射运算,其表达式为:
其中x为输入字节,(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.2 Camellia S盒运算
Camellia密码算法加密过程采用了4个不同的S盒运算,分别为:
其中x为输入字节,(Mcf×(x+ccf))C –1为有限域GF((24)2)上的乘法逆运算,MCf和MCh为8×8bit常数矩阵,cCf和cCh为8bit常数向量,MCf和cCf用于完成仿射运算f,MCh和cCh用于完成仿射运算h,<<<1为循环左移一位运算,>>>1为循环右移一位运算。
由公式(3)可知,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.AES S盒运算和Camellia S盒运算的同构映射
3.1 AES加密S盒的复合域映射
基于复合域的AES加密S盒运算表达式为:
其中(DA×x)M –1为目标复合域上的乘法逆运算,所述的目标复合域为任意与GF(28)域同构的复合域,DA为8×8bit映射矩阵,其作用是将输入字节x从AES指定的GF(28)域上映射到目标复合域上,D'A为DA逆矩阵,其作用是将运算结果从目标复合域映射回到AES密码算法所指定的GF(28)域。在公式(4)中,MA和D'A都为8×8bit矩阵,因此可以合并成一个8×8bit矩阵,合并之后的AES加密S盒运算表达式为:
其中常数矩阵QA为MA和D'A合并矩阵,即QA=MA×D'A,常数矩阵QA也为8×8bit常数矩阵。
3.2 AES解密S盒的复合域映射
基于复合域的AES解密S盒运算表达式为:
上式中的相关运算与公式(4)相同。同样,映射矩阵DA和常数矩阵M'A可以合并成一个矩阵,合并之后的AES解密S盒运算表达式为:
其中常数矩阵Q'A=DA×M'A,常数向量dA=Q'A×cA
3.3 Camellia S盒的同构映射
为了与AES S盒复用有限域乘法逆运算单元,Camellia S盒的有限域乘法逆(Mcf×(x+ccf))C –1也需要映射到目标复合域上。映射之后的Camellia S盒运算表达式为:
其中(Dc×(Mcf×x+ccf))M –1为目标复合域上的乘法逆运算,DC为8×8bit映射矩阵,其作用是将输入字节x从Camellia指定的GF((24)2)域映射到目标复合域上,D'C为逆映射矩阵,其作用是将运算结果从目标复合域映射回Camellia指定的GF((24)2)域上。同样,将公式(8)中的相关矩阵进行合并,合并之后的Camellia S盒运算表达式为:
其中常数矩阵QCh=MCh×D'C,常数矩阵QCf=DC×MCf,常数向量dCf=DC×cCf
由于现有技术中,AES密码算法中的S盒运算与Camellia密码算法中的S盒运算分别是通过两个不同的电路实现,造成整体的密码算法的电路面积较大,从而使得应用该加密方法的装置体积较大,不符合人们对于电子装置轻、薄、短、小的要求。
实用新型内容
本实用新型提供一种应用于AES与Camellia密码算法的可重构S盒电路结构,用以减少密码算法实现的电路面积。
为了解决上述问题,本实用新型提供了一种应用于AES与Camellia密码算法的可重构S盒电路结构,其特征在于,包括:合成矩阵乘法单元1、合成矩阵乘法单元2、常数加单元1、常数加单元2、常数加单元3、常数加单元4、复合域乘法逆单元、选择器1、选择器2、字节数据输入端口、字节数据输出端口和控制信号输入端口,所述选择器1和所述选择器2均为三选一选择器;
所述合成矩阵乘法单元1的输入端口与字节数据输入端口相连接;合成矩阵乘法单元1的输出端PA、输出端PV、输出端PC分别与选择器1输入端、常数加单元1的输入端、常数加单元2的输入端一一对应连接;所述常数加单元1的输出端和常数加单元2的输出端均与选择器1的输入端连接;所述选择器1的输出端与复合域乘法逆单元的输入端相连接;所述复合域乘法逆单元的输出端与合成矩阵乘法单元2的输入端相连接;所述合成矩阵乘法单元2的输出端PA、输出端PV、输出端PC分别与常数加单元3的输入端、选择器2的输入端、常数加单元4的输入端一一对应连接;所述常数加单元3的输出端和常数加单元4的输出端均与选择器2的输入端连接;所述选择器2的输出端与字节数据输出端口相连接;所述选择器1和选择器2的选择端均与控制信号输入端口相连接;
所述应用于AES与Camellia密码算法的可重构S盒电路结构有三个工作模式:AES加密S盒工作模式、AES解密S盒工作模式和Camellia S盒工作模式;在选择信号的控制下,选择器1和选择器2分别选择不同的信号通道,从而实现不同的工作模式;在AES加密S盒工作模式下,选择器1输出合成矩阵乘法单元1的输出端PA上的运算结果,选择器2输出常数加单元3的运算结果;在AES解密S盒工作模式下,选择器1输出常数加单元1的运算结果,选择器2输出合成矩阵乘法单元2的输出端PV上的运算结果;在Camellia S盒工作模式下,选择器1输出常数加单元2的运算结果,选择器2输出常数加单元4的运算结果;所述的选择信号由控制信号输入端口输入。
优选的,所述合成矩阵乘法单元1实现合成矩阵乘法运算Φ×;所述合成矩阵Φ由AES加密S盒中的常数矩阵DA、AES解密S盒中的常数矩阵Q'A、Camellia S盒中的常数矩阵QCf组合而成;合成矩阵乘法单元1的输出端PA、输出端PV、输出端PC一一对应输出常数矩阵乘法DA×的运算结果、常数矩阵乘法Q'A×的运算结果和常数矩阵乘法QCf×的运算结果;
所述合成矩阵乘法单元2实现合成矩阵乘法运算Ψ×;所述合成矩阵Ψ由AES加密S盒中的常数矩阵QA、AES解密S盒中的常数矩阵D'A、Camellia S盒中的常数矩阵QCh组合而成;合成矩阵乘法单元2的输出端PA、输出端PV、输出端PC一一对应输出常数矩阵乘法QA×的运算结果、常数矩阵乘法D'A×的运算结果和常数矩阵乘法QCh×的运算结果;
所述常数加单元1实现AES解密S盒中的加常数dA运算;
所述常数加单元2实现Camellia S盒中的加常数dCf运算;
所述常数加单元3实现AES加密S盒中的加常数cA运算;
所述常数加单元4实现Camellia S盒中的加常数cCh运算;
所述复合域乘法逆单元实现输入字节在复合域上乘法逆运算。
优选的,所述的常数dA为常数矩阵Q'A与常数cA的乘积;
所述常数dCf为常数矩阵DC与常数cCf的乘积;
所述常数cA为AES密码算法中指定的仿射运算中的常数向量;
所述常数cCf为Camellia密码算法中指定的仿射运算f中的常数向量;
所述常数cCh为Camellia密码算法中指定的仿射运算h中的常数向量;
所述常数矩阵Q'A为常数矩阵DA与常数矩阵M'A的乘积;
所述常数矩阵QCf为常数矩阵DC与常数矩阵MCf的乘积;
所述常数矩阵QA为常数矩阵MA与常数矩阵D'A的乘积;
所述常数矩阵QCh为常数矩阵MCh与常数矩阵D'C的乘积;
所述常数矩阵DA为映射矩阵,其作用是将AES密码算法中指定的GF(28)域上的元素映射到目标复合域上;
所述常数矩阵D'A为映射矩阵,其作用是将目标复合域上的元素映射到AES密码算法中指定的GF(28)域上;
所述常数矩阵DC为映射矩阵,其作用是将Camellia密码算法中指定的GF((24)2)域上的元素映射到目标复合域上;
所述常数矩阵D'C为映射矩阵,其作用是将目标复合域上的元素映射到Camellia密码算法中指定的GF((24)2)域上;
所述常数矩阵MA为AES密码算法中指定的加密流程仿射运算中的常数矩阵;
所述常数矩阵M'A为AES密码算法中指定的解密流程仿射运算中的常数矩阵;
所述常数矩阵MCf为Camellia密码算法中指定的仿射运算f中的常数矩阵;
所述常数矩阵MCh为Camellia密码算法中指定的仿射运算h中的常数矩阵;
所述复合域为任意与GF(28)域同构的复合域。
本实用新型提供的应用于AES与Camellia密码算法的可重构S盒电路结构,基于复合域实现有限域乘法逆,并通过复用有限域乘法逆单元方式,实现AES加密S盒运算、AES解密S盒运算和Camellia S盒运算的可重构功能,可以大大减少了电路面积,同时可重构S盒中的合成矩阵结构有利于电路优化效率的提高,从而进一步减少电路面积。
附图说明
附图1是本实用新型具体实施方式的应用于AES与Camellia密码算法的可重构S盒电路结构示意图;
附图2是本实用新型具体实施方式的应用于AES与Camellia密码算法的可重构S盒电路结构在AES加密S盒工作模式下的示意图;
附图3是本实用新型具体实施方式的应用于AES与Camellia密码算法的可重构S盒电路结构在AES解密S盒工作模式下的示意图;
附图4是本实用新型具体实施方式的应用于AES与Camellia密码算法的可重构S盒电路结构在Camellia S盒工作模式下的示意图。
具体实施方式
下面结合附图对本实用新型提供的应用于AES与Camellia密码算法的可重构S盒电路结构的具体实施方式做详细说明。
本具体实施方式提供了一种应用于AES与Camellia密码算法的可重构S盒电路结构。附图1是本实用新型具体实施方式的应用于AES与Camellia密码算法的可重构S盒电路结构示意图。
如图1所示,本具体实施方式提出的应用于AES与Camellia密码算法的可重构S盒电路结构包括:合成矩阵乘法单元1、合成矩阵乘法单元2、常数加单元1、常数加单元2、常数加单元3、常数加单元4、复合域乘法逆单元、选择器1、选择器2、字节数据输入端口、字节数据输出端口和控制信号输入端口,所述选择器1和所述选择器2均为三选一选择器。
所述合成矩阵乘法单元1的输入端口与字节数据输入端口相连接;合成矩阵乘法单元1的输出端PA、输出端PV、输出端PC分别与选择器1输入端、常数加单元1的输入端、常数加单元2的输入端一一对应连接;所述常数加单元1的输出端和常数加单元2的输出端均与选择器1的输入端连接;所述选择器1的输出端与复合域乘法逆单元的输入端相连接;所述复合域乘法逆单元的输出端与合成矩阵乘法单元2的输入端相连接;所述合成矩阵乘法单元2的输出端PA、输出端PV、输出端PC分别与常数加单元3的输入端、选择器2的输入端、常数加单元4的输入端一一对应连接;所述常数加单元3的输出端和常数加单元4的输出端均与选择器2的输入端连接;所述选择器2的输出端与字节数据输出端口相连接;所述选择器1和选择器2的选择端均与控制信号输入端口相连接。
合成矩阵乘法单元1实现合成矩阵乘法运算Φ×,合成矩阵Φ由AES加密S盒中的常数矩阵DA、AES解密S盒中的常数矩阵Q'A、Camellia S盒中的常数矩阵QCf组合而成,即
合成矩阵乘法单元1的输出端PA、输出端PV、输出端PC一一对应输出常数矩阵乘法DA×的运算结果、常数矩阵乘法Q'A×的运算结果和常数矩阵乘法QCf×的运算结果。
所述合成矩阵乘法单元2实现合成矩阵乘法运算Ψ×;所述合成矩阵Ψ由AES加密S盒中的常数矩阵QA、AES解密S盒中的常数矩阵D'A、Camellia S盒中的常数矩阵QCh组合而成,即
合成矩阵乘法单元2的输出端PA、输出端PV、输出端PC一一对应输出常数矩阵乘法QA×的运算结果、常数矩阵乘法D'A×的运算结果和常数矩阵乘法QCh×的运算结果。
所述常数加单元1实现AES解密S盒中的加常数dA运算;所述常数加单元2实现Camellia S盒中的加常数dCf运算;所述常数加单元3实现AES加密S盒中的加常数cA运算;所述常数加单元4实现Camellia S盒中的加常数cCh运算;所述复合域乘法逆单元实现输入字节在复合域上乘法逆运算。
本具体实施方式所述的应用于AES与Camellia密码算法的可重构S盒电路结构有三个工作模式:AES加密S盒工作模式、AES解密S盒工作模式和Camellia S盒工作模式。
AES S盒运算和Camellia S盒运算都是由有限域乘法逆运算和仿射运算构成,但是AES S盒运算和Camellia S盒运算是定义在不同的有限域上。有限域GF(28)域和有限域GF((24)2)域为同构域,本具体实施方式通过同构映射可以将这两个域映射到同一个有限域中。因此,当AES密码算法和Camellia密码算法在同一硬件平台实现时,可以通过运算单元复用方式对有限域乘法逆进行复用,这样可以大大降低电路面积。
由于基于复合域GF((24)2)域或基于复合域GF(((22)2)2)域的有限域乘法逆电路的硬件复杂度要远远小于基于GF(28)域的有限域乘法逆电路,因此本具体实施方式进一步将AES S盒中的有限域乘法逆运算和Camellia S盒中的有限域乘法逆运算映射到同一个复合域中实现,并通过复用有限域乘法逆的方式,降低密码算法实现的电路面积。
AES加密S盒工作模式
附图2是本实用新型具体实施方式的应用于AES与Camellia密码算法的可重构S盒电路结构在AES加密S盒工作模式下的示意图。如图2所示,在AES加密S盒工作模式下,可重构S盒输入一个字节向量x,输入的字节向量x首先进入合成矩阵乘法单元1进行合成矩阵乘法运算,即
运算结果DA×x从合成矩阵乘法单元1的输出端PA输出,运算结果Q'A×x从合成矩阵乘法单元1的输出端PV输出,运算结果QCf×x从合成矩阵乘法单元1的输出端PC输出。选择器1在选择信号控制下选择合成矩阵乘法单元1的输出端PA上的运算结果DA×x输出到复合域乘法逆单元,经过复合域乘法逆单元后输出运算结果运算结果进一步输入到合成矩阵乘法单元2中进行合成矩阵乘法运算,即
运算结果从合成矩阵乘法单元2的输出端PA输出,运算结果从合成矩阵乘法单元2的输出端PV输出,运算结果从合成矩阵乘法单元2的输出端PC输出。其中合成矩阵乘法单元2的输出端PA上的运算结果进一步进入常数加单元3中进行加常数cA运算,运算结果为选择器2在选择信号控制下将运算结果从字节数据输出端口输出。对比公式(5)可知,该运算结果即为AES加密S盒运算结果SA(x)。选择器1和选择器2的选择信号从控制信号输入端口输入。
AES解密S盒工作模式
附图3是本实用新型具体实施方式的应用于AES与Camellia密码算法的可重构S盒电路结构在AES解密S盒工作模式下的示意图。如图3所示,在AES解密S盒工作模式下,可重构S盒输入一个字节向量x,输入的字节向量x首先进入合成矩阵乘法单元1进行合成矩阵乘法运算,即
运算结果DA×x从合成矩阵乘法单元1的输出端PA输出,运算结果Q'A×x从合成矩阵乘法单元1的输出端PV输出,运算结果QCf×x从合成矩阵乘法单元1的输出端PC输出。其中合成矩阵乘法单元1的输出端PV上的运算结果Q'A×x进一步输入到常数加单元1中进行加常数dA运算,运算结果为Q'A×x+dA。选择器1在选择信号控制下选择常数加单元1的运算结果Q'A×x+dA输出到复合域乘法逆单元,经过复合域乘法逆单元后输出运算结果运算结果进一步输入到合成矩阵乘法单元2中进行合成矩阵乘法运算,即
运算结果从合成矩阵乘法单元2的输出端PA输出,运算结果从合成矩阵乘法单元2的输出端PV输出,运算结果从合成矩阵乘法单元2的输出端PC输出。选择器2在选择信号控制下将合成矩阵乘法单元2的输出端PV上的运算结果从字节数据输出端口输出。对比公式(7)可知,该运算结果即为AES解密S盒运算结果S'A(x)。选择器1和选择器2的选择信号从控制信号输入端口输入。
Camellia S盒工作模式
附图4是本实用新型具体实施方式的应用于AES与Camellia密码算法的可重构S盒电路结构在Camellia S盒工作模式下的示意图。如图4所示,在Camellia S盒工作模式下,可重构S盒输入一个字节向量x,输入的字节向量x首先进入合成矩阵乘法单元1进行合成矩阵乘法运算,即
运算结果DA×x从合成矩阵乘法单元1的输出端PA输出,运算结果Q'A×x从合成矩阵乘法单元1的输出端PV输出,运算结果QCf×x从合成矩阵乘法单元1的输出端PC输出。其中合成矩阵乘法单元1的输出端PC端口上的运算结果QCf×x进一步输入到常数加单元2中进行加常数dCf运算,运算结果为QCf×x+dCf。选择器1在选择信号控制下选择常数加单元2的运算结果QCf×x+dCf输出到复合域乘法逆单元,经过复合域乘法逆单元后输出运算结果运算结果进一步输入到合成矩阵乘法单元2中进行合成矩阵乘法运算,即
运算结果从合成矩阵乘法单元2的输出端PA输出,运算结果从合成矩阵乘法单元2的输出端口PV输出,运算结果从合成矩阵乘法单元2的输出端口PC输出。其中合成矩阵乘法单元2的输出端PC上的运算结果进一步输入到常数加单元4中进行加常数cCh运算,运算结果为选择器2在选择信号控制下将常数加单元4的运算结果从字节数据输出端口输出。对比公式(9)可知,该运算结果即为AES解密S盒运算结果SC1(x)。选择器1和选择器2的选择信号从控制信号输入端口输入。
本具体实施方式提供的应用于AES与Camellia密码算法的可重构S盒电路结构,基于复合域实现有限域乘法逆,并通过复用有限域乘法逆单元方式,实现AES加密S盒运算、AES解密S盒运算和Camellia S盒运算的可重构功能,可以大大减少了电路面积,同时可重构S盒中的合成矩阵结构有利于电路优化效率的提高,从而进一步减少电路面积。
以上所述仅是本实用新型的优选实施方式,应当指出,对于本技术领域的普通技术人员,在不脱离本实用新型原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本实用新型的保护范围。

Claims (3)

1.一种应用于AES与Camellia密码算法的可重构S盒电路结构,其特征在于,包括:合成矩阵乘法单元1、合成矩阵乘法单元2、常数加单元1、常数加单元2、常数加单元3、常数加单元4、复合域乘法逆单元、选择器1、选择器2、字节数据输入端口、字节数据输出端口和控制信号输入端口,所述选择器1和所述选择器2均为三选一选择器;
所述合成矩阵乘法单元1的输入端口与字节数据输入端口相连接;合成矩阵乘法单元1的输出端PA、输出端PV、输出端PC分别与选择器1输入端、常数加单元1的输入端、常数加单元2的输入端一一对应连接;所述常数加单元1的输出端和常数加单元2的输出端均与选择器1的输入端连接;所述选择器1的输出端与复合域乘法逆单元的输入端相连接;所述复合域乘法逆单元的输出端与合成矩阵乘法单元2的输入端相连接;所述合成矩阵乘法单元2的输出端PA、输出端PV、输出端PC分别与常数加单元3的输入端、选择器2的输入端、常数加单元4的输入端一一对应连接;所述常数加单元3的输出端和常数加单元4的输出端均与选择器2的输入端连接;所述选择器2的输出端与字节数据输出端口相连接;所述选择器1和选择器2的选择端均与控制信号输入端口相连接;
所述应用于AES与Camellia密码算法的可重构S盒电路结构有三个工作模式:AES加密S盒工作模式、AES解密S盒工作模式和Camellia S盒工作模式;在选择信号的控制下,选择器1和选择器2分别选择不同的信号通道,从而实现不同的工作模式;在AES加密S盒工作模式下,选择器1输出合成矩阵乘法单元1的输出端PA上的运算结果,选择器2输出常数加单元3的运算结果;在AES解密S盒工作模式下,选择器1输出常数加单元1的运算结果,选择器2输出合成矩阵乘法单元2的输出端PV上的运算结果;在Camellia S盒工作模式下,选择器1输出常数加单元2的运算结果,选择器2输出常数加单元4的运算结果;所述的选择信号由控制信号输入端口输入。
2.根据权利要求1所述的应用于AES与Camellia密码算法的可重构S盒电路结构,其特征在于,所述合成矩阵乘法单元1实现合成矩阵乘法运算Φ×;
所述合成矩阵Φ由AES加密S盒中的常数矩阵DA、AES解密S盒中的常数矩阵Q′A、Camellia S盒中的常数矩阵QCf组合而成;合成矩阵乘法单元1的输出端PA、输出端PV、输出端PC一一对应输出常数矩阵乘法DA×的运算结果、常数矩阵乘法Q′A×的运算结果和常数矩阵乘法QCf×的运算结果;
所述合成矩阵乘法单元2实现合成矩阵乘法运算Ψ×;所述合成矩阵Ψ由AES加密S盒中的常数矩阵QA、AES解密S盒中的常数矩阵D′A、Camellia S盒中的常数矩阵QCh组合而成;合成矩阵乘法单元2的输出端PA、输出端PV、输出端PC一一对应输出常数矩阵乘法QA×的运算结果、常数矩阵乘法D′A×的运算结果和常数矩阵乘法QCh×的运算结果;
所述常数加单元1实现AES解密S盒中的加常数dA运算;
所述常数加单元2实现Camellia S盒中的加常数dCf运算;
所述常数加单元3实现AES加密S盒中的加常数cA运算;
所述常数加单元4实现Camellia S盒中的加常数cCh运算;
所述复合域乘法逆单元实现输入字节在复合域上乘法逆运算。
3.根据权利要求2所述的应用于AES与Camellia密码算法的可重构S盒电路结构,其特征在于,所述的常数dA为常数矩阵Q′A与常数cA的乘积;
所述常数dCf为常数矩阵DC与常数cCf的乘积;
所述常数cA为AES密码算法中指定的仿射运算中的常数向量;
所述常数cCf为Camellia密码算法中指定的仿射运算f中的常数向量;
所述常数cCh为Camellia密码算法中指定的仿射运算h中的常数向量;
所述常数矩阵Q′A为常数矩阵DA与常数矩阵M′A的乘积;
所述常数矩阵QCf为常数矩阵DC与常数矩阵MCf的乘积;
所述常数矩阵QA为常数矩阵MA与常数矩阵D′A的乘积;
所述常数矩阵QCh为常数矩阵MCh与常数矩阵D′C的乘积;
所述常数矩阵DA为映射矩阵,其作用是将AES密码算法中指定的GF(28)域上的元素映射到目标复合域上;
所述常数矩阵D′A为映射矩阵,其作用是将目标复合域上的元素映射到AES密码算法中指定的GF(28)域上;
所述常数矩阵DC为映射矩阵,其作用是将Camellia密码算法中指定的GF((24)2)域上的元素映射到目标复合域上;
所述常数矩阵D′C为映射矩阵,其作用是将目标复合域上的元素映射到Camellia密码算法中指定的GF((24)2)域上;
所述常数矩阵MA为AES密码算法中指定的加密流程仿射运算中的常数矩阵;
所述常数矩阵M′A为AES密码算法中指定的解密流程仿射运算中的常数矩阵;
所述常数矩阵MCf为Camellia密码算法中指定的仿射运算f中的常数矩阵;
所述常数矩阵MCh为Camellia密码算法中指定的仿射运算h中的常数矩阵;
所述复合域为任意与GF(28)域同构的复合域。
CN201720500159.9U 2017-05-08 2017-05-08 应用于AES与Camellia密码算法的可重构S盒电路结构 Expired - Fee Related CN207010694U (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201720500159.9U CN207010694U (zh) 2017-05-08 2017-05-08 应用于AES与Camellia密码算法的可重构S盒电路结构

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201720500159.9U CN207010694U (zh) 2017-05-08 2017-05-08 应用于AES与Camellia密码算法的可重构S盒电路结构

Publications (1)

Publication Number Publication Date
CN207010694U true CN207010694U (zh) 2018-02-13

Family

ID=61443367

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201720500159.9U Expired - Fee Related CN207010694U (zh) 2017-05-08 2017-05-08 应用于AES与Camellia密码算法的可重构S盒电路结构

Country Status (1)

Country Link
CN (1) CN207010694U (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106992852A (zh) * 2017-05-08 2017-07-28 芜湖职业技术学院 应用于AES与Camellia密码算法的可重构S盒电路结构
CN109039583A (zh) * 2018-06-11 2018-12-18 安徽工程大学 复用轮变换电路、aes加密电路及加密方法

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106992852A (zh) * 2017-05-08 2017-07-28 芜湖职业技术学院 应用于AES与Camellia密码算法的可重构S盒电路结构
CN106992852B (zh) * 2017-05-08 2023-09-15 芜湖职业技术学院 应用于AES与Camellia密码算法的可重构S盒电路结构
CN109039583A (zh) * 2018-06-11 2018-12-18 安徽工程大学 复用轮变换电路、aes加密电路及加密方法
CN109039583B (zh) * 2018-06-11 2021-04-02 安徽工程大学 复用轮变换电路、aes加密电路及加密方法

Similar Documents

Publication Publication Date Title
CN106921487A (zh) 可重构s盒电路结构
CN106992852A (zh) 应用于AES与Camellia密码算法的可重构S盒电路结构
CN207184503U (zh) 可重构s盒电路结构
CN107181586A (zh) 可重构s盒电路结构
Engels et al. Hummingbird: ultra-lightweight cryptography for resource-constrained devices
CN109245881A (zh) 一种照片视频云端加密存储方法
CN104639314A (zh) 基于aes加密/解密算法的装置和流水控制方法
CN106998249A (zh) 应用于SM4与Camellia密码算法的可重构S盒电路结构
CN206585573U (zh) 可重构s盒电路结构
CN207010694U (zh) 应用于AES与Camellia密码算法的可重构S盒电路结构
Haldankar et al. Implementation of AES and blowfish algorithm
CN109033892A (zh) 基于合成矩阵的轮变换复用电路及aes解密电路
Gaspar et al. HCrypt: a novel concept of crypto-processor with secured key management
CN114218594A (zh) 加解密初始化配置方法、边缘端、加解密平台及安全系统
CN104219045A (zh) Rc4 流密码生成器
CN109150495A (zh) 一种轮变换复用电路及其aes解密电路
CN108933652A (zh) 一种普通轮变换运算单元、普通轮变换电路及aes解密电路
CN109150497A (zh) 一种高性能小面积的xts-sm4加密电路
CN101958790A (zh) 无线通信网络数字信息加密或解密方法
John Cryptography for resource constrained devices: A survey
CN207184502U (zh) 应用于SM4与Camellia密码算法的可重构S盒电路结构
Bajaj et al. AES algorithm for encryption
CN108809627A (zh) 轮变换复用电路及aes解密电路
Karthigaikumar et al. Partially pipelined VLSI implementation of Blowfish encryption/decryption algorithm
Yu et al. Investigation of compact hardware implementation of the advanced encryption standard

Legal Events

Date Code Title Description
GR01 Patent grant
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20180213

Termination date: 20200508

CF01 Termination of patent right due to non-payment of annual fee