CN109039608A - 一种基于双S核的8-bitAES电路 - Google Patents

一种基于双S核的8-bitAES电路 Download PDF

Info

Publication number
CN109039608A
CN109039608A CN201810971256.5A CN201810971256A CN109039608A CN 109039608 A CN109039608 A CN 109039608A CN 201810971256 A CN201810971256 A CN 201810971256A CN 109039608 A CN109039608 A CN 109039608A
Authority
CN
China
Prior art keywords
box
byte
period
data
intermediate data
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
Application number
CN201810971256.5A
Other languages
English (en)
Other versions
CN109039608B (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.)
Southeast University - Wuxi Institute Of Technology Integrated Circuits
Southeast University
Original Assignee
Southeast University - Wuxi Institute Of Technology Integrated Circuits
Southeast University
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 Southeast University - Wuxi Institute Of Technology Integrated Circuits, Southeast University filed Critical Southeast University - Wuxi Institute Of Technology Integrated Circuits
Priority to CN201810971256.5A priority Critical patent/CN109039608B/zh
Publication of CN109039608A publication Critical patent/CN109039608A/zh
Priority to PCT/CN2019/078238 priority patent/WO2020037981A1/zh
Application granted granted Critical
Publication of CN109039608B publication Critical patent/CN109039608B/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
    • H04L9/0631Substitution permutation network [SPN], i.e. cipher composed of a number of stages or rounds each involving linear and nonlinear transformations, e.g. AES algorithms
    • 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/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0891Revocation or update of secret information, e.g. encryption key update or rekeying
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Storage Device Security (AREA)

Abstract

本发明公开了一种基于双S核的8‑bitAES电路,属于保密或安全通信装置的技术领域。该电路面向IoT应用,与传统128‑bit AES电路相比,采用了8比特的数据路径,通过充分利用串行处理和部分并行处理来降低电路面积与功耗,提高能量效率。电路包括:数据处理模块、密钥扩展模块、控制模块、密钥加模块。双S核的设计使数据处理模块和密钥扩展模块可以并行执行,数据处理模块充分利用S核不被密钥扩展模块调用的空闲时间,降低周期数,提高吞吐率。同时,移位操作采用寄存器到寄存器的方式实现,减少了中间寄存器,进一步降低了电路面积。

Description

