CN109033893A - 基于合成矩阵的aes加密单元、aes加密电路及其加密方法 - Google Patents
基于合成矩阵的aes加密单元、aes加密电路及其加密方法 Download PDFInfo
- Publication number
- CN109033893A CN109033893A CN201810596810.6A CN201810596810A CN109033893A CN 109033893 A CN109033893 A CN 109033893A CN 201810596810 A CN201810596810 A CN 201810596810A CN 109033893 A CN109033893 A CN 109033893A
- Authority
- CN
- China
- Prior art keywords
- unit
- aes encryption
- data
- register
- constant
- 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/70—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
- G06F21/71—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information
- G06F21/72—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information in cryptographic circuits
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F7/00—Methods or arrangements for processing data by operating upon the order or content of the data handled
- G06F7/60—Methods or arrangements for performing computations using a digital non-denominational number representation, i.e. number representation without radix; Computing devices using combinations of denominational and non-denominational quantity representations, e.g. using difunction pulse trains, STEELE computers, phase computers
- G06F7/72—Methods or arrangements for performing computations using a digital non-denominational number representation, i.e. number representation without radix; Computing devices using combinations of denominational and non-denominational quantity representations, e.g. using difunction pulse trains, STEELE computers, phase computers using residue arithmetic
- G06F7/724—Finite field arithmetic
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Pure & Applied Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- Computational Mathematics (AREA)
- Mathematical Analysis (AREA)
- Mathematical Optimization (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Computer Security & Cryptography (AREA)
- Computing Systems (AREA)
- Complex Calculations (AREA)
- Storage Device Security (AREA)
Abstract
本发明适用于加密技术领域,提供了一种基于合成矩阵的AES加密单元、AES加密电路及加密方法,本发明提出AES加密单元,用于实现4个字节的AES加密,通过常数矩阵的合并与合成运算,将轮变换中的所有线性变换运算组合成两个合成矩阵,合成矩阵Δ与合成矩阵Λ,从而缩短实现AES加密电路关键路径,同时减少AES加密电路实现面积。
Description
技术领域
本发明属于加密技术领域,提供了一种基于合成矩阵的AES加密单元、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轮普通轮变换,以及末轮变换,首轮变换依次进行密钥加运算及字节替换运算,普通轮变换依次完成行移位运算、列混合运算、密钥加运算及字节替换运算,末轮变换依次完成行移位运算及密钥加运算,通过运算单元的单独运算来实现上述轮变换,不仅浪费电路资源,且关键路径较长。
将相邻的几个运算单元合并成一个运算单元进行实现,T盒实现方式是目前轮变换电路实现中最常用的运算单元合并实现方式,T盒实现通过预计算方式将S盒、行移位和列混合等运算的运算结果预存一个存储运算单元中,以查询表的方式实现S盒、行移位和列混合合并运算功能。T盒实现减少了整个轮变换电路的关键路径,因此T盒实现方式主要应用在高速AES电路设计中。T盒实现方式虽然可以加快数据处理速度,但也大大增加了电路面积,如Rach等人将基于复合域S盒/逆S盒中最后一级GF(24)乘法器、映射矩阵/逆映射运算、仿射/逆仿射运算、列混合/逆列混合运算和密钥加运算等五个运算合并成一个运算单元,合并运算单元缩短了电路关键路径,但同时也大大增加了电路面积。
发明内容
本发明实施例提供一种基于合成矩阵的AES加密单元,旨在解决现有的基于合并运算的AES加密电路,都是以增加电路面积为代价对关键路径长度进行优化的问题。
本发明是这样实现的,一种基于合成矩阵的AES加密单元,包括:
选择器S1、合成矩阵乘法运算单元1、选择器S2、复合域乘法逆运算单元、合成矩阵乘法运算单元2、以及常数加运算单元,选择器S1的一输入端与明文数据输入端连接,另一输入端与反馈数据输入端连接,输出端与合成矩阵乘法运算单元1的输入端连接,合成矩阵乘法运算单元1的输入端还与密钥输入端连接,合成矩阵乘法运算单元1设有三个输出端,其中两个输出端分别与选择器S2的两输入端连接,另一输出端与密文数据输出端连接,选择器S2的输出端与复合域乘法逆运算单元的输入端连接,复合域乘法逆运算单元的输出端与合成矩阵乘法运算单元2的输入端连接,合成矩阵乘法运算单元2的输出端与常数加运算单元的输入端连接,常数加运算单元的输出端与反馈数据输出端连接;
选择器S1从明文数据输入端输入的数据Df和从反馈数据输入端输入的数据Dn中选择一组送入合成矩阵乘法运算单元1,当进行首轮变换运算时,将数据Df送入合成矩阵乘法运算单元1中,当进行普通轮变换运算及末轮变换运算时,将数据Dn送入合成矩阵乘法运算单元1;
合成矩阵乘法运算单元1,将数据向量Dv=[d0,d1,d2,d3]T和密钥输入端输入的密钥向量Kv=[k0,k1,k2,k3]T组合成一个列向量Pv=[d0,d1,d2,d3,k0,k1,k2,k3]T,将合成矩阵Δ与列向量Pv进行乘法运算,运算结果Lf、Ln、及Cv分别是指合成矩阵Δ与列向量Pv乘法运算结果的第一行至第四行、第五行至第八行、第九行至第十二行组成的列向量,在进行首轮变换运算及普通轮变换运算时,将数据向量Lf=[lf0,lf1,lf2,lf3]T和数据向量Ln=[ln0,ln1,ln2,ln3]T输出到选择器S2,在进行末轮变换运算时,将数据向量Cv=[c0,c1,c2,c3]T从密文数据输出端输出,同时将运算次数计数置零,其中,合成矩阵Δ的表达式如下:
选择器S2从两组数据Lf和Ln中选择一组送入复合域乘法逆运算单元,当进行首轮变换运算时,将数据Lf送入复合域乘法逆运算单元中,当进行普通轮变换运算时,将数据Ln送入复合域乘法逆运算单元中;
复合域乘法逆运算单元将选择器S2输入的数据Lf或Ln中的每个字节进行复合域乘法逆运算,将复合域乘法逆运算结果Iv=[i0,i1,i2,i3]T输出到合成矩阵乘法运算单元2;
合成矩阵乘法运算单元2将合成矩阵Λ与数据向量Iv进行乘法运算,将运算结果Qv=[q0,q1,q2,q3]T输出到常数加运算单元,其中,合成矩阵Λ由四个常数矩阵λ组合而成,合成矩阵Λ的表达式如下:
常数加运算单元,将向量Qv=[q0,q1,q2,q3]T与常数向量Ωv=[ω,ω,ω,ω]T相加运算,将相加运算结果Rv=[r0,r1,r2,r3]T通过反馈数据输出端口反馈至反馈数据输入端。
本发明是这样实现的,一种AES加密电路,AES述加密电路包括:
一个AES加密单元,以及寄存器1和寄存器2,所述寄存器1及寄存器2的数据位宽为16字节,其中,所述寄存器1的输入端与所述AES加密单元的反馈数据输出端连接,输出端与寄存器2的输入端相连接,寄存器2输出端与所述AES加密单元的反馈数据输入端连接。
本发明是这样实现的,一种AES加密电路,AES加密电路包括:
两个AES加密单元,以及寄存器1和寄存器2,所述寄存器1及寄存器2的数据位宽为16字节,其中,所述寄存器1的输入端与两个AES加密单元的反馈数据输出端连接,输出端与寄存器2的输入端相连接,寄存器2输出端与两个AES加密单元的反馈数据输入端连接。
本发明是这样实现的,一种AES加密电路,AES加密电路包括:
四个AES加密单元,以及寄存器,所述寄存器的数据位宽为16字节,其中,所述寄存器的输入端与四个AES加密单元的反馈数据输出端连接,输出端与四个AES加密单元的反馈数据输入端连接。
本发明是这样实现的,一种基于AES加密电路的AES加密方法,方法包括如下步骤:
S1、AES加密单元的前4轮运算构成首轮变换,在首轮变换运算中,明文数据输入端输入的4字节数据经选择器S1进入合成矩阵乘法运算单元1,经合成矩阵乘法运算单元1的运算,将运算结果Lf和Ln输出到选择器S2,选择器S2选择输出运算结果Lf到复合域乘法逆运算单元,依次经复合域乘法逆运算单元、合成矩阵乘法运算单元2、及常数加运算单元运算,最终常数加运算单元将运算结果输出寄存器1中,经过4轮运算后,寄存器1将存储的数据输出到寄存器2中;
S2、AES加密单元的第5轮至4Nr轮运算构成Nr-1轮普通轮变换,在每轮普通轮变换运算中,寄存器2每次输出4字节的数据至反馈数据输出端,经选择器S1的选择输出至合成矩阵乘法运算单元1,经合成矩阵乘法运算单元1的运算,将运算结果Lf和Ln输入选择器S2,选择器S2选择运算结果Ln输出到复合域乘法逆运算单元,依次经复合域乘法逆运算单元、合成矩阵乘法运算单元2、及常数加运算单元运算,常数加运算单元将运算结果输出到寄存器1中,每循环4次完成一组16字节的普通轮变换运算后,寄存器1将存储的数据输出到寄存器2中,进行下一轮普通轮变换运算,共进行Nr-1轮普通轮变换运算;
S3、AES加密单元的第(4Nr+1)轮至第(4Nr+4)轮运算为末轮变换,在末轮变换运算中,寄存器2每次输出4字节的数据至反馈数据输出端,经选择器S1的选择输出至合成矩阵乘法运算单元1,经合成矩阵乘法运算单元1的运算,将运算结果Cv从密文数据输出端输出。
本发明是这样实现的,一种基于AES加密电路的AES加密方法,方法包括如下步骤:
S1、AES加密电路的前2轮运算构成首轮变换,从两个明文数据输入端分别输入4字节的数据至对应的AES加密单元,两AES加密单元分别进行4字节的首轮运算,在首轮变换运算中,从明文数据输入端输入的明文数据经选择器S1输出至合成矩阵乘法运算单元1,经合成矩阵乘法运算单元1的运算,经运算结果Lf和Ln输出到选择器S2,选择器S2选择运算结果Lf输出到复合域乘法逆运算单元,依次经复合域乘法逆运算单元、合成矩阵乘法运算单元2、及常数加运算单元运算,常数加运算单元将运算结果输出寄存器1中,AES加密电路经2轮运算完成一组16字节的首轮变换后,寄存器1将存储的数据输入到寄存器2中,寄存器2将两组4字节的数据分别输出至反馈数据输入端,进行下一轮首轮运算;
S2、AES加密电路的第3轮至第2Nr轮运算为普通轮变换,寄存器2将两组4字节的数据分别通过反馈数据输入端输出到两个AES加密单元,两个AES加密单元分别进行4字节的普通轮变换运算,在普通轮变换运算中,从反馈数据输入端输入的数据经选择器S1的选择输出至合成矩阵乘法运算单元1,经合成矩阵乘法运算单元的运算,将运算结果Lf和Ln输出选择器S2,选择器S2选择运算结果Ln输入到复合域乘法逆运算单元,依次经复合域乘法逆运算单元、合成矩阵乘法运算单元2、及常数加运算单元运算,常数加运算单元将运算结果输出到寄存器1中,循环2次完成一轮16字节的普通轮变换运算后,寄存器1将存储的数据输出到寄存器2中,进行下一轮普通轮变换运算,共进行Nr-1轮普通轮变换运算;
S3、AES加密电路的第2Nr+1轮至第2Nr+2轮运算为末轮变换,寄存器2每次将两组4字节的数据分别输出至反馈数据输入端,在末轮变换运算中,经选择器S1的选择输出至合成矩阵乘法运算单元1,经合成矩阵乘法运算单元的运算,将运算结果Cv从密文数据输出端输出。
本发明是这样实现的,一种基于AES加密电路的AES加密方法,方法包括如下步骤:
S1、AES加密电路的第一轮运算构成首轮变换,四组4字节的明文数据分别从4个明文数据输入端输入4个AES加密单元,4个AES加密单元分别进行4字节的首轮变换运算,在首轮变换运算中,从明文数据输入端输入的明文数据经选择器S1的选择输出至合成矩阵乘法运算单元1,经合成矩阵乘法运算单元1的运算,经运算结果Lf和Ln输入到选择器S2,选择器S2选择运算结果Lf输出到复合域乘法逆运算单元,依次经复合域乘法逆运算单元、合成矩阵乘法运算单元2、及常数加运算单元运算,常数加运算单元将运算结果输出寄存器中;
S2、AES加密电路的第2轮至第Nr轮运算为普通轮变换,寄存器将四组4字节的数据分别通过反馈数据输入端输出到四个AES加密单元,四个AES加密单元分别进行4字节的普通轮变换运算,在普通轮变换运算中,从反馈数据输入端输入的数据经选择器S1的控制输出至合成矩阵乘法运算单元1,经合成矩阵乘法运算单元1的运算,将运算结果Lf和Ln输入选择器S2,选择器S2选择运算结果Ln输出至复合域乘法逆运算单元,依次经复合域乘法逆运算单元、合成矩阵乘法运算单元2、及常数加运算单元运算,常数加运算单元将运算结果输出到寄存器中,进行下一轮普通轮变换运算,共进行Nr-1轮普通轮变换运算;
S3、AES加密电路的第Nr+1轮运算为末轮变换,寄存器将四组4字节的数据分别通过反馈数据输入端输出到四个AES加密单元,AES加密单元分别进行4字节的末轮变换运算,在末轮变换运算中,经反馈数据输入端输入的数据经选择器S1的选择,输出至合成矩阵乘法运算单元1,经合成矩阵乘法运算单元1的运算,将运算结果Cv从密文数据输出端输出。
本发明提出AES加密单元,用于实现4个字节的AES加密,通过常数矩阵的合并与合成运算,将轮变换中的所有线性变换运算组合成两个合成矩阵,合成矩阵Δ与合成矩阵Λ,从而缩短实现AES加密电路关键路径,同时减少AES加密电路实现面积。
附图说明
图1为本发明实施例提供的现有的AES加密流程图;
图2为本发明实施例提供的基于合成矩阵的AES加密单元的结构示意图;
图3为本发明实施例一提供的AES加密电路的结构示意图;
图4为本发明实施例二提供的AES加密电路的结构示意图;
图5为本发明实施例三提供的AES加密电路的结构示意图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
本发明实施例中,现有的运算单元包括:行移位运算单元、列混合运算单元、密钥加运算单元、字节替换运算单元,上述运算单元的运算方法具体如下:
1.行移位运算单元
行移位运算单元进行行位移运算,是一个简单的运算,在这个运算中,状态矩阵的第一行不变换,第二,三,四行分别向左移位一个字节,二个字节,和三个字节。假设经过行移位运算后的状态矩阵为:
行移位之后的状态矩阵可以表达为:
在硬件实现中,行移位运算不需要消耗任何逻辑电路资源,只需调整总线位置即可实现行移位运算。
2.列混合运算单元
列混合运算单元进行列混合运算,在列混合运算中,状态矩阵的每一列可以视为环R上的一个三次多项式,则列混合运算定义为状态矩阵的各个列多项式与一个常数多项式在环R上的乘积。假设经过列混合运算后的状态矩阵为:
列混合运算的表达式为:
其中矩阵Φ为列混合常数矩阵,常数矩阵Φ中的分别为GF(28)域上乘常数×{03}16、×{02}16、×{01}16的矩阵形式,本发明中{}16表示常数的十六进制形式。
3.密钥加运算单元
密钥加运算单元进行密钥加运算,是一个很简单的运算,密钥加运算定义为状态矩阵加上子密钥矩阵,这里的加法运算为GF(2)域加法运算,即位异或运算。假设经过密钥加运算后的状态矩阵为:
密钥加运算表达式为:
其中矩阵K为子密钥矩阵,子密钥矩阵由输入的原始密钥通过密钥扩展算法产生,子密钥矩阵也为4×4字节矩阵。
4.字节替换运算单元
字节替换运算单元进行字节替换运算,通常称为S盒运算,S盒运算是将状态矩阵中的每个字节根据字节替换表进行替换操作。假设经过S盒运算后的状态矩阵为:
则S盒运算可以表达为:
其中S()为S盒运算函数。S盒运算是普通轮变换四个运算中唯一的非线性运算,也是运算复杂度最高的运算,因此S盒电路占据了整个AES电路的绝大部分面积和功耗。
AES S盒运算中,输入字节首先进行一个有限域GF(28)域上乘法逆运算,然后进行一个仿射运算,其表达式为:
其中x为输入字节,()A -1为GF(28)域上的乘法逆运算,τ为8×8bit常数矩阵,ω为字节常数,τ和ω用于完成S盒中的仿射运算。
本发明所涉及GF(28)域为AES密码算法中所指定的GF(28)域,其不可约多项式为
f(x)=x8+x4+x3+x+1
常数矩阵τ和字节常数ω分别为:
在众多S盒实现方式中,基于复合域的S盒实现具有最小的电路面积。复合域S盒通过数学变换将S盒中的主要运算单元—GF(28)域乘法逆运算单元映射到复合域中实现。复合域乘法逆运算的计算复杂度要远远小于GF(28)域乘法逆的计算复杂度,因而可以大大减少S盒电路实现的硬件复杂度。
基于复合域的AES S盒运算表达式为:
其中()C -1为复合域上的乘法逆运算,复合域为任意与GF(28)域同构的复合域,δ为8×8bit映射矩阵,其作用是将输入字节x从GF(28)域映射到复合域,δ′为δ逆矩阵,其作用是将复合域乘法逆运算结果从复合域映射回到GF(28)域。
在有限域中,加法运算为位异或逻辑运算。根据 因此,常数加运算+ω在硬件实现时,加0运算可以直接省略掉,加1运算可以用两种方法代替异或逻辑运算:1.任意两个变量的异或逻辑采用同或逻辑代替;2.任意两个变量的采用异或逻辑+取反逻辑实现。由于同或逻辑门与异或逻辑门的电路面积和延时几乎相同,同时相比于异或逻辑门,反向逻辑门的电路面积和延时可以忽略,因此,在S盒硬件实现时,常数加运算+ω电路面积和延时可以忽略不计。
普通轮变换运算
普通轮变换中的四个运算单元可以单独实现,也可以将相邻的几个运算单元合并成一个运算单元进行实现。运算单元单独实现的轮变换电路不仅浪费电路资源,且关键路径较长。本发明根据普通轮变换公式,通过常数矩阵的合并与合成运算,对普通轮变换中的线性运算进行合并。根据上述中轮变换中的各个子运算公式,可以得出普通轮变换公式为:
其中Φ0:Φ3为常数矩阵Φ中的行向量,Dn0:Dn3为行移位后的数据矩阵Dn中的列向量,即:
将上述公式中具有相同输入的输出变量rx,y划分一组,则每一列输出变量可以组成一组,上述公式共可以划分成四个分组。这四个分组具有相同运算操作,并在硬件实现时具有相同的电路运算单元。每一分组输出变量都可以表达为线性方程形式:
上式中的输入变量和输出变量在每一分组中对应的变量为:
组I:组II:
组III:组IV:
为了减少电路实现面积,本发明进一步将S盒中的GF(28)乘法逆映射到复合域中,映射后的普通轮变换分组公式为:
首轮变换运算
按照上述子运算公式,同样可以得出首轮变换公式为:
按照普通轮变换分组,将上述首轮变换公式也可以分成四个分组,每一列输出变量划分为一组,则首轮变换分组公式为:
上式中的输入变量和输出变量在每一分组中对应的变量为:
组I:组II:
组III:组IV:
上述分组中,除了输入变量df0:df3以外,输入变量k0:k3和输出变量r0:r3在每一分组中对应的变量与普通轮变换相同。基于复合域的首轮变换分组公式为:
末轮变换运算
按照上述子运算公式,同样也可以得出末轮变换公式为:
按照普通轮变换分组,将末轮变换公式也可以分成四个分组,每一列输出变量划分为一组,则末轮变换分组公式为:
上式中的输入变量和输出变量在每一分组中对应的变量与普通轮变换相同。末轮变换在硬件实现时,只需要一级有限域加法运算。
本发明提出AES加密单元,用于实现4个字节的AES加密,通过常数矩阵的合并与合成运算,将轮变换中的所有线性变换运算组合成两个合成矩阵,合成矩阵Δ与合成矩阵Λ,从而缩短实现AES加密电路关键路径,同时减少AES加密电路实现面积。
图2为本发明实施例提供的基于合成矩阵的AES加密单元的结构示意图,为了便于说明,仅示出与本发明实施例相关的部分。
该AES加密单元,用于实现4个字节的AES加密,包括:
选择器S1、合成矩阵乘法运算单元1、选择器S2、复合域乘法逆运算单元、合成矩阵乘法运算单元2、以及常数加运算单元,
选择器S1的一输入端与明文数据输入端连接,另一输入端与反馈数据输入端相连接,输出端与合成矩阵乘法运算单元1的输入端连接;合成矩阵乘法运算单元1的输入端与密钥输入端连接,且其设有三个输出端,其中两输出端分别与选择器S2的两输入端连接,另一输出端为密文数据输出端连接;选择器S2的输出端与复合域乘法逆运算单元的输入端连接,复合域乘法逆运算单元的输出端与合成矩阵乘法运算单元2的输入端连接,合成矩阵乘法运算单元2的输出端与常数加运算单元的输入端连接,常数加运算单元的输出端与反馈数据输出端相连接;其中,明文数据输入端及密钥数据输入端的数据位宽为四个字节,选择器S1、合成矩阵乘法运算单元1、选择器S2、复合域乘法逆运算单元、合成矩阵乘法运算单元2、以及常数加运算单元的输入端及输出端均为四个字节;
选择器S1根据选择信号s1从明文数据输入端输入的数据Df及从反馈数据输入端输入的数据Dn中选择一组送入合成矩阵乘法运算单元1中,当进行首轮变换运算时,选择信号s1为0,二选一选择器S1将数据Df送入合成矩阵乘法运算单元1中,当进行普通轮变换运算及末轮变换运算时,选择信号s1为1,二选一选择器S1将数据Dn送入合成矩阵乘法运算单元1中,二选一选择器S1的具体表达形式为:
选择器输出结果Dv=[d0,d1,d2,d3]T进一步输出到合成矩阵乘法运算单元1中;
合成矩阵乘法运算单元1,将数据向量Dv=[d0,d1,d2,d3]T和从密钥输入端输入的密钥向量Kv=[k0,k1,k2,k3]T组合成一个列向量Pv=[d0,d1,d2,d3,k0,k1,k2,k3]T,将合成矩阵Δ与列向量Pv进行乘法运算,合成矩阵Δ由常数矩阵γ3、γ2、γ1、δ、组合而成,合成矩阵Δ的表达式如下:
其中常数矩阵γ3为常数矩阵δ和常数矩阵的乘积,即常数矩阵γ2为常数矩阵δ和常数矩阵的乘积,即常数矩阵γ1为常数矩阵δ和常数矩阵的乘积,即常数矩阵分别为GF(28)域上乘常数×{03}16、×{02}16、×{01}16的矩阵形式。常数矩阵δ为映射矩阵,其作用是将GF(28)域上的元素映射到复合域上。合成矩阵乘法运算单元1的具体表达形式为:
在进行第一轮至第Nr轮运算时,将数据向量Lf=[lf0,lf1,lf2,lf3]T和数据向量Ln=[ln0,ln1,ln2,ln3]T输出到二选一选择器S2,在第Nr+1轮运算时,将数据向量Cv=[c0,c1,c2,c3]T从密文数据输出端输出,合成矩阵乘法运算单元1在进行Nr+1轮运算后,运算次数计数置零。
选择器S2根据选择信号s2从两组数据Lf和Ln中选择一组送入复合域乘法逆运算单元中,当AES加密单元进行首轮变换运算时,选择信号s2为0,二选一选择器S2将数据Lf送入复合域乘法逆运算单元中,当AES加密单元进行普通轮变换运算时,选择信号s2为1,二选一选择器S2将数据Ln送入复合域乘法逆运算单元中,二选一选择器S2的具体表达形式为:
选择器输出结果Lv=[l0,l1,l2,l3]T进一步输出到复合域乘法逆运算单元中;
复合域乘法逆运算单元,将Lv=[l0,l1,l2,l3]T中的每个字节进行复合域乘法逆运算,这里的复合域为任意与GF(28)域同构的复合域,复合域乘法逆运算单元的具体表达形式为:
运算结果Iv=[i0,i1,i2,i3]T进一步输出到合成矩阵乘法运算单元2。
合成矩阵乘法运算单元2将合成矩阵Λ与数据向量Iv=[i0,i1,i2,i3]T进行乘法运算,合成矩阵Λ由四个常数矩阵λ组合而成,其中合成矩阵Λ的表达式如下:
其中,常数矩阵λ为常数矩阵τ和常数矩阵δ′的乘积,即λ=τ×δ′,常数矩阵τ为AESS盒中仿射运算所指定的常数矩阵,常数矩阵δ′为映射矩阵,其作用是将复合域上的元素映射到GF(28)域上,合成矩阵乘法运算单元2的具体表达形式为:
运算结果Qv=[q0,q1,q2,q3]T进一步输出到常数加运算单元。
常数加运算单元,将向量Qv=[q0,q1,q2,q3]T与常数向量Ωv=[ω,ω,ω,ω]T相加运算,其中,常数ω为AES S盒中仿射运算所指定的字节常数。常数加运算单元的具体表达形式为:
运算结果Rv=[r0,r1,r2,r3]T通过反馈数据输出端反馈至反馈数据输入端。
本发明提出的AES加密单元通过常数矩阵的合并与合成运算,将轮变换中的线性变换运算组合成两个合成矩阵,合成矩阵Δ与合成矩阵Λ,从而缩短电路关键路径,减少电路实现面积,此外,通过复用合成矩阵乘法运算单元1来构建首轮变换电路、普通轮变换电路及末轮变换复用电路,通过复用复合域乘法逆运算单元、合成矩阵乘法运算单元2及常数加运算单元来实现首轮变换及普通轮变换,节省大量电路资源的同时,也减小了电路的实现面积。
图3为本发明实施例一提供的AES加密电路的结构示意图,为了便于说明,仅示出与本发明实施例相关的部分。
该AES加密电路包括:
一个AES加密单元,以及寄存器1和寄存器2,寄存器1及寄存器2数据位宽为16字节,其中,寄存器1的输入端与AES加密单元的反馈数据输出端连接,输出端与寄存器2的输入端相连接,寄存器2输出端与AES加密单元的反馈数据输入端连接。
基于上述AES加密电路的加密方法,该方法包括如下步骤:
S1、AES加密单元的前4轮运算构成首轮变换,在首轮变换运算中,明文数据输入端输入的4字节数据经选择器S1进入合成矩阵乘法运算单元1,经合成矩阵乘法运算单元1的运算,将运算结果Lf和Ln输出到选择器S2,选择器S2选择输出运算结果Lf到复合域乘法逆运算单元,依次经复合域乘法逆运算单元、合成矩阵乘法运算单元2、及常数加运算单元运算,最终常数加运算单元将运算结果输出寄存器1中,经过4轮运算后,寄存器1将存储的数据输出到寄存器2中;
S2、AES加密单元的第5轮至4Nr轮运算构成Nr-1轮普通轮变换,在每轮普通轮变换运算中,寄存器2每次输出4字节的数据至反馈数据输出端,经选择器S1的选择输出至合成矩阵乘法运算单元1,经合成矩阵乘法运算单元1的运算,将运算结果Lf和Ln输入选择器S2,选择器S2选择运算结果Ln输出到复合域乘法逆运算单元,依次经复合域乘法逆运算单元、合成矩阵乘法运算单元2、及常数加运算单元运算,常数加运算单元将运算结果输出到寄存器1中,每循环4次完成一组16字节的普通轮变换运算后,寄存器1将存储的数据输出到寄存器2中,进行下一轮普通轮变换运算,共进行Nr-1轮普通轮变换运算;
S3、AES加密单元的第(4Nr+1)轮至第(4Nr+4)轮运算为末轮变换,末轮变换运算中,寄存器2每次输出4字节的数据至反馈数据输出端,经选择器S1的选择输出至合成矩阵乘法运算单元1,经合成矩阵乘法运算单元1的运算,将运算结果Cv从密文数据输出端输出。
图4为本发明实施例二提供的AES加密电路的结构示意图,为了便于说明,仅示出与本发明实施例相关的部分。
该AES加密电路包括:
两个AES加密单元,以及寄存器1和寄存器2,寄存器1及寄存器2数据位宽为16字节,其中,寄存器1的输入端与两个AES加密单元的反馈数据输出端连接,输出端与寄存器2的输入端连接,寄存器2的输出端与两个AES加密单元的反馈数据输入端连接。
基于上述AES加密电路的加密方法,该方法包括如下步骤:
S1、AES加密电路的前2轮运算构成首轮变换,从两个明文数据输入端分别输入4字节的数据至对应的AES加密单元,两AES加密单元分别进行4字节的首轮运算,在首轮变换运算中,从明文数据输入端输入的明文数据经选择器S1输出至合成矩阵乘法运算单元1,经合成矩阵乘法运算单元1的运算,经运算结果Lf和Ln输出到选择器S2,选择器S2选择运算结果Lf输出到复合域乘法逆运算单元,依次经复合域乘法逆运算单元、合成矩阵乘法运算单元2、及常数加运算单元运算,常数加运算单元将运算结果输出寄存器1中,AES加密电路经2轮运算完成一组16字节的首轮变换后,寄存器1将存储的数据输入到寄存器2中,寄存器2将两组4字节的数据分别输出至反馈数据输入端,进行下一轮首轮运算;
S2、AES加密电路的第3轮至第2Nr轮运算为普通轮变换,寄存器2将两组4字节的数据分别通过反馈数据输入端输出到两个AES加密单元,两个AES加密单元分别进行4字节的普通轮变换运算,在普通轮变换运算中,从反馈数据输入端输入的数据经选择器S1的选择输出至合成矩阵乘法运算单元1,经合成矩阵乘法运算单元的运算,将运算结果Lf和Ln输出选择器S2,选择器S2选择运算结果Ln输入到复合域乘法逆运算单元,依次经复合域乘法逆运算单元、合成矩阵乘法运算单元2、及常数加运算单元运算,常数加运算单元将运算结果输出到寄存器1中,循环2次完成一轮16字节的普通轮变换运算后,寄存器1将存储的数据输出到寄存器2中,进行下一轮普通轮变换运算,共进行Nr-1轮普通轮变换运算;
S3、AES加密电路的第2Nr+1轮至第2Nr+2轮运算为末轮变换,寄存器2每次将两组4字节的数据分别输出至反馈数据输入端,在末轮变换运算中,经选择器S1的选择输出至合成矩阵乘法运算单元1,经合成矩阵乘法运算单元的运算,将运算结果Cv从密文数据输出端输出。
图5为本发明实施例三提供的AES加密电路的结构示意图,为了便于说明,仅示出与本发明实施例相关的部分
该加密电路包括:
四个AES加密单元,以及寄存器,寄存器的数据位宽为16字节,四个AES加密单元的反馈数据输出端与寄存器的输入端连接,寄存器的输出端与四个寄存器的反馈数据输入端连接。
基于上述AES加密电路的加密方法,该方法包括如下步骤:
S1、AES加密电路的第一轮运算构成首轮变换,四组4字节的明文数据分别从4个明文数据输入端输入4个AES加密单元,4个AES加密单元分别进行4字节的首轮变换运算,在首轮变换运算中,从明文数据输入端输入的明文数据经选择器S1的选择输出至合成矩阵乘法运算单元1,经合成矩阵乘法运算单元1的运算,经运算结果Lf和Ln输入到选择器S2,选择器S2选择运算结果Lf输出到复合域乘法逆运算单元,依次经复合域乘法逆运算单元、合成矩阵乘法运算单元2、及常数加运算单元运算,常数加运算单元将运算结果输出寄存器中;
S2、AES加密电路的第2轮至第Nr轮运算为普通轮变换,寄存器将四组4字节的数据分别通过反馈数据输入端输出到四个AES加密单元,四个AES加密单元分别进行4字节的普通轮变换运算,在普通轮变换运算中,从反馈数据输入端输入的数据经选择器S1的控制输出至合成矩阵乘法运算单元1,经合成矩阵乘法运算单元1的运算,将运算结果Lf和Ln输入选择器S2,选择器S2选择运算结果Ln输出至复合域乘法逆运算单元,依次经复合域乘法逆运算单元、合成矩阵乘法运算单元2、及常数加运算单元运算,常数加运算单元将运算结果输出到寄存器中,进行下一轮普通轮变换运算,共进行Nr-1轮普通轮变换运算;
S3、AES加密电路的第Nr+1轮运算为末轮变换,寄存器将四组4字节的数据分别通过反馈数据输入端输出到四个AES加密单元,AES加密单元分贝进行4字节的末轮变换运算,在末轮变换运算中,经反馈数据输入端输入的数据经选择器S1的选择,输出至合成矩阵乘法运算单元1,经合成矩阵乘法运算单元1的运算,将运算结果Cv从密文数据输出端输出。
本发明实施例一提供AES加密电路是通过四个AES加密单元的并行处理来完成16字节的AES加密,实施例二及实施例三是通过AES加密单元的复用来完成16字节的AES加密,通过AES加密单元的复用完成AES加密,可以进一步节省大量电路资源,但复用结构相比于并行处理结构而言,整个AES加密速度要慢。
本发明提出的AES加密电路基于AES加密单元构成,由于AES加密单元通过常数矩阵的合并与合成运算,将轮变换中的线性变换运算组合成两个合成矩阵,合成矩阵Δ与合成矩阵Λ,从而缩短AES加密电路的关键路径,减少AES加密电路的实现面积,此外,通过复用合成矩阵乘法运算单元1来构建首轮变换电路、普通轮变换电路及末轮变换复用电路,通过复用复合域乘法逆运算单元、合成矩阵乘法运算单元2及常数加运算单元来实现首轮变换及普通轮变换,节省大量电路资源的同时,也减小了AES加密电路的实现面积。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。
Claims (7)
1.一种基于合成矩阵的AES加密单元,其特征在于,所述AES加密单元包括:
选择器S1、合成矩阵乘法运算单元1、选择器S2、复合域乘法逆运算单元、合成矩阵乘法运算单元2、以及常数加运算单元,其中,
选择器S1的一输入端与明文数据输入端连接,另一输入端与反馈数据输入端连接,输出端与合成矩阵乘法运算单元1的输入端连接,合成矩阵乘法运算单元1的输入端还与密钥输入端连接,合成矩阵乘法运算单元1设有三个输出端,其中两个输出端分别与选择器S2的两输入端连接,另一输出端与密文数据输出端连接,选择器S2的输出端与复合域乘法逆运算单元的输入端连接,复合域乘法逆运算单元的输出端与合成矩阵乘法运算单元2的输入端连接,合成矩阵乘法运算单元2的输出端与常数加运算单元的输入端连接,常数加运算单元的输出端与反馈数据输出端连接;
选择器S1从明文数据输入端输入的数据Df和从反馈数据输入端输入的数据Dn中选择一组送入合成矩阵乘法运算单元1,当进行首轮变换运算时,将数据Df送入合成矩阵乘法运算单元1中,当进行普通轮变换运算及末轮变换运算时,将数据Dn送入合成矩阵乘法运算单元1;
合成矩阵乘法运算单元1,将数据向量Dv=[d0,d1,d2,d3]T和密钥输入端输入的密钥向量Kv=[k0,k1,k2,k3]T组合成一个列向量Pv=[d0,d1,d2,d3,k0,k1,k2,k3]T,将合成矩阵Δ与列向量Pv进行乘法运算,运算结果Lf、Ln、及Cv分别是指合成矩阵Δ与列向量Pv乘法运算结果的第一行至第四行、第五行至第八行、第九行至第十二行组成的列向量,在进行首轮变换运算及普通轮变换运算时,将数据向量Lf=[lf0,lf1,lf2,lf3]T和数据向量Ln=[ln0,ln1,ln2,ln3]T输出到选择器S2,在进行末轮变换运算时,将数据向量Cv=[c0,c1,c2,c3]T从密文数据输出端输出,同时将运算次数计数置零,其中,合成矩阵Δ由常数矩阵γ3、γ2、γ1、δ、组合而成,合成矩阵Δ的表达式如下:
其中,常数矩阵γ3为常数矩阵δ和常数矩阵的乘积,即常数矩阵γ2为常数矩阵δ和常数矩阵的乘积,即常数矩阵γ1为常数矩阵δ和常数矩阵的乘积,即常数矩阵分别为GF(28)域上乘常数×{03}16、×{02}16、×{01}16的矩阵形式,常数矩阵δ为将GF(28)域上的元素映射到复合域的映射矩阵;
选择器S2从两组数据Lf和Ln中选择一组送入复合域乘法逆运算单元,当进行首轮变换运算时,将数据Lf送入复合域乘法逆运算单元中,当进行普通轮变换运算时,将数据Ln送入复合域乘法逆运算单元中;
复合域乘法逆运算单元将选择器S2输入的数据Lf或Ln中的每个字节进行复合域乘法逆运算,将复合域乘法逆运算结果Iv=[i0,i1,i2,i3]T输出到合成矩阵乘法运算单元2,所述复合域为任意与GF(28)域同构的复合域;
合成矩阵乘法运算单元2将合成矩阵Λ与数据向量Iv进行乘法运算,将运算结果Qv=[q0,q1,q2,q3]T输出到常数加运算单元,其中,合成矩阵Λ由四个常数矩阵λ组合而成,合成矩阵Λ的表达式如下:
其中,常数矩阵λ为常数矩阵τ和常数矩阵δ′的乘积,即λ=τ×δ′,常数矩阵τ为AES S盒中仿射运算所指定的常数矩阵,常数矩阵δ′为将复合域上的元素映射到GF(28)域上的映射矩阵;
常数加运算单元将向量Qv=[q0,q1,q2,q3]T与常数向量Ωv=[ω,ω,ω,ω]T相加运算,将相加运算结果Rv=[r0,r1,r2,r3]T通过反馈数据输出端口反馈至反馈数据输入端,其中,常数ω为AES S盒中仿射运算所指定的字节常数;
明文数据输入端及密钥数据输入端的数据位宽均为四个字节,选择器S1、合成矩阵乘法运算单元1、选择器S2、复合域乘法逆运算单元、合成矩阵乘法运算单元2、以及常数加运算单元的输入端及输出端的数据位宽均为四个字节。
2.一种AES加密电路,其特征在于,所述AES述加密电路包括:
一个如权利要求1所述的AES加密单元,以及寄存器1和寄存器2,所述寄存器1及寄存器2的数据位宽为16字节,其中,所述寄存器1的输入端与所述AES加密单元的反馈数据输出端连接,输出端与寄存器2的输入端相连接,寄存器2输出端与所述AES加密单元的反馈数据输入端连接。
3.一种AES加密电路,其特征在于,所述AES加密电路包括:
两个如权利要求1所述的AES加密单元,以及寄存器1和寄存器2,所述寄存器1及寄存器2的数据位宽为16字节,其中,所述寄存器1的输入端与两个AES加密单元的反馈数据输出端连接,输出端与寄存器2的输入端相连接,寄存器2输出端与两个AES加密单元的反馈数据输入端连接。
4.一种AES加密电路,其特征在于,所述AES加密电路包括:
四个如权利要求1所述的AES加密单元,以及寄存器,所述寄存器的数据位宽为16字节,其中,所述寄存器的输入端与四个AES加密单元的反馈数据输出端连接,输出端与四个AES加密单元的反馈数据输入端连接。
5.一种基于权利要求2所述的AES加密电路的AES加密方法,其特征在于,所述方法包括如下步骤:
S1、AES加密单元的前4轮运算构成首轮变换,在首轮变换运算中,明文数据输入端输入的4字节数据经选择器S1进入合成矩阵乘法运算单元1,经合成矩阵乘法运算单元1的运算,将运算结果Lf和Ln输出到选择器S2,选择器S2选择输出运算结果Lf到复合域乘法逆运算单元,依次经复合域乘法逆运算单元、合成矩阵乘法运算单元2、及常数加运算单元运算,最终常数加运算单元将运算结果输出寄存器1中,经过4轮运算后,寄存器1将存储的数据输出到寄存器2中;
S2、AES加密单元的第5轮至4Nr轮运算构成Nr-1轮普通轮变换,在每轮普通轮变换运算中,寄存器2每次输出4字节的数据至反馈数据输出端,经选择器S1的选择输出至合成矩阵乘法运算单元1,经合成矩阵乘法运算单元1的运算,将运算结果Lf和Ln输入选择器S2,选择器S2选择运算结果Ln输出到复合域乘法逆运算单元,依次经复合域乘法逆运算单元、合成矩阵乘法运算单元2、及常数加运算单元运算,常数加运算单元将运算结果输出到寄存器1中,每循环4次完成一组16字节的普通轮变换运算后,寄存器1将存储的数据输出到寄存器2中,进行下一轮普通轮变换运算,共进行Nr-1轮普通轮变换运算;
S3、AES加密单元的第(4Nr+1)轮至第(4Nr+4)轮运算为末轮变换,在末轮变换运算中,寄存器2每次输出4字节的数据至反馈数据输出端,经选择器S1的选择输出至合成矩阵乘法运算单元1,经合成矩阵乘法运算单元1的运算,将运算结果Cv从密文数据输出端输出。
6.一种基于权利要求3所述的AES加密电路的AES加密方法,其特征在于,所述方法包括如下步骤:
S1、AES加密电路的前2轮运算构成首轮变换,从两个明文数据输入端分别输入4字节的数据至对应的AES加密单元,两AES加密单元分别进行4字节的首轮运算,在首轮变换运算中,从明文数据输入端输入的明文数据经选择器S1输出至合成矩阵乘法运算单元1,经合成矩阵乘法运算单元1的运算,经运算结果Lf和Ln输出到选择器S2,选择器S2选择运算结果Lf输出到复合域乘法逆运算单元,依次经复合域乘法逆运算单元、合成矩阵乘法运算单元2、及常数加运算单元运算,常数加运算单元将运算结果输出寄存器1中,AES加密电路经2轮运算完成一组16字节的首轮变换后,寄存器1将存储的数据输入到寄存器2中,寄存器2将两组4字节的数据分别输出至反馈数据输入端,进行下一轮首轮运算;
S2、AES加密电路的第3轮至第2Nr轮运算为普通轮变换,寄存器2将两组4字节的数据分别通过反馈数据输入端输出到两个AES加密单元,两个AES加密单元分别进行4字节的普通轮变换运算,在普通轮变换运算中,从反馈数据输入端输入的数据经选择器S1的选择输出至合成矩阵乘法运算单元1,经合成矩阵乘法运算单元的运算,将运算结果Lf和Ln输出选择器S2,选择器S2选择运算结果Ln输入到复合域乘法逆运算单元,依次经复合域乘法逆运算单元、合成矩阵乘法运算单元2、及常数加运算单元运算,常数加运算单元将运算结果输出到寄存器1中,循环2次完成一轮16字节的普通轮变换运算后,寄存器1将存储的数据输出到寄存器2中,进行下一轮普通轮变换运算,共进行Nr-1轮普通轮变换运算;
S3、AES加密电路的第2Nr+1轮至第2Nr+2轮运算为末轮变换,寄存器2每次将两组4字节的数据分别输出至反馈数据输入端,在末轮变换运算中,经选择器S1的选择输出至合成矩阵乘法运算单元1,经合成矩阵乘法运算单元的运算,将运算结果Cv从密文数据输出端输出。
7.一种基于权利要求4所述的AES加密电路的AES加密方法,其特征在于,所述方法包括如下步骤:
S1、AES加密电路的第一轮运算构成首轮变换,四组4字节的明文数据分别从4个明文数据输入端输入4个AES加密单元,4个AES加密单元分别进行4字节的首轮变换运算,在首轮变换运算中,从明文数据输入端输入的明文数据经选择器S1的选择输出至合成矩阵乘法运算单元1,经合成矩阵乘法运算单元1的运算,经运算结果Lf和Ln输入到选择器S2,选择器S2选择运算结果Lf输出到复合域乘法逆运算单元,依次经复合域乘法逆运算单元、合成矩阵乘法运算单元2、及常数加运算单元运算,常数加运算单元将运算结果输出寄存器中;
S2、AES加密电路的第2轮至第Nr轮运算为普通轮变换,寄存器将四组4字节的数据分别通过反馈数据输入端输出到四个AES加密单元,四个AES加密单元分别进行4字节的普通轮变换运算,在普通轮变换运算中,从反馈数据输入端输入的数据经选择器S1的控制输出至合成矩阵乘法运算单元1,经合成矩阵乘法运算单元1的运算,将运算结果Lf和Ln输入选择器S2,选择器S2选择运算结果Ln输出至复合域乘法逆运算单元,依次经复合域乘法逆运算单元、合成矩阵乘法运算单元2、及常数加运算单元运算,常数加运算单元将运算结果输出到寄存器中,进行下一轮普通轮变换运算,共进行Nr-1轮普通轮变换运算;
S3、AES加密电路的第Nr+1轮运算为末轮变换,寄存器将四组4字节的数据分别通过反馈数据输入端输出到四个AES加密单元,AES加密单元分别进行4字节的末轮变换运算,在末轮变换运算中,经反馈数据输入端输入的数据经选择器S1的选择,输出至合成矩阵乘法运算单元1,经合成矩阵乘法运算单元1的运算,将运算结果Cv从密文数据输出端输出。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810596810.6A CN109033893B (zh) | 2018-06-11 | 2018-06-11 | 基于合成矩阵的aes加密单元、aes加密电路及其加密方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810596810.6A CN109033893B (zh) | 2018-06-11 | 2018-06-11 | 基于合成矩阵的aes加密单元、aes加密电路及其加密方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109033893A true CN109033893A (zh) | 2018-12-18 |
CN109033893B CN109033893B (zh) | 2021-06-18 |
Family
ID=64612591
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810596810.6A Active CN109033893B (zh) | 2018-06-11 | 2018-06-11 | 基于合成矩阵的aes加密单元、aes加密电路及其加密方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109033893B (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110505226A (zh) * | 2019-08-22 | 2019-11-26 | 北部湾大学 | 基于伽罗华环上形式矩阵的传输信息加密方法及装置 |
CN114143576A (zh) * | 2021-11-26 | 2022-03-04 | 广东爱视文化发展有限公司 | 一种音视频加密保护点播方法、装置及电子设备 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2009122464A1 (ja) * | 2008-03-31 | 2009-10-08 | 富士通株式会社 | 共通鍵暗号機能を搭載した暗号化装置及び組込装置 |
CN102035641A (zh) * | 2009-09-24 | 2011-04-27 | 中兴通讯股份有限公司 | 一种实现aes加解密的装置和方法 |
US20120121083A1 (en) * | 2010-11-16 | 2012-05-17 | Samsung Electronics Co., Ltd. | Encryption apparatus and method |
CN104158652A (zh) * | 2014-07-15 | 2014-11-19 | 南京航空航天大学 | 基于数据冗余实时检错机制的循环展开结构aes加/解密电路 |
CN106034021A (zh) * | 2015-03-12 | 2016-10-19 | 中国科学院上海高等研究院 | 轻量级双模兼容aes加解密模块及其方法 |
CN106921487A (zh) * | 2017-03-01 | 2017-07-04 | 芜湖职业技术学院 | 可重构s盒电路结构 |
-
2018
- 2018-06-11 CN CN201810596810.6A patent/CN109033893B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2009122464A1 (ja) * | 2008-03-31 | 2009-10-08 | 富士通株式会社 | 共通鍵暗号機能を搭載した暗号化装置及び組込装置 |
CN102035641A (zh) * | 2009-09-24 | 2011-04-27 | 中兴通讯股份有限公司 | 一种实现aes加解密的装置和方法 |
US20120121083A1 (en) * | 2010-11-16 | 2012-05-17 | Samsung Electronics Co., Ltd. | Encryption apparatus and method |
CN104158652A (zh) * | 2014-07-15 | 2014-11-19 | 南京航空航天大学 | 基于数据冗余实时检错机制的循环展开结构aes加/解密电路 |
CN106034021A (zh) * | 2015-03-12 | 2016-10-19 | 中国科学院上海高等研究院 | 轻量级双模兼容aes加解密模块及其方法 |
CN106921487A (zh) * | 2017-03-01 | 2017-07-04 | 芜湖职业技术学院 | 可重构s盒电路结构 |
Non-Patent Citations (4)
Title |
---|
KEERTHI ELSA THOMSON等: "Implementation of Low-Area S-Box Based on Normal Basis", 《2014 INTERNATIONAL CONFERENCE ON ELECTRONICS AND COMMUNICATION SYSTEMS (ICECS)》 * |
YAOPING LIU等: "An Area Optimized Implementation of AES S-Box Based on Composite Field and Evolutionary Algorithm", 《PROCEEDINGS OF THE WORLD CONGRESS ON ENGINEERING AND COMPUTER SCIENCE 2015》 * |
ZHANG XQ 等: "Optimization of Area and Delay for Implementation of the Composite Field Advanced Encryption Standard S-Box", 《JOURNAL OF CIRCUITS SYSTEMS AND COMPUTERS》 * |
张伟: "一种优化的AES算法及其FPGA实现", 《计算机与数字工程》 * |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110505226A (zh) * | 2019-08-22 | 2019-11-26 | 北部湾大学 | 基于伽罗华环上形式矩阵的传输信息加密方法及装置 |
CN110505226B (zh) * | 2019-08-22 | 2021-10-12 | 北部湾大学 | 基于伽罗华环上形式矩阵的传输信息加密方法及装置 |
CN114143576A (zh) * | 2021-11-26 | 2022-03-04 | 广东爱视文化发展有限公司 | 一种音视频加密保护点播方法、装置及电子设备 |
CN114143576B (zh) * | 2021-11-26 | 2024-04-09 | 广东爱视文化发展有限公司 | 一种音视频加密保护点播方法、装置及电子设备 |
Also Published As
Publication number | Publication date |
---|---|
CN109033893B (zh) | 2021-06-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104639314A (zh) | 基于aes加密/解密算法的装置和流水控制方法 | |
CN104852798B (zh) | 一种数据加解密系统及方法 | |
CN109033892B (zh) | 基于合成矩阵的轮变换复用电路及aes解密电路 | |
CN103684749B (zh) | 一种基于面积与性能平衡优化的klein加密实现方法 | |
CN109039583A (zh) | 复用轮变换电路、aes加密电路及加密方法 | |
CN109150495B (zh) | 一种轮变换复用电路及其aes解密电路 | |
CN109033893A (zh) | 基于合成矩阵的aes加密单元、aes加密电路及其加密方法 | |
CN108933652B (zh) | 一种普通轮变换运算单元、普通轮变换电路及aes解密电路 | |
CN109033847A (zh) | Aes加密运算单元、aes加密电路及其加密方法 | |
CN108566271A (zh) | 复用轮变换电路、aes加密电路及其加密方法 | |
CN108809627B (zh) | 轮变换复用电路及aes解密电路 | |
CN108989018A (zh) | 一种aes加密单元、aes加密电路及加密方法 | |
CN114615069B (zh) | 一种Quartet轻量级加密算法的实现装置及方法 | |
CN103731257B (zh) | 一种Piccolo加密算法硬件实现方法 | |
CN109033023A (zh) | 一种普通轮变换运算单元、普通轮变换电路及aes加密电路 | |
CN108964875B (zh) | 普通轮变换运算单元、普通轮变换电路及aes解密电路 | |
CN109639408A (zh) | 一种aes解密复用轮变换电路结构 | |
CN109150496A (zh) | Aes加密运算单元、aes加密电路及加密方法 | |
CN109033894A (zh) | 普通轮变换运算单元、普通轮变换电路及其aes加密电路 | |
CN108964876A (zh) | 普通轮变换运算单元、普通轮变换电路及aes加密电路 | |
CN109936440A (zh) | Aes解密电路中的复用轮变换运算单元结构和构建方法 | |
CN109660333A (zh) | Aes解密复用轮变换运算单元结构 | |
Hulle et al. | Compact Reconfigurable Architecture for Sosemanuk Stream Cipher | |
CN101739233B (zh) | 半循序输入的伽罗瓦乘法器与其执行方法 | |
Punia et al. | Speed Optimization of the AES Algorithm Using Pipeline Hardware Architecture |
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 |