CN108964875A - 普通轮变换运算单元、普通轮变换电路及aes解密电路 - Google Patents
普通轮变换运算单元、普通轮变换电路及aes解密电路 Download PDFInfo
- Publication number
- CN108964875A CN108964875A CN201810597064.2A CN201810597064A CN108964875A CN 108964875 A CN108964875 A CN 108964875A CN 201810597064 A CN201810597064 A CN 201810597064A CN 108964875 A CN108964875 A CN 108964875A
- Authority
- CN
- China
- Prior art keywords
- ordinary wheel
- circuit
- output end
- register
- input terminal
- 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.)
- Granted
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/06—Cryptographic 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/0618—Block ciphers, i.e. encrypting groups of characters of a plain text message using fixed encryption transformation
- H04L9/0631—Substitution permutation network [SPN], i.e. cipher composed of a number of stages or rounds each involving linear and nonlinear transformations, e.g. AES algorithms
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Complex Calculations (AREA)
- Compression, Expansion, Code Conversion, And Decoders (AREA)
Abstract
本发明属于解密技术领域,提供了一种普通轮变换运算单元、普通轮变换电路及AES解密电路,本发明提出的用于AES解密的普通轮变换单元,通过常数矩阵的合并与合成运算,将AES解密算法中普通轮变换中的所有线性变换运算组合成两个合成矩阵,合成矩阵与合成矩阵可以实现电路的关键路径,还能够减少电路实现面积。
Description
技术领域
本发明属于解密技术领域,提供了一种普通轮变换运算单元、普通轮变换电路及AES解密电路。
背景技术
AES(Advanced Encryption Standard,高级加密标准)是由美国国家标准与技术研究院2001年制定的新一代分组对称密码算法,用于取代原来的DES(Data EncryptionStandard,数据加密标准)。
目前,AES密码算法已经被多个国际标准组织所采用,是目前使用最广泛的分组密码算法,AES密码算法的数据分组长度为128比特,密钥长度有128,192和256比特三种,分别称为AES-128,AES-192,AES-256,AES算法是一个迭代算法,每一个迭代可以称为轮变换,密钥长度不同,轮变换数量也不同,AES-128,AES-192,AES-256的轮变换数量Nr分别为10,12,14。
AES加密流程如附图1所示,输入的明文数据依次进行首轮变换、Nr-1轮普通轮变换、及末轮变换,每一次普通轮变换都要依次进行字节替换、行移位、列混合和密钥加四个运算。
AES解密流程是与加密流程相反的一个过程,如图2所示,输入的密文数据依次进行一轮首轮变换,Nr-1轮普通轮变换、及一轮末轮变换,首轮变换为加密流程中末轮变换的逆运算,包括密钥加、逆行移位、逆字节替换三个子运算。普通轮变换为加密流程中普通轮变换的逆运算,包括密钥加、逆列混合、逆行移位和逆字节替换,末轮变换为加密流程中的首轮变换的逆运算,即密钥加运算,其中,逆列混合、逆行移位和逆字节替换分别为加密流程中列混合、行移位和字节替换的逆运算。
普通轮变换是AES解密运算的主要运算,因此普通轮变换电路的实现是AES解密运算电路实现的关键。T盒实现方式是目前普通轮变换电路实现中最常用的运算单元合并实现方式,T盒实现通过预计算方式将S盒、行移位和列混合等运算的运算结果预存一个存储运算单元中,以查询表的方式实现S盒、行移位和列混合合并运算功能。T盒实现减少了整个普通轮变换电路的关键路径,因此T盒实现方式主要应用在高速AES电路设计中,T盒实现方式虽然可以加快数据处理速度,但也大大增加了电路面积,如Rach等人将基于复合域S盒/逆S盒中最后一级GF(24)乘法器、映射矩阵/逆映射运算、仿射/逆仿射运算、列混合/逆列混合运算和密钥加运算等五个运算合并成一个运算单元,合并运算单元缩短了关键路径,但同时也大大增加了电路面积,现有的基于合并运算的普通轮变换电路,都是以增加电路面积为代价对关键路径长度进行了优化。
发明内容
本发明实施例提供一种AES解密普通轮变换电路,旨在解决现有基于合并运算的普通轮变换电路,均是以增加电路面积为代价来对关键路径长度进行优化的问题。
本发明是这样实现的,一种普通轮变换运算单元,用于AES解密,普通轮变换运算单元包括:
合成矩阵乘法运算单元1,常数加运算单元、复合域乘法逆运算单元及合成矩阵乘法运算单元2,其中,合成矩阵乘法运算单元1的输入端分别与数据输入端及密钥输入端连接,输出端与常数加运算单元的输入端连接,常数加运算单元的输出端与复合域乘法逆运算单元的输入端连接,复合域乘法逆运算单元的输出端与合成矩阵乘法运算单元2的输入端连接,合成矩阵乘法运算单元2的输出端与数据输出端连接;
合成矩阵乘法运算单元1,将从输入端口输入的数据向量和密钥输入端口输入的密钥向量组合成一个列向量 将合成矩阵与列向量进行乘法运算,运算结果 输出到常数加运算单元,其中,合成矩阵表示如下:
常数加运算单元,将向量与常数向量Ωλ=[ωλ,ωλ,ωλ,ωλ]T相加运算,运算结果输出到复合域乘法逆运算单元,其中常数ωλ为常数矩阵δ、常数矩阵τ'和常数ω的乘积,即ωλ=δ×τ'×ω,常数ω为逆S盒运算中逆仿射运算所指定的字节常数;
复合域乘法逆运算单元,对向量中的每个字节进行复合域乘法逆运算,复合域为任意与GF(28)域同构的复合域,运算结果输出到合成矩阵乘法运算单元2;
合成矩阵乘法运算单元2,将合成矩阵与向量进行乘法运算,合成矩阵由四个常数矩阵δ′组合而成,常数矩阵δ′为映射矩阵,其作用是将复合域上的元素映射到GF(28)域上,其中合成矩阵表示如下:
合成矩阵乘法运算单元1、常数加运算单元、复合域乘法逆运算单元、及合成矩阵乘法运算单元2的数据输入端与数据输出端的数据位宽均为4个字节,密钥输入端口的数据位宽均为4个字节。
本发明是这样实现的,一种普通轮变换电路,普通轮变换电路包括:
4×(Nr-1)个普通轮变换运算单元,其中,每4个普通轮变换运算单元并联组成一个普通轮变换模块,(Nr-1)个普通轮变换模块串联组成普通轮变换电路。
本发明是这样实现的,一种普通轮变换电路,普通轮变换电路包括:
一个普通轮变换运算单元、及用于循环4×(Nr-1)次所述普通轮变换运算单元的循环反馈电路;
其中,循环反馈电路由二选一选择器、寄存器1及寄存器2组成,寄存器1及寄存器2的数据位宽均为16字节,寄存器1输入端与选择器的输出端连接,寄存器1的输出端与寄存器2的输入端相连接,寄存器2的输出端与普通轮变换运算单元的数据输入端连接,普通轮变换运算单元的数据输出端与选择器的一输入端连接,选择器的另一输入端与首轮变换电路的输出端连接,普通轮变换运算单元的输出端连接还与末轮变换电路的输入端连接。
本发明是这样实现的,一种普通轮变换电路,普通轮变换电路包括:
由两个普通轮变换运算单元并联组成的普通轮变换模块,及循环反馈电路,循环反馈电路用于对普通轮变换模块进行2(Nr-1)次循环;
其中,循环反馈电路由选择器、寄存器1及寄存器2组成,寄存器1及寄存器2的数据位宽均为16字节,其中,寄存器1的输入端与选择器的输出端连接,寄存器1的输出端与寄存器2的输入端连接,寄存器2的输出端与普通轮变换模块的数据输入端连接,选择器的一输入端与首轮变换电路的输出端连接,另一输入端与普通轮变换模块的输出端连接,普通轮变换模块的输出端还与末轮变换电路的输入端连接。
本发明是这样实现的,一种普通轮变换电路,普通轮变换电路包括:
由四个普通轮变换运算单元并联组成的普通轮变换模块,及循环反馈电路,循环反馈电路用于对普通轮变换模块进行(Nr-1)次循环;
其中,循环反馈电路由选择器及寄存器组成,寄存器的数据位宽为16字节,其中,寄存器的输出端与普通轮变换模块的输入端连接,寄存器输入端与选择器的输出端连接,选择器的一输入端与首轮变换电路的输出端连接,另一输入端与普通轮变换模块的输出端连接,普通轮变换运算模块的输出端还与末轮变换电路的输入端连接。
本发明是这样实现的,一种AES解密电路,AES解密电路包括:
依次连接首轮变换电路,普通轮变换电路及末轮变换电路。
本发明提出的用于AES解密的普通轮变换单元,通过常数矩阵的合并与合成运算,将AES解密算法中普通轮变换中的所有线性变换运算组合成两个合成矩阵,合成矩阵与合成矩阵可以实现电路的关键路径,还能够减少电路实现面积。
附图说明
图1为本发明实施例提供的标准AES加密流程图;
图2为本发明实施例提供的标准AES解密流程图;
图3为本发明实施例提供的AES解密普通轮变换运算单元的结构示意图;
图4为本发明实施例一提供的普通轮变换电路结构示意图;
图5为本发明实施例二提供的普通轮变换电路结构示意图;
图6为本发明实施例三提供的普通轮变换电路结构示意图;
图7为本发明实施例四提供的普通轮变换电路结构示意图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
用于AES解密运算的运算单元包括:密钥加运算单元、逆列混合运算单元、逆行移位运算单元和逆字节替换运算单元均为现有的运算单元,上述运算单元的运算公式具体如下
假设普通轮变换运算的输入状态矩阵为:
1.密钥加运算单元
密钥加运算单元进行密钥加运算,密钥加运算与加密流程中的密钥加运算相同,定义为状态矩阵加上子密钥矩阵,这里的加法运算为GF(2)域加法运算,即位异或运算。假设经过密钥加运算后的状态矩阵为:
密钥加运算表达式为:
其中矩阵为子密钥矩阵,由密钥扩展算法产生,子密钥矩阵的使用顺序与加密流程中子密钥矩阵的使用顺序相反。
2.逆列混合运算单元
逆列混合运算单元进行逆列混合运算,逆列混合运算为列混合的逆运算,逆列混合运算也可以视为状态矩阵中每一列与一个常数多项式在环上的乘积。假设经过逆列混合运算后的状态矩阵为:
逆列混合运算的表达式为:
其中矩阵为逆列混合常数矩阵,常数矩阵中的分别为GF(28)域上乘常数×{09}16、×{0b}16、×{0d}16、×{0e}16的矩阵形式,本发明中{}16表示常数的十六进制形式。
3.逆行移位运算单元
逆行移位运算单元进行逆行移位运算,逆行移位运算是行移位的逆运算,即状态矩阵的第一行不变换,第二,三,四行分别向右移位一个字节,二个字节,和三个字节。假设经过逆行移位运算后的状态矩阵为:
逆行移位之后的状态矩阵可以表达为:
逆行移位运算在硬件实现中也不需要消耗任何逻辑电路资源,只需调整总线位置即可。
4.逆字节替换运算单元
逆字节替换运算单元进行逆字节替换运算,逆字节替换运算为字节替换的逆运算,也称为逆S盒运算。逆S盒运算同样是将状态矩阵中的每个字节根据字节替换表进行逆替换操作。假设经过逆S盒运算后的状态矩阵为:
则逆S盒运算可以表达为:
其中为逆S盒运算函数。逆S盒运算是普通轮变换四个运算中唯一的非线性运算,也是运算复杂度最高的运算,因此逆S盒运算电路占据了整个AES解密电路的绝大部分电路面积和功耗。
在逆S盒运算中,输入字节首先进行一个逆仿射运算,逆仿射运算为加密S盒仿射运算的逆运算,然后进行一个有限域GF(28)域上乘法逆运算,其表达式为:
其中x为输入字节,ω为字节常数,τ′为8×8bit常数矩阵,是加密S盒中常数矩阵τ的逆矩阵,τ′和ω用于完成逆仿射运算,()A -1为GF(28)域上的乘法逆运算。
在众多S盒实现方式中,基于复合域的S盒实现具有最小的电路面积。复合域S盒通过数学变换将S盒中的主要运算单元—GF(28)域乘法逆运算单元映射到复合域中实现。复合域乘法逆运算的计算复杂度要远远小于GF(28)域乘法逆的计算复杂度,因而可以大大减少S盒电路实现的硬件复杂度。
基于复合域的逆S盒运算表达式为:
其中()C -1为复合域上的乘法逆运算,复合域为任意与GF(28)域同构的复合域,δ为8×8bit映射矩阵,其作用是将输入字节x从GF(28)域映射到复合域,δ'为δ逆矩阵,其作用是将复合域乘法逆运算结果从复合域映射回到GF(28)域。本发明所涉及的GF(28)域为AES密码算法中所指定的GF(28)域,其不可约多项式为
f(x)=x8+x4+x3+x+1
在有限域中,加法运算为位异或逻辑运算。根据x⊕y⊕1=x⊕y=x⊙y,因此,常数加运算+ω在硬件实现时,加0运算可以直接省略掉,加1运算可以用两种方法代替异或逻辑运算:1.任意两个变量的异或逻辑采用同或逻辑代替;2.任意两个变量的采用异或逻辑+取反逻辑实现。由于同或逻辑门与异或逻辑门的电路面积和延时几乎相同,同时相比于异或逻辑门,反向逻辑门的电路面积和延时可以忽略,因此,在逆S盒硬件实现时,常数加运算+ω电路面积和延时可以忽略不计。
普通轮变换中的密钥加、逆列混合、逆行移位和逆字节替换四个运算单元可以单独实现,也可以将相邻的几个运算单元合并成一个运算单元进行实现。运算单元单独实现的轮变换电路不仅浪费电路资源,且关键路径较长。本发明根据解密普通轮变换公式,通过常数矩阵的合并与合成运算,对解密普通轮变换中的线性运算进行合并。根据上述中轮变换中的各个子运算公式,可以得出解密普通轮变换公式为:
其中为常数矩阵中的行向量,和分别为输入的数据矩阵和密钥矩阵中的列向量,即:
将上述公式中具有相同输入的输出变量rx,y划分一组,共可以划分成四个分组。这四个分组具有相同运算操作,并在硬件实现时具有相同的电路运算单元。每一分组输出变量都可以表达为线性方程形式:
上式中的输入变量和输出变量在每一分组中对应的变量为:
为了减少电路实现面积,本发明进一步将逆S盒中的GF(28)乘法逆映射到复合域中,映射后的普通轮变换分组公式为:
本发明提出的用于AES解密的普通轮变换单元,通过常数矩阵的合并与合成运算,将AES解密算法中普通轮变换中的所有线性变换运算组合成两个合成矩阵,合成矩阵与合成矩阵可以缩短电路关键路径,还能够减少电路实现面积。
图3为本发明实施例提供的用于AES解密的普通轮变换运算单元结构示意图,为了便于说明,仅示出与本发明实施例相关的部分。
该普通轮变换运算单元包括:
合成矩阵乘法运算单元1,常数加运算单元、复合域乘法逆运算单元及合成矩阵乘法运算单元2,合成矩阵乘法运算单元1的输入端分别与数据输入端及密钥输入端连接,输出端与常数加运算单元的输入端连接,常数加运算单元的输出端与复合域乘法逆运算单元的输入端连接,复合域乘法逆运算单元的输出端与合成矩阵乘法运算单元2的输入端连接,合成矩阵乘法运算单元2的输出端与数据输出端连接;
合成矩阵乘法运算单元1,其输入端和输出端的数据位宽均为4个字节,将从数据输入端口输入的数据向量和从密钥输入端口输入的密钥向量组合成一个列向量其中,密钥向量与加密运算中的密钥向量Kv相同,将合成矩阵与列向量进行乘法运算,合成矩阵由常数矩阵组合而成:
其中,常数矩阵为常数矩阵δ、常数矩阵τ'和常数矩阵的乘积,即常数矩阵为常数矩阵δ、常数矩阵τ'和常数矩阵的乘积,即常数矩阵为常数矩阵δ、常数矩阵τ'和常数矩阵的乘积,即常数矩阵为常数矩阵δ、常数矩阵τ'和常数矩阵的乘积,即常数矩阵τ'为逆S盒运算中逆仿射运算所指定的常数矩阵,常数矩阵δ为映射矩阵,其作用是将GF(28)域上的元素映射到复合域上。本发明实施例中的GF(28)域为AES密码算法中指定的GF(28)域。常数矩阵分别为GF(28)域上乘常数×{09}16、×{0b}16、×{0d}16、×{0e}16的矩阵形式。合成矩阵乘法运算单元1可以用具体公式进行表达为:
将运算结果输出到常数加运算单元。
常数加运算单元,其输入端和输出端数据位宽均为4个字,将列向量 与常数向量相加运算,其中,常数ωλ为常数矩阵δ、常数矩阵τ'和常数ω的乘积,即ωλ=δ×τ'×ω,常数ω为逆S盒运算中逆仿射运算所指定的字节常数。常数加运算单元的具体表达形式为:
将运算结果输出到复合域乘法逆运算单元。
复合域乘法逆运算单元,其输入端和输出端数据位宽均为4个字,对列向量中的每个字节进行复合域乘法逆运算,这里的复合域为任意与GF(28)域同构的复合域,本专利所提及的GF(28)均为AES加密算法中所指定的GF(28)域,复合域乘法逆运算单元的具体表达形式为:
将运算结果输出到合成矩阵乘法运算单元2。
合成矩阵乘法运算单元2,其输入端和输出端数据位宽均为4个字,将合成矩阵与向量进行乘法运算,合成矩阵由四个常数矩阵δ′组合而成,常数矩阵δ′为映射矩阵,其作用是将复合域上的元素映射到GF(28)域上,合成矩阵的表达式具体如下:
合成矩阵乘法运算单元2可以用具体公式进行表达为:
将运算结果进一步输出到数据输出端口。
本发明提出的用于AES解密的普通轮变换单元,通过常数矩阵的合并与合成运算,将AES解密算法中普通轮变换中的所有线性变换运算组合成两个合成矩阵,合成矩阵与合成矩阵可以电路关键路径,还能够减少电路实现面积。
串行结构和循环结构是普通轮变换电路实现的两种基本结构,基于所提出的普通轮变换运算单元采用并行处理方式构成串行结构普通轮变换电路,采用分时复用处理方式或者是分时复用与并行处理相结合的方式来构成循环结构普通轮变换电路。
图4为本发明实施例一提供的普通轮变换电路的结构示意图,为了便于说明,仅示出与本发明实施例相关的部分。
该普通轮变换电路,用于实现AES解密的普通轮变换,包括:
4×(Nr-1)个普通轮变换运算单元,其中,每4个普通轮变换运算单元并联组成一个普通轮变换模块,(Nr-1)个普通轮变换模块串联组成普通轮变换电路,每个普通轮变换模块用于完成一次16字节数据的普通轮变换运算。
图5为本发明实施例二提供的普通轮变换电路的结构示意图,为了便于说明,仅示出与本发明实施例相关的部分。
该普通轮变换电路,用于实现AES解密的普通轮变换,包括:
一个普通轮变换运算单元、及用于循环4×(Nr-1)次所述普通轮变换运算单元的循环反馈电路;
其中,循环反馈电路由二选一选择器、寄存器1及寄存器2组成,寄存器1及寄存器2的数据位宽均为16字节,寄存器1输入端与选择器的输出端连接,寄存器1的输出端与寄存器2的输入端相连接,寄存器2的输出端与普通轮变换运算单元的数据输入端连接,普通轮变换运算单元的数据输出端与选择器的一输入端连接,选择器的另一输入端与首轮变换电路的输出端连接,普通轮变换运算单元的输出端连接还与末轮变换电路的输入端连接;
普通轮变换运算单元的数据输出端将每次循环后的运算结果分别输出至选择器及末轮变换电路,选择器将前4(Nr-2)次运算结果反馈至寄存器1中,普通轮变换单元每次完成4个字节的普通轮变换运算,通过循环反馈电路的四次循环,普通轮变换单元完成一轮完整(16字节)的AES普通轮变换运算,完成一轮AES普通轮变换运算后寄存器1的数据输入到寄存器2中,寄存器2每次输出四个字节,作为普通轮变换运算单元的输入数据,进行下一次普通轮变换运算,共进行4(Nr-1)次普通轮变换运算,末轮变换电路将第(4Nr-7)~(4Nr-4)次运算结果,即第(Nr-1)轮普通轮变换运算结果作为末轮变换电路的输入数据,进行末轮变换。
图6为本发明实施例三提供的普通轮变换电路的结构示意图,为了便于说明,仅示出于本发明实施例相关的部分。
该普通轮变换电路,用于实现AES解密的普通轮变换,包括:
由两个普通轮变换运算单元并联组成的普通轮变换模块,及循环反馈电路,循环反馈电路用于对普通轮变换模块进行2(Nr-1)次循环;
其中,循环反馈电路由选择器、寄存器1及寄存器2组成,寄存器1及寄存器2的数据位宽均为16字节,其中,寄存器1的输入端与选择器的输出端连接,寄存器1的输出端与寄存器2的输入端连接,寄存器2的输出端与普通轮变换模块的数据输入端连接,选择器的一输入端与首轮变换电路的输出端连接,另一输入端与普通轮变换模块的输出端连接,普通轮变换模块的输出端还与末轮变换电路的输入端连接;
普通轮变换运算模块的输出端将两普通轮变换运算单元每次运算结果分别输出至选择器及末轮变换电路,选择器将前2(Nr-2)次运算结果反馈至寄存器1中。普通轮变换运算模块每次完成8个字节的普通轮变换运算,通过所述循环反馈电路的两次循环,普通轮变换运算模块完成一轮完整的AES普通轮变换运算,完成一轮AES普通轮变换运算后,寄存器1的数据输入到寄存器2中,寄存器2每次输出两组四字节数据,作为普通轮变换运算模块的输入数据,分别输入两普通轮变换运算单元,进行下一次普通轮变换运算,共进行2(Nr-1)次普通轮变换运算,将第(2Nr-3)~(2Nr-2)次运算结果输入末轮变换电路,即第(Nr-1)轮普通轮变换运算结果输入末轮变换电路,进行末轮变换。
图7为本发明实施例四提供的普通轮变换电路的结构示意图,为了便于说明,仅示出于本发明实施例相关的部分。
该普通轮变换电路,用于实现AES解密的普通轮变换,包括:
由四个普通轮变换运算单元并联组成的普通轮变换模块,及循环反馈电路,循环反馈电路用于对普通轮变换模块进行(Nr-1)次循环;
其中,循环反馈电路由选择器及寄存器组成,寄存器的数据位宽为16字节,其中,寄存器的输出端与普通轮变换模块的输入端连接,寄存器输入端与选择器的输出端连接,选择器的一输入端与首轮变换电路的输出端连接,另一输入端与普通轮变换模块的输出端连接,普通轮变换运算模块的输出端还与末轮变换电路的输入端连接。
普通轮变换模块每次完成16个字节的普通轮变换运算,通过循环反馈电路的一次循环,普通轮变换模块完成一轮完整的普通轮变换运算;
普通轮变换模块的输出端将四个普通轮变换运算单元每次运算结果分别输出至选择器及末轮变换电路,选择器将前(Nr-2)次运算结果Rv通过寄存器反馈至普通轮变换模块的输入端,寄存器将四组4字节的数据分别输入四个普通轮变换运算单元的数据输入端,进行下一轮普通轮变换,共进行(Nr-1)轮普通轮变换,将第(Nr-1)次运算结果Rv输入末轮变换电路,进行末轮变换运算。
循环结构的普通轮变换电路相比于串行结构的普通轮变换电路而言,其电路面积大大减小,因此适用于面积受限的数据处理电路中;但串行结构的普通轮变换电路采用流水线技术可以大大提高电路处理速度,适用于高速数据处理电路中,因此可根据实际需求设计普通轮变换电路的结构;
上述实施例一、实施例二、实施例三及实施例四提供的普通轮变换电路是基于普通轮变换运算单元构成,普通轮变换运算单元通过矩阵合并与合成运算将AES密码算法中的复合域映射运算、仿射运算、列混合运算与密钥加运算合并成两个合成矩阵,矩阵与矩阵基于普通轮变换运算单元构建的AES密码电路结构,大大减少电路的关键路径长度。公共项消除算法是线性运算单元最有效的电路优化方法,研究表明电路规模越大,电路效率越高,因此本发明通过矩阵合并与合成将若干小规模线性运算单元组合成大规模的线性运算,有利于电路优化效率的提高,减少电路实现面积。
在本发明实施例中还提供一种AES解密电路,该AES解密电路包括:依次串联连接的首轮变换电路、普通轮加密电路、及末轮变换电路,该普通轮变换电路采用实施例一、实施例二、实施例三及实施例四提供的普通轮变换电路,而首轮变换电路及末轮变换电路均采用现有的结构。
本发明实施例提供的AES解密电路是基于前面所述的普通轮变换电路构成,而普通轮变换电路是基于普通轮变换运算单元构成的,由于普通轮变换运算单元通过矩阵与矩阵将AES解密算法中的复合域映射运算、仿射运算、列混合运算与密钥加运算进行合并,在硬件实现上,该AES解密电路大大减少了电路的关键路径长度。公共项消除算法是线性运算单元最有效的电路优化方法,研究表明电路规模越大,电路效率越高,因此本发明通过矩阵合并与合成将若干小规模线性运算单元组合成大规模的线性运算,有利于电路优化效率的提高,减少AES解密电路的实现面积。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。
Claims (6)
1.一种普通轮变换运算单元,用于AES解密,其特征在于,普通轮变换运算单元包括:
合成矩阵乘法运算单元1,常数加运算单元、复合域乘法逆运算单元及合成矩阵乘法运算单元2,其中,合成矩阵乘法运算单元1的输入端分别与数据输入端及密钥输入端连接,输出端与常数加运算单元的输入端连接,常数加运算单元的输出端与复合域乘法逆运算单元的输入端连接,复合域乘法逆运算单元的输出端与合成矩阵乘法运算单元2的输入端连接,合成矩阵乘法运算单元2的输出端与数据输出端连接;
合成矩阵乘法运算单元1,将从输入端口输入的数据向量和密钥输入端口输入的密钥向量组合成一个列向量 将合成矩阵与列向量进行乘法运算,运算结果 输出到常数加运算单元,其中,合成矩阵表示如下:
常数加运算单元,将向量与常数向量Ωλ=[ωλ,ωλ,ωλ,ωλ]T相加运算,运算结果输出到复合域乘法逆运算单元,其中常数ωλ为常数矩阵δ、常数矩阵τ'和常数ω的乘积,即ωλ=δ×τ'×ω,常数ω为逆S盒运算中逆仿射运算所指定的字节常数;
复合域乘法逆运算单元,对向量中的每个字节进行复合域乘法逆运算,复合域为任意与GF(28)域同构的复合域,运算结果输出到合成矩阵乘法运算单元2;
合成矩阵乘法运算单元2,将合成矩阵与向量进行乘法运算,合成矩阵由四个常数矩阵δ′组合而成,常数矩阵δ′为映射矩阵,其作用是将复合域上的元素映射到GF(28)域上,其中合成矩阵表示如下:
合成矩阵乘法运算单元1、常数加运算单元、复合域乘法逆运算单元、及合成矩阵乘法运算单元2的数据输入端与数据输出端的数据位宽均为4个字节,密钥输入端口的数据位宽均为4个字节。
2.一种普通轮变换电路,其特征在于,所述普通轮变换电路包括:
4×(Nr-1)个如权利要求1所述普通轮变换运算单元,其中,每4个普通轮变换运算单元并联组成一个普通轮变换模块,(Nr-1)个普通轮变换模块串联组成普通轮变换电路。
3.一种普通轮变换电路,其特征在于,所述普通轮变换电路包括:
一个如权利要求1所述普通轮变换运算单元、及用于循环4×(Nr-1)次所述普通轮变换运算单元的循环反馈电路;
其中,循环反馈电路由二选一选择器、寄存器1及寄存器2组成,寄存器1及寄存器2的数据位宽均为16字节,寄存器1输入端与选择器的输出端连接,寄存器1的输出端与寄存器2的输入端相连接,寄存器2的输出端与普通轮变换运算单元的数据输入端连接,普通轮变换运算单元的数据输出端与选择器的一输入端连接,选择器的另一输入端与首轮变换电路的输出端连接,普通轮变换运算单元的输出端连接还与末轮变换电路的输入端连接。
4.一种普通轮变换电路,其特征在于,所述普通轮变换电路包括:
由两个如权利要求1所述普通轮变换运算单元并联组成的普通轮变换模块,及循环反馈电路,循环反馈电路用于对普通轮变换模块进行2(Nr-1)次循环;
其中,循环反馈电路由选择器、寄存器1及寄存器2组成,寄存器1及寄存器2的数据位宽均为16字节,其中,寄存器1的输入端与选择器的输出端连接,寄存器1的输出端与寄存器2的输入端连接,寄存器2的输出端与普通轮变换模块的数据输入端连接,选择器的一输入端与首轮变换电路的输出端连接,另一输入端与普通轮变换模块的输出端连接,普通轮变换模块的输出端还与末轮变换电路的输入端连接。
5.一种普通轮变换电路,其特征在于,所述普通轮变换电路包括:
由四个如权利要求1所述普通轮变换运算单元并联组成的普通轮变换模块,及循环反馈电路,循环反馈电路用于对普通轮变换模块进行(Nr-1)次循环;
其中,循环反馈电路由选择器及寄存器组成,寄存器的数据位宽为16字节,其中,寄存器的输出端与普通轮变换模块的输入端连接,寄存器输入端与选择器的输出端连接,选择器的一输入端与首轮变换电路的输出端连接,另一输入端与普通轮变换模块的输出端连接,普通轮变换运算模块的输出端还与末轮变换电路的输入端连接。
6.一种AES解密电路,其特征在于,所述AES解密电路包括:
依次连接首轮变换电路,普通轮变换电路及末轮变换电路,其中,普通轮变换电路采用权利要求2至权利要求5中任一权利要求所述的普通轮变换电路。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810597064.2A CN108964875B (zh) | 2018-06-11 | 2018-06-11 | 普通轮变换运算单元、普通轮变换电路及aes解密电路 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810597064.2A CN108964875B (zh) | 2018-06-11 | 2018-06-11 | 普通轮变换运算单元、普通轮变换电路及aes解密电路 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108964875A true CN108964875A (zh) | 2018-12-07 |
CN108964875B CN108964875B (zh) | 2021-03-05 |
Family
ID=64488119
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810597064.2A Active CN108964875B (zh) | 2018-06-11 | 2018-06-11 | 普通轮变换运算单元、普通轮变换电路及aes解密电路 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108964875B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109660333A (zh) * | 2019-01-25 | 2019-04-19 | 芜湖职业技术学院 | Aes解密复用轮变换运算单元结构 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102035641A (zh) * | 2009-09-24 | 2011-04-27 | 中兴通讯股份有限公司 | 一种实现aes加解密的装置和方法 |
CN103516512A (zh) * | 2013-10-21 | 2014-01-15 | 深圳市芯通信息科技有限公司 | 基于aes算法的加解密方法及加解密器 |
US20170118011A1 (en) * | 2014-03-28 | 2017-04-27 | Sony Corporation | Encryption processing device, encryption processing method, and program |
CN106921487A (zh) * | 2017-03-01 | 2017-07-04 | 芜湖职业技术学院 | 可重构s盒电路结构 |
CN107181586A (zh) * | 2017-05-22 | 2017-09-19 | 芜湖职业技术学院 | 可重构s盒电路结构 |
-
2018
- 2018-06-11 CN CN201810597064.2A patent/CN108964875B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102035641A (zh) * | 2009-09-24 | 2011-04-27 | 中兴通讯股份有限公司 | 一种实现aes加解密的装置和方法 |
CN103516512A (zh) * | 2013-10-21 | 2014-01-15 | 深圳市芯通信息科技有限公司 | 基于aes算法的加解密方法及加解密器 |
US20170118011A1 (en) * | 2014-03-28 | 2017-04-27 | Sony Corporation | Encryption processing device, encryption processing method, and program |
CN106921487A (zh) * | 2017-03-01 | 2017-07-04 | 芜湖职业技术学院 | 可重构s盒电路结构 |
CN107181586A (zh) * | 2017-05-22 | 2017-09-19 | 芜湖职业技术学院 | 可重构s盒电路结构 |
Non-Patent Citations (1)
Title |
---|
张肖强: "基于复合域运算的AES密码电路优化设计方法研究", 《中国博士学位论文全文数据库 信息科技辑》 * |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109660333A (zh) * | 2019-01-25 | 2019-04-19 | 芜湖职业技术学院 | Aes解密复用轮变换运算单元结构 |
Also Published As
Publication number | Publication date |
---|---|
CN108964875B (zh) | 2021-03-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN1921382B (zh) | 一种基于aes算法的加解密方法及加解密器 | |
CN104639314A (zh) | 基于aes加密/解密算法的装置和流水控制方法 | |
CN101588233B (zh) | 一种无线传感器网络节点应用中aes协处理器中的模块复用方法 | |
CN106921487A (zh) | 可重构s盒电路结构 | |
CN105959107B (zh) | 一种新型高安全的轻量级sfn分组密码实现方法 | |
CN109033892A (zh) | 基于合成矩阵的轮变换复用电路及aes解密电路 | |
Mane et al. | High speed area efficient FPGA implementation of AES algorithm | |
CN104852798B (zh) | 一种数据加解密系统及方法 | |
CN101599828A (zh) | 一种高效的rsa加解密方法及其协处理器 | |
CN108933652A (zh) | 一种普通轮变换运算单元、普通轮变换电路及aes解密电路 | |
Datta et al. | Reversible logic implementation of AES algorithm | |
Caforio et al. | Melting SNOW-V: improved lightweight architectures | |
CN109150495A (zh) | 一种轮变换复用电路及其aes解密电路 | |
CN107992283A (zh) | 一种基于降维实现有限域乘法的方法和装置 | |
CN109039583A (zh) | 复用轮变换电路、aes加密电路及加密方法 | |
CN108566271A (zh) | 复用轮变换电路、aes加密电路及其加密方法 | |
CN206585573U (zh) | 可重构s盒电路结构 | |
CN108964875A (zh) | 普通轮变换运算单元、普通轮变换电路及aes解密电路 | |
CN109033893A (zh) | 基于合成矩阵的aes加密单元、aes加密电路及其加密方法 | |
CN108809627A (zh) | 轮变换复用电路及aes解密电路 | |
CN109033847A (zh) | Aes加密运算单元、aes加密电路及其加密方法 | |
CN109033023A (zh) | 一种普通轮变换运算单元、普通轮变换电路及aes加密电路 | |
CN109639408A (zh) | 一种aes解密复用轮变换电路结构 | |
CN108989018A (zh) | 一种aes加密单元、aes加密电路及加密方法 | |
CN109033894A (zh) | 普通轮变换运算单元、普通轮变换电路及其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 |