一种基于双S核的8-bitAES电路
技术领域
本发明公开了一种基于双S核的8-bitAES电路,属于保密或安全通信装置的技术领域。
背景技术
随着物联网(Internet of Things,IoT)技术的迅速发展,市场对物联网芯片的需求也越来越多。就物联网的安全性需求而言,由于存在大量的信息交互,数据安全是物联网中很重要的一个问题。
为了保障信息安全,加密算法被广泛地应用在片上系统(System on a Chip,SoC)中,其中最具代表性的是高级加密算法(Advanced Encryption Standard,AES)。AES算法也称为Rijndael算法是一种对称分组密码算法,数据以128位的块进行加密和解密。
传统128-bit AES采用的是16字节的128位数据路径,64个布线轨道用于行移位置换,以实现单周期轮延迟和10周期的迭代。然而,这些并行操作导致的大面积开销和能量消耗使得它们不适合在受电池电量约束的移动和可穿戴系统以及IoT领域使用。
由于物联网领域对数据加密有迫切需求,同时128-bit AES的面积和功耗已经无法满足轻量级设备的使用,8-bit AES逐渐受到了重视。面向IoT应用的8-bit AES采用了8比特的数据路径,与传统128-bit AES电路相比,通过充分利用串行处理和部分并行处理来降低电路面积与功耗来提高能量效率,其中一个重要的模块S-box通过非线性变化完成字节替代变换功能。数据路径为8-bit的AES电路将S-Box数量减少至只剩一个或者两个,即,通过减少组合逻辑来降低功耗并减小面积,但是实现加密运算的周期明显增多,吞吐率大大降低。
发明内容
本发明的发明目的是针对上述背景技术的不足,提供了一种基于双S核的8-bitAES电路,在双S核的电路架构下,通过合理划分密钥扩展模块的运算周期将S-Box运算集中在前期处理周期,使得密钥扩展模块调用的S-Box核在后期处理周期空闲,数据处理模块通过调用空闲的S-Box核分担已调用S-Box的运算任务,通过并行处理数据处理和密钥扩展,以较短的运算周期实现了8-bitAES电路吞吐率的提高,解决了传统128-bitAES电路功耗面积大、传统8-bit AES电路加密运算周期过长的技术问题。
本发明为实现上述发明目的采用如下技术方案:
一种基于双S核的8-bitAES电路包括:数据处理模块、密钥扩展模块、控制模块、密钥加模块;
数据处理模块,在第一至第四周期内调用一个S-Box核对中间数据的四个字节进行S-Box运算并完成循环移位运算,在第五至第十一周期内调用两个S-Box核对中间数据的其余十二个字节进行S-Box运算并完成其余十二个字节的循环移位运算以及所有字节的列混合运算,生成新的中间数据,
密钥扩展模块,在第一至第四周期内共享数据处理模块正在调用的S-Box核对所有字节进行S-Box运算并完成循环移位运算,在第五至第十一周期内对移位后的扩展密钥进行异或运算,生成新的扩展密钥,
密钥加模块,对数据处理模块产生的中间数据和密钥扩展模块更新的扩展密钥进行异或运算产生下一轮的中间数据或者密文,
控制模块,使能数据处理模块对中间数据进行S-Box运算、行移位运算、列混合运算以生成新的中间数据,使能密钥扩展模块对扩展密钥进行S-Box运算、循环移位运算、异或运算以更新扩展密钥,使能密钥加模块生成下一轮的中间数据或者密文。
作为基于双S核的8-bitAES电路的进一步优化方案,用仿射变换S-Box核代替LUTS-Box核,减少面积,同时仿射变换S-Box核三条路径插入D触发器的方式能够减少毛刺功耗,以降低使用仿射变换S-Box核所增加的额外功耗。
作为基于双S核的8-bitAES电路的进一步优化方案,数据处理模块把S-Box运算、行移位运算、列混合运算进行整合,在5-11周期调用密钥扩展完成后空闲的S-Box1进行并行运算,降低数据处理模块执行周期数;移位操作通过寄存器到寄存器的赋值方式实现,减少了中间寄存器,其具体流程为:
步骤一:当收到来自控制模块的数据处理使能信号sub_start_i时,进行数据处理。若为第一轮,则直接调用明文;若非第一轮,则对密钥加运算后的结果进行数据处理;
步骤二:在第1-4个周期,通过S-Box2对第12-15四个字节数据进行S-Box运算,第12-14字节完成运算后存入中间寄存器,第15字节运算完成后存入原始寄存器,总共带来3个字节的中间寄存器面积代价;
步骤三:在第5-6个周期,对第11和第5字节通过S-Box2进行S-Box运算,由于S-Box1已处于空闲状态,对第10和第0字节通过S-Box1进行S-Box运算,这四个字节完成运算后直接存入原始寄存器,未带来任何面积代价;S-Box运算完成后对新的第12-15字节进行列混合运算;
步骤四:在第7-8个周期,对第9和第6字节通过S-Box2进行S-Box运算,对第8和第1字节通过S-Box1进行S-Box运算,第9和第8字节完成运算后存入中间寄存器,第6和第1字节完成运算后存入原始寄存器,带来两个字节的中间寄存器面积代价;S-Box运算完成后对新的第8-11字节进行列混合运算;
步骤五:在第9-10个周期,对第7和第3字节通过S-Box2进行S-Box运算,对第2和第4字节通过S-Box1进行S-Box运算,运算结果均存入寄存器,未带来任何面积代价;S-Box运算完成后对新的第4-7字节进行列混合运算;
步骤六:在第11周期对新的第0-3字节进行列混合运算,至此,经过数据处理后的新的128位数据已经完全产生,输出数据处理完成信号sub_ready_o至控制模块。
作为基于双S核的8-bitAES电路的进一步优化方案,密钥扩展模块采用循环地址发生器的方式(one-hot-shift)整体实现以及利用卡诺图实现的方式代替Rcon传统查找表的方式,减小模块面积;密钥扩展模块在11个周期完成运算,在1-5周期内完成密钥最后一列所有元素的S-Box运算以及最后一列数据的字节循环移位,在第5-11周期内对经字节循环位移操作后的扩展密钥以及还未进行扩展的密钥的各列数据进行异或运算得到更新后的扩展密钥,密钥扩展模块和数据处理模块完全并行,从而减少周期数,提高吞吐率,其具体运算流程如下:
步骤一:当收到来自控制模块的密钥使能信号key_start_i时,进行密钥扩展。若为第一轮,则直接调用原始密钥;若非第一轮,则进行密钥扩展;
步骤二:第1-4周期完成对矩阵中最后一列数据的S-Box运算,每个周期对矩阵最后一列中的一个数据进行S-Box运算;同时,第2-5周期对已完成S-Box运算的字节进行字节循环移位;
步骤三:第5个周期,更新下一轮扩展密钥的第一列数据;
步骤四:第6-11个周期,更新剩下12个字节的扩展密钥,每个周期更新两个字节;
步骤五:第11个周期,生成经过密钥扩展后的新密钥以及密钥扩展完成信号key_ready_o。
作为基于双S核的8-bitAES电路的进一步优化方案,密钥扩展模块采用循环地址发生器的方式(one-hot-shift)方式实现新的密钥扩展模块,是一种循环地址发生器,由11个串联的寄存器组成,在每个时钟周期,只有一个触发器被使能。
本发明采用上述技术方案,具有以下有益效果:
(1)在双S核的电路架构下,通过合理划分密钥扩展模块的运算周期将S-Box运算集中在前期处理周期,使得密钥扩展模块调用的S-Box核在后期处理周期空闲,数据处理模块通过调用空闲的S-Box核分担已调用S-Box的运算任务,通过完全并行处理数据处理和密钥扩展,减少周期数到113,以较短的运算周期实现了8-bitAES电路吞吐率的提高;
(2)用仿射变换S-Box核代替LUT S-Box核,减少面积,同时仿射变换S-Box核三条路径插入D触发器的方式能够减少毛刺功耗,以降低使用仿射变换S-Box核所增加的额外功耗;
(3)采用循环地址发生器的方式(one-hot-shift)整体实现密钥扩展模块,经过11个周期即可实现,并利用卡诺图实现的方式代替Rcon传统查找表的方式以减小面积,前5个周期就已经完成了下一轮扩展秘钥的第一列数据,剩下的12个扩展秘钥只需要通过异或运算完成即可,将12个异或运算平均分配到6个周期中,从而可以将进行异或运算的面积代价降到最低,不会有冗余或者空闲的单元,相比于需要16个周期甚至5n+1(其中,n为轮数)个周期实现的传统密钥扩展模块,缩短执行周期且减小电路面积;
(4)数据处理模块充分利用密钥扩展模块不使用S-Box的空闲时间,在与密钥扩展模块处理周期一样的时间内实现中间数据的更新,降低数据处理模块执行周期数,提高吞吐率,同时,寄存器从384个减少到168个,其中,中间寄存器从128个减少到40个,相比于需要21个周期的传统数据处理模块,降低执行周期数的同时降低了电路面积。
附图说明
图1为本发明双S核8-bitAES电路的结构框图。
图2为本发明的S-Box的结构图。
图3为本发明双S核8-bitAES电路时序图。
图4为本发明的密钥扩展模块结构图。
图5位本发明的数据处理模块结构图。
图6位本发明双S核8-bitAES电路的数据流图。
具体实施方式
下面结合附图对发明的技术方案进行详细说明。
本发明设计的基于双S核的8-bitAES电路如图1所示,主要分为四个模块:数据处理模块、密钥扩展模块、控制模块、密钥加模块。电路的输入信号为时钟信号clk、复位信号reset、启动信号start_i、明文data_i、密钥key_i,输出信号为完成信号ready_o、密文data_o,该电路的工作可分为以下几个步骤:
步骤1:在电路启动初始,控制模块通过监测外部加密使能信号start_i来执行加密操作,首先进行第一轮运算,将输入的原始明文data_i和密钥key_i直接输入至密钥加模块,进行密钥加运算。
步骤2:密钥加运算完成之后,发送密钥加已完成信号Addroundkey_ready_o至控制模块。控制模块判断轮数,若轮数<10,控制模块分别发出密钥扩展使能信号key_start_i信号和数据处理使能信号sub_start_i信号给密钥扩展模块和数据处理模块;若轮数=10,得到最终的密文并产生ready_o信号。
步骤3:在1-10周期,同时执行密钥扩展和数据处理,数据处理分三步,分别是S-Box运算、列混合运算和行移位变换(在第10轮不包含列混合运算);其中,S-Box1在在1-4周期被密钥扩展模块调用,在5-10周期被数据处理模块调用;而S-Box2一直由数据处理模块调用。
步骤4:当密钥扩展和数据处理均完成时,发出key_ready_o和sub_ready_o信号给控制模块;控制模块发出密钥加使能信号addroundkey_start_i,执行新一轮的密钥加功能。
步骤5:重复步骤2-4,一共10轮。
图2为S-Box的结构图,数据处理模块和密钥扩展模块使用的S-Box1和S-Box2都采用了该结构,这种方式实现的S-Box用仿射变换代替LUT,减小了面积。为了降低功耗,将S-Box中延时长的路径和延时短的路径平衡化处理,S-Box中一共含有两条短路径、一条长路径,通过对这三条路径插入D触发器的方式以减少毛刺功耗,即在(1)(2)(3)处插入触发器以减少毛刺功耗。同时,S-Box的关键路径包括两个GF(24)乘法,在(2)处插入触发器可以减小关键路径延时,从而提高整体AES电路加密的频率以提高吞吐率。
图3为双S核8-bit AES电路时序图,按七个步骤执行,一共需要T个周期完成AES加密运算,公式如下:
T=Tcycle*10+Tinit+Tready
其中,Tcycle代表每轮需要的周期,值为11,表示一共需要11周期完成一轮迭代;数据处理模块和密钥扩展模块并行执行,共需要11个周期。
Tinit代表第一轮密钥加需要的周期,值为2,步骤1阶段中第一轮密钥加时,需要2个周期完成运算,即图3中左下角浅灰色区域所示。
Tready代表生成加密完成信号需要的周期,值为1,最后一轮完成运算时产生最终AES加密完成信号ready_o需要1个周期,即图3中右下角深灰色区域所示。
故整个单S核的8-bit AES加密运算需要113个周期完成。
图4为密钥扩展模块,密钥扩展模块与数据处理模块完全并行。由于数据处理一轮周期需要11个周期,故在双S核的设计中,不再把密钥扩展模块限制在5个周期内完成。因此,此处采用一种新的方式,11个周期实现。在1-5周期内完成S-Box运算和字节循环移位,在第5-11周期内完成异或运算,其具体运算流程如下:
步骤一:当收到来自控制模块的密钥扩展使能信号key_start_i时,进行密钥扩展,若为第一轮,则直接调用原始密钥key_i,若非第一轮,则对上一轮扩展密钥进行扩展;
步骤二:第1-4周期完成对密钥矩阵中最后一列数据的S-Box运算,每个周期完成密钥矩阵最后一列中一个元素的S-Box运算;同时,第2-4周期对已完成S-Box运算的字节进行字节循环移位,每个周期将当前密钥矩阵的最后一列移位至第一列;
步骤三:第5个周期,将前4个周期S-Box运算后的密钥矩阵第一列数据分别与原扩展密钥的第一列数据以及rcon进行异或运算,更新下一轮扩展密钥的第一列数据;
步骤四:第6-11个周期,下一轮扩展密钥剩余12个字节与原扩展密钥的按位异或运算,更新剩下12个字节的扩展密钥,每个周期更新两个字节。
步骤五:第11个周期,生成下一轮扩展密钥以及密钥扩展完成信号key_ready_o。
本设计采用循环地址发生器的方式(one-hot-shift)实现新的密钥扩展模块,是一种循环地址发生器,由11个串联的寄存器组成。在每个时钟周期,只有一个触发器被使能。和传统的迭代方式相比,这种实现方式面积更小。
传统方式采用的是查找表的方式来实现。本设计中通过简单的卡诺图优化方法对Rcon进行了优化,具体结果如下式所示:
input=round[3:0]
output=rcon[7:0]
rcon[7]=round[2]·round[1]·round[0]
采用卡诺图实现所带来的优点是面积更小,功耗更小,当然其执行速度要低于查找表的方式,但是对于该模块,不需要考虑其执行速度,只要能满足每轮开始定期更新就行。
图5为数据处理模块,数据处理模块把传统的S-Box运算、列混合运算和行移位变换进行优化整合,按照从高四位至低四位的顺序进行轮密钥的列混合运算。通过列混合运算、S-Box运算和行移位变换的并行处理交叉进行,压缩整体实现周期数。由于在5-11周期,密钥扩展模块已使用完成S-Box1,此时多一个空闲的S-Box可以调用,故一轮数据处理只需要11个周期就可以完成。下面讨论其具体执行方式,流程如下:
步骤一:当收到来自控制模块的数据处理使能信号sub_start_i时,进行数据处理,若为第一轮,则直接调用明文,若非第一轮,则对上一轮密钥加运算得到的轮密钥进行数据处理。
步骤二:在第1-4个周期,通过S-Box2对D15、D14、D13和D12四个字节数据进行S-Box运算,带来3个字节的中间寄存器面积代价。由于D14、D13和D12进行S-Box运算后的数据D’14,D’13和D’12要进入的地址L2、L5和L8中的数据还未进行运算,故该地址处于非空闲状态,这三组值赋值到I2、I5和I8三个8bit中间寄存器(ImmediateReg)。D15进行S-Box运算后的数据D’15进入原地址L15。
步骤三:在第5-6个周期,由于S-Box1已处于空闲状态,对数据D11和D5通过S-Box2进行S-Box运算,对数据D10和D0通过S-Box1进行S-Box运算,未带来任何面积代价;由于D11、D10、D5和D0进行S-Box运算后的数据要进入地址L11、L14、L13和L12中,而这四个地址所对应的旧数据D15、D14、D13和D12已进行过S-Box运算,且运算后的值已进入新的地址,故这些地址处于空闲状态。因此,这四组经过S-Box运算后的数据D’11、D’10、D’5和D’0直接赋值到L11、L14、L13和L12四个8bit原寄存器中(DataReg);同时当轮数小于10时,在第7周期,此时新的位于L12-L15位置的数据已经生成,对L12、L13、L14和L15数据进行列混合运算,运算后的结果传入L12-L15。
步骤四:在第7-8个周期,对数据D9和D6通过S-Box2进行S-Box运算,对数据D8和D1通过S-Box1进行S-Box运算,带来两个字节的中间寄存器面积代价;由于D9和D8进行S-Box运算后的数据要进入的地址L1和L4中的数据还未进行变换,故这些地址处于非空闲状态,将D’9和D’8赋值到I1和I4两个8bit中间寄存器(ImmediateReg)。D6和D1进行S-Box运算后的数据D’6和D’1要进入地址L10和L9中,而这两个地址所对应的数据D10和D9已进行过运算,且运算后的值已进入新的地址,故这些地址处于空闲状态。因此,这两组值D’6和D’1直接赋值到L10和L9两个8bit原寄存器中(DataReg)。同时当轮数小于10时,在第9周期,此时新的位于L8-L11位置的数据已经全部生成,对I8、L9、L10和L11进行列混合运算,运算后的结果传入L8-L11(此时L8的数据已经被运算过,处于空闲状态)。
步骤五:在第9-10个周期,对数据D7和D3通过S-Box2进行S-Box运算,对数据D2和D4通过S-Box1进行S-Box运算,未带来任何面积代价;由于D2和D4进行S-Box运算后的数据D’2和D’4要进入地址L6和L0中,这两个地址所对应的旧数据D6和D0已进行过运算,且运算后的值已进入新的地址,故这些地址处于空闲状态,这两组值D’2和D’4直接赋值到L6和L0两个8bit原寄存器中(DataReg)。D7和D3进行S-Box运算后的数据D’7和D’3进入原地址L7和L3。同时当轮数小于10时,在第10周期,此时新的位于L4-L7的数据已经全部生成,对I4、I5、L6、L7数据进行列混合运算,运算后的结果传入L4-L7(此时L4和L5数据均已经被运算过,处于空闲状态)。
步骤六:当轮数小于10时,在第11个周期,此时新的位于L0-L3的数据已经全部生成,对L0、I1、L2和L3数据进行列混合运算,运算后的结果传入L0-L3(此时L1和L2数据均已经被运算过,处于空闲状态)。至此,经过数据处理后的新的128位数据sub_data_o已经完全产生,输出数据处理完成信号sub_ready_o至控制模块。
图6为双S核8-bitAES电路的数据流表,新产生的数据D'9、D'14、D'8、D'13和D'12位于DataReg中L1/L2/L4/L5/L8处,由于这些位置处于非空闲状态,数据传入ImmediateRegI1/I2/I4/I5/I8;其次,表中斜体部分代表是通过S-Box1执行S-Box运算的,其它均通过S-Box2执行该运算;最后,'(M)'代表在完成该周期的S-Box运算后,在下一个周期完成4个字节的列混合运算。

