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

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

Info

Publication number
CN106992852B
CN106992852B CN201710316681.6A CN201710316681A CN106992852B CN 106992852 B CN106992852 B CN 106992852B CN 201710316681 A CN201710316681 A CN 201710316681A CN 106992852 B CN106992852 B CN 106992852B
Authority
CN
China
Prior art keywords
constant
matrix
box
aes
unit
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.)
Active
Application number
CN201710316681.6A
Other languages
English (en)
Other versions
CN106992852A (zh
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 CN201710316681.6A priority Critical patent/CN106992852B/zh
Publication of CN106992852A publication Critical patent/CN106992852A/zh
Application granted granted Critical
Publication of CN106992852B publication Critical patent/CN106992852B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/06Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
    • H04L9/0618Block ciphers, i.e. encrypting groups of characters of a plain text message using fixed encryption transformation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/12Details relating to cryptographic hardware or logic circuitry

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • 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.1AES 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.2Camellia 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.1AES加密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.2AES解密S盒的复合域映射
基于复合域的AES解密S盒运算表达式为:
上式中的相关运算与公式(4)相同。同样,映射矩阵DA和常数矩阵M'A可以合并成一个矩阵,合并之后的AES解密S盒运算表达式为:
其中常数矩阵Q'A=DA×M'A,常数向量dA=Q'A×cA
3.3Camellia 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 (2)

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实现CamelliaS盒中的加常数dCf运算;所述常数加单元3实现AES加密S盒中的加常数cA运算;所述常数加单元4实现Camellia S盒中的加常数cCh运算;所述复合域乘法逆单元实现输入字节在复合域上乘法逆运算;
所述应用于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的运算结果;所述的选择信号由控制信号输入端口输入;
所述应用于AES与Camellia密码算法的可重构S盒电路结构将AES加密S盒、AES解密S盒和Camellia S盒中的有限域乘法逆映射到同一个复合域中,当AES密码算法和Camellia密码算法在同一硬件平台实现时,可以通过复用复合域乘法逆方式大大降低电路面积。
2.根据权利要求1所述的应用于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)域同构的复合域。
CN201710316681.6A 2017-05-08 2017-05-08 应用于AES与Camellia密码算法的可重构S盒电路结构 Active CN106992852B (zh)

Priority Applications (1)

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

Applications Claiming Priority (1)

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

Publications (2)

Publication Number Publication Date
CN106992852A CN106992852A (zh) 2017-07-28
CN106992852B true CN106992852B (zh) 2023-09-15

Family

ID=59418593

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710316681.6A Active CN106992852B (zh) 2017-05-08 2017-05-08 应用于AES与Camellia密码算法的可重构S盒电路结构

Country Status (1)

