本发明专利技术公开了一种AES加密电路设计方法,包括AES加密电路总体结构,AES加密电路总体结构由密钥扩展模块、加密/解密模块和控制模块组成,密钥扩展模块包括3个128位寄存器、4个8*8S盒、1个128位4选1选通器、1个32位2选1选通器、1个轮常数产生模块和异或运算模块,加密/解密模块包括16个8*8S盒、16个8*8逆S盒、16个{02}{03}乘字节模块、16个{09}{0b}{0d}{0e}乘字节模块、1个128位寄存器、1个128位2选1选通器、16个8位4选1选通器、32个8位2选1选通器和异或运算模块。本发明专利技术设置的密钥扩展模块、加密/解密模块和控制模块,可实现AES密码算法加解密,对计算机网络、通信网络和传感器网络中敏感信息加密保护,以免敏感信息在存储传输过程中泄露,保证信息安全。保证信息安全。保证信息安全。
【技术实现步骤摘要】
一种AES加密电路设计方法
[0001]本专利技术涉及加密电路领域,特别涉及一种AES加密电路设计方法。
技术介绍
[0002]AES密码算法是目前应用最广的分组迭代型对称密码算法,广泛应用于各种计算机网络、通信网络和传感器网络中,用于保证信息安全,成为各种安全协议中首选的对称密码算法,本专利内容为实现AES密码算法的加解密电路的设计方法。
技术实现思路
[0003]本专利技术的目的在于提供一种AES加密电路设计方法,以解决上述
技术介绍
中提出的问题。
[0004]为实现上述目的,本专利技术提供如下技术方案:一种AES加密电路设计方法,包括AES加密电路总体结构,所述AES加密电路总体结构由密钥扩展模块、加密/解密模块和控制模块组成。
[0005]优选的,所述密钥扩展模块包括3个128位寄存器、4个8*8S盒、1个128位的4选1选通器、1个32位的2选1选通器、1个轮常数产生模块和多个异或运算模块。
[0006]优选的,所述加密/解密模块包括16个8*8S盒、16个8*8逆S盒、16个{02}{03}乘字节模块、16个{09}{0b}{0d}{0e}乘字节模块、1个128位寄存器、1个128位的2选1选通器、16个8位的4选1选通器、32个8位的2选1选通器和多个异或运算模块。
[0007]优选的,3个所述128位寄存器分别用来保存种子密钥、每一轮的加密或解密密钥和第10轮加密密钥,4个所述8*8S盒用来实现密钥扩展中的S盒变换,多个所述异或运算模块用于实现密钥扩展中的异或运算。
[0008]优选的,1个所述轮常数产生模块用于产生密钥扩展中的轮常数,1个所述128位的4选1选通器用于从4个来源中选择1个写入轮密钥寄存器作为下一个周期要使用的轮密钥,1个所述32位的2选1选通器用于从2个来源中选择1个作为S盒变换的输入。
[0009]优选的,16个所述8*8S盒用于实现加密过程中的S盒变换,16个所述8*8逆S盒用于实现解密过程中的逆S盒变换。
[0010]优选的,16个所述{02}{03}乘字节模块用于实现加密过程中的{02}乘字节运算和{03}乘字节运算,16个所述{09}{0b}{0d}{0e}乘字节模块用于实现解密过程中的{09}乘字节运算、{0b}乘字节运算、{0d}乘字节运算和{0e}乘字节运算。
[0011]优选的,多个所述异或运算模块用于实现加密或解密过程中的异或运算,1个所述128位寄存器用于保存每一轮加密或解密变换的结果和最终结果,所述选通器用于从多个数据来源中选择一个输出。
[0012]优选的,从所述密钥扩展模块和加密/解密模块中选择某一电路模块,某一所述电路模块设置多个。
[0013]优选的,多个所述某一电路模块用于提高加解密速度。
[0014]本专利技术的技术效果和优点:
[0015](1)本专利技术通过设置的密钥扩展模块、加密/解密模块和控制模块,可实现AES密码算法的加解密,用于对计算机网络、通信网络和传感器网络中的敏感信息进行加密保护,以免敏感信息在存储和传输过程中泄露,保证信息安全;
[0016](2)本专利技术通过采用多种技术,在满足算法本身并行性的基础上,节省了大量的电路资源,大大减少了电路的规模,降低了电路的成本;
[0017](3)本专利技术通过在加密或解密过程中,控制模块产生密钥扩展模块和加密/解密模块所需要的全部控制信号,以保证密钥扩展模块和加密/解密模块能够协调配合,正确完成加密或解密功能。
附图说明
[0018]图1为本专利技术AES加密电路总体结构示意图。
[0019]图2为本专利技术AES加密电路外部信号说明示意图。
[0020]图3为本专利技术AES密钥扩展模块电路示意图。
[0021]图4为本专利技术AES加密/解密模块电路示意图。
具体实施方式
[0022]下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本专利技术一部分实施例,而不是全部的实施例。基于本专利技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本专利技术保护的范围。
[0023]本专利技术提供了如图1
‑
4所示的一种AES加密电路设计方法,包括AES加密电路总体结构,AES加密电路总体结构由密钥扩展模块、加密/解密模块和控制模块组成,密钥扩展模块包括3个128位寄存器、4个8*8S盒、1个128位的4选1选通器、1个32位的2选1选通器、1个轮常数产生模块和多个异或运算模块,加密/解密模块包括16个8*8S盒、16个8*8逆S盒、16个{02}{03}乘字节模块、16个{09}{0b}{0d}{0e}乘字节模块、1个128位寄存器、1个128位的2选1选通器、16个8位的4选1选通器、32个8位的2选1选通器和多个异或运算模块,控制模块包括1个加密状态机和1个解密状态机,AES加密电路外部信号说明参见图2;
[0024]3个128位寄存器分别用来保存种子密钥、每一轮的加密或解密密钥和第10轮加密密钥(也是第0轮解密密钥),4个8*8S盒用来实现密钥扩展中的S盒变换,多个异或运算模块用于实现密钥扩展中的异或运算,1个轮常数产生模块用于产生密钥扩展中的轮常数,1个128位的4选1选通器用于从4个来源中选择1个写入轮密钥寄存器作为下一个周期要使用的轮密钥,1个32位的2选1选通器用于从2个来源中选择1个作为S盒变换的输入,AES密钥扩展模块的电路结构参见图3,同时参见图2的AES加密电路外部信号说明示意图,密钥扩展模块的功能实现,是先在外部密钥装载使能信号loadkey的控制下,将128位种子密钥从外部输入总线din串行输入到密钥扩展模块中的128位密钥寄存器shiftreg_128中保存,然后在控制模块的控制下实时产生每一轮加密或解密所需要的128位轮密钥,并保存在轮密钥寄存器reg_128_0中,供相应加密或解密轮变换使用,需要注意的是,在保存第10轮加密密钥的时候,除将其保存在轮密钥寄存器reg_128_0之外,还要将其保存在reg_128_1中,作为产生
解密轮密钥的种子密钥;
[0025]16个8*8S盒用于实现加密过程中的S盒变换,16个8*8逆S盒用于实现解密过程中的逆S盒变换,16个{02}{03}乘字节模块用于实现加密过程中的{02}乘字节运算和{03}乘字节运算,16个{09}{0b}{0d}{0e}乘字节模块用于实现解密过程中的{09}乘字节运算、{0b}乘字节运算、{0d}乘字节运算和{0e}乘字节运算,多个异或运算模块用于实现加密或解密过程中的异或运算,1个128位寄存器用于保存每一轮加密或解密变换的结果和最终结果,选通器用于从多个数据来源中选择一个输出,AES加密解密模块的电路结构参见图4,同时参见图2的AES加密电路外部信号说明示意图,加密/解密模块中的加密功能实现,是先在外部明文装载使能信号load_shift的控制下,将128位明文从本文档来自技高网...
【技术保护点】
【技术特征摘要】
1.一种AES加密电路设计方法,包括AES加密电路总体结构,其特征在于,所述AES加密电路总体结构由密钥扩展模块、加密/解密模块和控制模块组成。2.根据权利要求1所述的一种AES加密电路设计方法,其特征在于,所述密钥扩展模块包括3个128位寄存器、4个8*8S盒、1个128位的4选1选通器、1个32位的2选1选通器、1个轮常数产生模块和多个异或运算模块。3.根据权利要求1所述的一种AES加密电路设计方法,其特征在于,所述加密/解密模块包括16个8*8S盒、16个8*8逆S盒、16个{02}{03}乘字节模块、16个{09}{0b}{0d}{0e}乘字节模块、1个128位寄存器、1个128位的2选1选通器、16个8位的4选1选通器、32个8位的2选1选通器和多个异或运算模块。4.根据权利要求2所述的一种AES加密电路设计方法,其特征在于,3个所述128位寄存器分别用来保存种子密钥、每一轮的加密或解密密钥和第10轮加密密钥,4个所述8*8S盒用来实现密钥扩展中的S盒变换,多个所述异或运算模块用于实现密钥扩展中的异或运算。5.根据权利要求4所述的一种AES加密电路设计方法,其特征在于,1个所述轮常数产生模块用于产生密钥扩展中的轮常数,1个所述128位的4选1选通器用于从4个来源中选择1...
【专利技术属性】
技术研发人员:曲英杰,明洋,
申请(专利权)人:苏州元烨微电子科技有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。