Claims (5)

1.一种基于双S核的8-bitAES电路,其特征在于,包括:
数据处理模块,在第一至第四周期内调用一个S-Box核对中间数据的四个字节进行S-Box运算并完成循环移位运算,在第五至第十一周期内调用两个S-Box核对中间数据的其余十二个字节进行S-Box运算并完成其余十二个字节的循环移位运算以及所有字节的列混合运算,生成新的中间数据,
密钥扩展模块,在第一至第四周期内共享数据处理模块正在调用的S-Box核对所有字节进行S-Box运算并完成循环移位运算,在第五至第十一周期内对移位后的扩展密钥进行异或运算,生成新的扩展密钥,
密钥加模块,对数据处理模块产生的中间数据和密钥扩展模块更新的扩展密钥进行异或运算产生下一轮的中间数据或者密文,及,
控制模块,使能数据处理模块对中间数据进行S-Box运算、行移位运算、列混合运算以生成新的中间数据,使能密钥扩展模块对扩展密钥进行S-Box运算、循环移位运算、异或运算以更新扩展密钥,使能密钥加模块生成下一轮的中间数据或者密文。
2.根据权利要求1所述基于双S核的8-bitAES电路,其特征在于,所述S-Box核基于仿射变换实现,并在S-Box核的若干路径中插入D触发器。
3.根据权利要求1所述基于双S核的8-bit AES电路,其特征在于,所述数据处理模块在接收到控制模块的使能信号后执行如下步骤生成新的中间数据:
A、在第1至第4周期,调用一个S-Box核对中间数据的第12至第15四个字节进行S-Box运算,将第12至第14字节的S-Box运算结果存入中间寄存器,将第15字节S-Box运算结果存入原始寄存器;
B、在第5至第6周期,继续调用前4周期使用的S-Box核对中间数据的第11字节和第5字节进行S-Box运算,调用处于空闲状态的另一个S-Box核对中间数据的第10和第0字节进行S-Box运算,将第11字节、第5字节、第10字节、第0字节的S-Box运算结果存入原始寄存器,对移位后中间数据的第12至第15字节进行列混合运算;
C、在第7至第8周期,继续调用前4周期使用的S-Box核对中间数据的第9字节和第6字节进行S-Box运算,调用处于空闲状态的另一个S-Box核对中间数据的第8和第1字节进行S-Box运算,将第9字节和第8字节的S-Box运算结果存入中间寄存器,将第6字节和第1字节的S-Box运算结果存入原始寄存器,对移位后中间数据的第8至第11字节进行列混合运算;
D、在第9至第10周期,继续调用前4周期使用的S-Box核对中间数据的第7字节和第3字节进行S-Box运算,调用处于空闲状态的另一个S-Box核对中间数据的第2字节和第4字节进行S-Box运算,将第7字节、第3字节、第2字节、第4字节的S-Box运算结果存入原始寄存器,对移位后中间数据的第4至第7字节进行列混合运算;
E、在第11周期,对移位后中间数据的第0至第3字节进行列混合运算,输出数据处理完成信号至控制模块。
4.根据权利要求1所述基于双S核的8-bit AES电路,其特征在于,所述密钥扩展模块在接收到控制模块的使能信号后执行如下步骤生成新的扩展密钥:
a、在第1周期,对扩展密钥矩阵中最后一列数据的第二个字节进行S-Box运算;
b、在第2周期,对扩展密钥矩阵中最后第一列数据的第三个字节进行S-Box运算;
c、在第3周期,对扩展密钥矩阵中最后一列数据的第四个字节进行S-Box运算;
d、在第4周期,对扩展密钥矩阵中最后一列数据的第一个字节进行S-Box运算,将当前扩展密钥矩阵中最后一列数据移位至第一列;
e、在第5周期,将第1至第4周期中得到的第一列数据与原扩展密钥的第一列数据以及rcon进行异或运算生成下一轮扩展密钥的第一列数据;
f、在第6至第11周期这6个周期内,以每个周期更新两个字节的方式完成下一轮扩展密钥剩余12个字节与原扩展密钥的按位异或运算,第11周期完成异或运算后输出密钥扩展完成信号至控制模块。
5.根据权利要求4所述基于双S核的8-bitAES电路,其特征在于,所述密钥扩展模块为串联寄存器组成的循环地址发生器,利用卡诺图实现的方式代替Rcon传统查找表方式实现循环地址的触发。
CN201810971256.5A 2018-08-24 2018-08-24 一种基于双S核的8-bitAES电路 Active CN109039608B (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN201810971256.5A CN109039608B (zh) 2018-08-24 2018-08-24 一种基于双S核的8-bitAES电路
PCT/CN2019/078238 WO2020037981A1 (zh) 2018-08-24 2019-03-15 一种基于双S核的8-bitAES电路

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201810971256.5A CN109039608B (zh) 2018-08-24 2018-08-24 一种基于双S核的8-bitAES电路

Publications (2)

Publication Number Publication Date
CN109039608A true CN109039608A (zh) 2018-12-18
CN109039608B CN109039608B (zh) 2023-05-09

Family

ID=64627465

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810971256.5A Active CN109039608B (zh) 2018-08-24 2018-08-24 一种基于双S核的8-bitAES电路

Country Status (2)

Country Link
CN (1) CN109039608B (zh)
WO (1) WO2020037981A1 (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2020037981A1 (zh) * 2018-08-24 2020-02-27 东南大学 一种基于双S核的8-bitAES电路

Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080019524A1 (en) * 2006-06-29 2008-01-24 Kim Moo S Apparatus and method for low power aes cryptographic circuit for embedded system
WO2008061395A1 (fr) * 2006-11-23 2008-05-29 Tsinghua University Circuit de cryptage aes d'un flot de données exécuté lors d'un déséquencement
WO2009034393A1 (en) * 2007-09-15 2009-03-19 University Of Sheffield Aes-encryption apparatus and method
CN101478392A (zh) * 2009-01-19 2009-07-08 山东大学 利用vlsi实现128位密钥长度aes算法的装置
CN101739889A (zh) * 2008-11-20 2010-06-16 索尼株式会社 密码处理装置
US20100322411A1 (en) * 2007-09-07 2010-12-23 Greenpeak Technologies B.V. Encrypton Processor
US8155308B1 (en) * 2006-10-10 2012-04-10 Marvell International Ltd. Advanced encryption system hardware architecture
US20150086007A1 (en) * 2013-09-24 2015-03-26 Sanu Mathew Compact, low power advanced encryption standard circuit
CN107066900A (zh) * 2017-04-18 2017-08-18 东南大学 面向分组密码算法的可重构s盒、可重构计算阵列及门控方法
CN108134665A (zh) * 2017-12-20 2018-06-08 东南大学 一种面向IoT应用的8比特AES电路

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102710415B (zh) * 2012-06-18 2015-03-11 西安西电捷通无线网络通信股份有限公司 一种利用对称密码算法进行数据加解密的方法及查表装置
CN104301096B (zh) * 2014-10-13 2018-04-20 深圳中科讯联科技有限公司 Aes轮运算方法和电路
DE102015015953B3 (de) * 2015-12-08 2017-04-27 Giesecke & Devrient Gmbh Kryptoalgorithmus mit schlüsselabhängigem maskiertem Rechenschritt (SBOX-Aufruf)
CN109039608B (zh) * 2018-08-24 2023-05-09 东南大学 一种基于双S核的8-bitAES电路

Patent Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080019524A1 (en) * 2006-06-29 2008-01-24 Kim Moo S Apparatus and method for low power aes cryptographic circuit for embedded system
US8155308B1 (en) * 2006-10-10 2012-04-10 Marvell International Ltd. Advanced encryption system hardware architecture
WO2008061395A1 (fr) * 2006-11-23 2008-05-29 Tsinghua University Circuit de cryptage aes d'un flot de données exécuté lors d'un déséquencement
US20100322411A1 (en) * 2007-09-07 2010-12-23 Greenpeak Technologies B.V. Encrypton Processor
WO2009034393A1 (en) * 2007-09-15 2009-03-19 University Of Sheffield Aes-encryption apparatus and method
CN101739889A (zh) * 2008-11-20 2010-06-16 索尼株式会社 密码处理装置
CN101478392A (zh) * 2009-01-19 2009-07-08 山东大学 利用vlsi实现128位密钥长度aes算法的装置
US20150086007A1 (en) * 2013-09-24 2015-03-26 Sanu Mathew Compact, low power advanced encryption standard circuit
CN107066900A (zh) * 2017-04-18 2017-08-18 东南大学 面向分组密码算法的可重构s盒、可重构计算阵列及门控方法
CN108134665A (zh) * 2017-12-20 2018-06-08 东南大学 一种面向IoT应用的8比特AES电路

Non-Patent Citations (5)

* Cited by examiner, † Cited by third party
Title
GUANG-LIANG GUO,ET AL.: "Different Implementations of AES Cryptographic Algorithm", 《2015 IEEE 17TH INTERNATIONAL CONFERENCE ON HIGH PERFORMANCE COMPUTING AND COMMUNICATIONS, 2015 IEEE 7TH INTERNATIONAL SYMPOSIUM ON CYBERSPACE SAFETY AND SECURITY, AND 2015 IEEE 12TH INTERNATIONAL CONFERENCE ON EMBEDDED SOFTWARE AND SYSTEMS》 *
P. HAMALAINEN,ET AL.: "Design and Implementation of Low-Area and Low-Power AES Encryption Hardware Core", 《9TH EUROMICRO CONFERENCE ON DIGITAL SYSTEM DESIGN (DSD"06)》 *
SIMARPREET SINGH CHAWLA,ET AL.: "FPGA implementation of an 8-bit AES architecture: A rolled and masked S-Box approach", 《2015 ANNUAL IEEE INDIA CONFERENCE (INDICON)》 *
VAN-LAN DAO,ET AL.: "A compact, low power AES core on 180nm CMOS process", 《2016 INTERNATIONAL CONFERENCE ON IC DESIGN AND TECHNOLOGY (ICICDT)》 *
张玉浩等.: "基于AES 加密电路的防复制电路及系统设计", 《电子器件》 *

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2020037981A1 (zh) * 2018-08-24 2020-02-27 东南大学 一种基于双S核的8-bitAES电路

Also Published As

Publication number Publication date
WO2020037981A1 (zh) 2020-02-27
CN109039608B (zh) 2023-05-09

Similar Documents

Publication Publication Date Title
US7221763B2 (en) High throughput AES architecture
CN103905462B (zh) 可抵御差分功耗分析攻击的加密处理装置及方法
CN112398639B (zh) 一种Fountain轻量级加密算法的实现装置、方法及应用
CN103503362B (zh) 数据处理装置、数据处理方法以及程序
CN100495961C (zh) 一种基于分组密码算法的加密处理方法
CN110311771A (zh) Sm4加解密方法及电路
CN101848081A (zh) 一种s盒构造方法及s盒
Luo et al. Design and implementation of area-optimized AES based on FPGA
CN103684749A (zh) 一种基于面积与性能平衡优化的klein加密实现方法
CN101431405A (zh) Des加密电路和方法及其硬件电路实现方法
CN114615069A (zh) 一种Quartet轻量级加密算法的实现装置及方法
CN108933788B (zh) 一种基于fpga的rssp-ii协议mac码快速验证装置
Noor et al. Resource shared galois field computation for energy efficient AES/CRC in IoT applications
CN109039608A (zh) 一种基于双S核的8-bitAES电路
CN104219045A (zh) Rc4 流密码生成器
CN108134665B (zh) 一种面向IoT应用的8比特AES电路
CN107612891A (zh) 一种数据压缩加密电路
Abdelmoghni et al. Implementation of AES coprocessor for wireless sensor networks
CN108566271B (zh) 复用轮变换电路、aes加密电路及其加密方法
CN109033847B (zh) Aes加密运算单元、aes加密电路及其加密方法
CN114422111B (zh) 一种轻量级的sm4算法的硬件实现电路
Rais et al. A novel FPGA implementation of AES-128 using reduced residue of prime numbers based S-Box
Bu et al. ’A Compact Implementation of SM4 Encryption and Decryption Circuit’
CN109033023B (zh) 一种普通轮变换运算单元、普通轮变换电路及aes加密电路
TWI776474B (zh) 單回合高階加密標準電路模組

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