Country Link
CN (1) CN106992852B (zh)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108566271B (zh) * 2018-06-11 2020-12-15 安徽工程大学 复用轮变换电路、aes加密电路及其加密方法
CN109033892B (zh) * 2018-06-11 2021-08-31 安徽工程大学 基于合成矩阵的轮变换复用电路及aes解密电路
CN108809627B (zh) * 2018-06-11 2021-03-05 安徽工程大学 轮变换复用电路及aes解密电路
CN109039583B (zh) * 2018-06-11 2021-04-02 安徽工程大学 复用轮变换电路、aes加密电路及加密方法
CN108989018B (zh) * 2018-06-11 2021-05-04 安徽工程大学 一种aes加密单元、aes加密电路及加密方法
CN109274482A (zh) * 2018-08-24 2019-01-25 广东工业大学 一种基于s盒优化的aes算法硬件电路实现方法
CN113507357B (zh) * 2021-07-08 2022-03-11 无锡沐创集成电路设计有限公司 兼容sm4和aes算法s盒的实现方法和电路模块

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101951314A (zh) * 2010-10-12 2011-01-19 北京航空航天大学 对称密码加密中s-盒的设计方法
CN102185692A (zh) * 2011-04-25 2011-09-14 北京航空航天大学 基于aes加密算法的多模式可重构加密方法
CN104639314A (zh) * 2014-12-31 2015-05-20 深圳先进技术研究院 基于aes加密/解密算法的装置和流水控制方法
KR20160039011A (ko) * 2014-09-30 2016-04-08 고려대학교 산학협력단 Aes 암호 알고리즘의 s-박스를 이용한 물리적 복제 방지기능 회로
CN207010694U (zh) * 2017-05-08 2018-02-13 芜湖职业技术学院 应用于AES与Camellia密码算法的可重构S盒电路结构

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060002548A1 (en) * 2004-06-04 2006-01-05 Chu Hon F Method and system for implementing substitution boxes (S-boxes) for advanced encryption standard (AES)

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101951314A (zh) * 2010-10-12 2011-01-19 北京航空航天大学 对称密码加密中s-盒的设计方法
CN102185692A (zh) * 2011-04-25 2011-09-14 北京航空航天大学 基于aes加密算法的多模式可重构加密方法
KR20160039011A (ko) * 2014-09-30 2016-04-08 고려대학교 산학협력단 Aes 암호 알고리즘의 s-박스를 이용한 물리적 복제 방지기능 회로
CN104639314A (zh) * 2014-12-31 2015-05-20 深圳先进技术研究院 基于aes加密/解密算法的装置和流水控制方法
CN207010694U (zh) * 2017-05-08 2018-02-13 芜湖职业技术学院 应用于AES与Camellia密码算法的可重构S盒电路结构

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
Hai Cheng,Qun Ding.Overview of Block Cipher.《2012 Second International Conference on Instrumentation & Measurement, Computer, Communication and Control》.2012,全文. *
曾纯,吴宁,张肖强,周芳,叶云飞. 基于多因子CSE算法的AES S-盒电路优化设计.《电子学报》.2014,全文. *

Also Published As

Publication number Publication date
CN106992852A (zh) 2017-07-28

Similar Documents

Publication Publication Date Title
CN106992852B (zh) 应用于AES与Camellia密码算法的可重构S盒电路结构
CN106921487B (zh) 可重构s盒电路结构
CN107181586B (zh) 可重构s盒电路结构
US9336160B2 (en) Low latency block cipher
US9294266B2 (en) Method and apparatus to encrypt plaintext data
Karthigaikumar et al. Simulation of image encryption using AES algorithm
CN106998249B (zh) 应用于SM4与Camellia密码算法的可重构S盒电路结构
CN106254062B (zh) 序列密码实现装置及其序列密码实现方法
CN207184503U (zh) 可重构s盒电路结构
CN109033892B (zh) 基于合成矩阵的轮变换复用电路及aes解密电路
Lam et al. An improved method for locating and extracting the eye in human face images
CN109150495B (zh) 一种轮变换复用电路及其aes解密电路
Gaspar et al. HCrypt: a novel concept of crypto-processor with secured key management
CN104219045A (zh) Rc4 流密码生成器
CN207010694U (zh) 应用于AES与Camellia密码算法的可重构S盒电路结构
CN109033847B (zh) Aes加密运算单元、aes加密电路及其加密方法
CN108809627B (zh) 轮变换复用电路及aes解密电路
Buell Modern symmetric ciphers—Des and Aes
Wang et al. An ultra compact block cipher for serialized architecture implementations
CN108989018B (zh) 一种aes加密单元、aes加密电路及加密方法
RU2738321C1 (ru) Способ криптографического преобразования и устройство для его осуществления
CN108964875B (zh) 普通轮变换运算单元、普通轮变换电路及aes解密电路
Yu et al. Investigation of compact hardware implementation of the advanced encryption standard
CN111740818A (zh) 一种数据处理方法、装置、设备及存储介质
CN109150496B (zh) Aes加密运算单元、aes加密电路及加密方法

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant