抗旁路攻击的可重构AES/SM4 IP核设计
发布时间:2021-02-28 15:27
随着密码算法在信息安全领域的广泛应用,针对其旁路攻击及防御措施的研究已经成为当前信息安全领域的主要研究方向。AES和SM4密码算法作为国际和我国通用的对称加密标准,广泛地应用于各种安全领域。目前国内大多数密码芯片中集成了AES和SM4 IP核,但两者是独立实现的,不利于应用在无线传感网和无线射频识别等资源受限的场合。因此,为密码芯片设计一种小面积低功耗的抗旁路攻击的可重构AES/SM4 IP核具有重要意义。论文的主要工作是研究具有抗旁路攻击能力的可重构AES/SM4 IP核。首先根据AES和SM4加密算法的特点对电路进行了可重构分析,提出了AES/SM4加密电路的可重构设计方案。针对AES和SM4加密电路的相似运算单元S盒,采用复合域分解技术对其进行了可重构设计;重点研究了复合域可重构S盒的优化问题,提出了基于遗传算法和延时感知公共项消除算法的联合优化方法,实现了小面积低功耗的可重构AES/SM4加密电路。同时,基于差分功耗攻击DPA和差分错误攻击DFA的原理,分别对可重构AES/SM4加密电路进行了有效攻击,为后续研究抗旁路攻击的可重构AES/SM4加密电路提供验证基础。针对密码电路...
【文章来源】:南京航空航天大学江苏省 211工程院校
【文章页数】:118 页
【学位级别】:硕士
【部分图文】:
可重构AES/SM4加密电路的AES加密运算的仿真图
(a)输入的测试明文和初始密钥 (b)输出的测试密文图 2.15AES 加密运算中输入明文、初始密钥和输出密文的仿真图基于 32 位总线结构的可重构 AES/SM4 加密电路,AES 加密运算的输入和输出各需要 4 个时钟周期完成,且每轮轮变换结束后采用寄存器存储中间数据,那么一轮轮变换操作需要 5 个时钟周期完成,因此,整个 AES 加密过程需要 60 个时钟周期才能完成。AES 加密运算输出的128 位测试密文数据如下:输出 128bits 测试密文:AES_data_out = 128'h3925_841d_02dc_09fb_dc11_8597_196a_0b32。(2)SM4 加密电路SM4 加密运算过程中顶层 testbench 输入的 128bits 测试数据如下。输入 128bits 测试明文:SM4_datain = 128'h0123_4567_89ab_cdef_fedc_ba98_7654_3210;输入 128bits 初始密钥:SM4_keyin = 128'h0123_4567_89ab_cdef_fedc_ba98_7654_3210。选择相同的时钟信号 AES_SM4_clk 和复位信号 AES_SM4_rst,延时一段时间后 SM4_en使能,且 AES_en=0,启动 SM4 加密,测试的可重构 AES/SM4 加密电路的 SM4 加密过程的行为仿真如图 2.16 所示。
(a)输入的测试明文和初始密钥 (b)输出的测试密文图 2.15AES 加密运算中输入明文、初始密钥和输出密文的仿真图基于 32 位总线结构的可重构 AES/SM4 加密电路,AES 加密运算的输入和输出各需要 4 个时钟周期完成,且每轮轮变换结束后采用寄存器存储中间数据,那么一轮轮变换操作需要 5 个时钟周期完成,因此,整个 AES 加密过程需要 60 个时钟周期才能完成。AES 加密运算输出的128 位测试密文数据如下:输出 128bits 测试密文:AES_data_out = 128'h3925_841d_02dc_09fb_dc11_8597_196a_0b32。(2)SM4 加密电路SM4 加密运算过程中顶层 testbench 输入的 128bits 测试数据如下。输入 128bits 测试明文:SM4_datain = 128'h0123_4567_89ab_cdef_fedc_ba98_7654_3210;输入 128bits 初始密钥:SM4_keyin = 128'h0123_4567_89ab_cdef_fedc_ba98_7654_3210。选择相同的时钟信号 AES_SM4_clk 和复位信号 AES_SM4_rst,延时一段时间后 SM4_en使能,且 AES_en=0,启动 SM4 加密,测试的可重构 AES/SM4 加密电路的 SM4 加密过程的行为仿真如图 2.16 所示。
【参考文献】:
期刊论文
[1]SM4算法CBC模式的高吞吐率ASIC实现[J]. 符天枢,李树国. 微电子学与计算机. 2016(10)
[2]基于随机故障注入的SM4差分故障攻击方法[J]. 荣雪芳,吴震,王敏,杜之波,饶金涛. 计算机工程. 2016(07)
[3]一种SM4掩码方法和抗DPA攻击分析[J]. 裴超. 密码学报. 2016(01)
[4]基于复合域的SM4算法的设计与实现[J]. 梁浩,乌力吉,张向民. 微电子学与计算机. 2015(05)
[5]基于现场可编程门阵列的SMS4故障检测实现[J]. 辛小霞,王奕,李仁发. 计算机应用. 2015(02)
[6]抗侧信道攻击的SM4多路径乘法掩码方法[J]. 谭锐能,卢元元,田椒陵. 计算机工程. 2014(05)
[7]基于国密SM4和SM2的混合密码算法研究与实现[J]. 伍娟. 软件导刊. 2013(08)
[8]低复杂度SM4加密算法IP核设计[J]. 王晨光,乔树山,黑勇. 科学技术与工程. 2013(02)
[9]功耗分析攻击中的功耗与数据相关性模型[J]. 罗鹏,冯登国,周永彬. 通信学报. 2012(S1)
[10]适合SMS4算法硬件实现的S盒构造新方法[J]. 徐艳华,白雪飞,郭立. 中国科学技术大学学报. 2009(11)
博士论文
[1]抗功耗攻击的密码芯片电路级防护关键技术研究[D]. 乐大珩.国防科学技术大学 2011
[2]高级加密标准的分析[D]. 张闻宇.山东大学 2007
硕士论文
[1]抗功耗攻击的AES密码算法硬件设计[D]. 苑志刚.西安电子科技大学 2014
[2]多核密码芯片的设计与实现[D]. 陶琳.西安电子科技大学 2014
[3]基于AES算法的抗旁道攻击方法研究[D]. 郝李鹏.宁波大学 2012
[4]基于FPGA的旁路算法研究及其应用[D]. 李静.湖南大学 2011
[5]椭圆曲线密码(ECC)算法的FPGA实现及优化设计[D]. 黄威.武汉理工大学 2006
本文编号:3056056
【文章来源】:南京航空航天大学江苏省 211工程院校
【文章页数】:118 页
【学位级别】:硕士
【部分图文】:
可重构AES/SM4加密电路的AES加密运算的仿真图
(a)输入的测试明文和初始密钥 (b)输出的测试密文图 2.15AES 加密运算中输入明文、初始密钥和输出密文的仿真图基于 32 位总线结构的可重构 AES/SM4 加密电路,AES 加密运算的输入和输出各需要 4 个时钟周期完成,且每轮轮变换结束后采用寄存器存储中间数据,那么一轮轮变换操作需要 5 个时钟周期完成,因此,整个 AES 加密过程需要 60 个时钟周期才能完成。AES 加密运算输出的128 位测试密文数据如下:输出 128bits 测试密文:AES_data_out = 128'h3925_841d_02dc_09fb_dc11_8597_196a_0b32。(2)SM4 加密电路SM4 加密运算过程中顶层 testbench 输入的 128bits 测试数据如下。输入 128bits 测试明文:SM4_datain = 128'h0123_4567_89ab_cdef_fedc_ba98_7654_3210;输入 128bits 初始密钥:SM4_keyin = 128'h0123_4567_89ab_cdef_fedc_ba98_7654_3210。选择相同的时钟信号 AES_SM4_clk 和复位信号 AES_SM4_rst,延时一段时间后 SM4_en使能,且 AES_en=0,启动 SM4 加密,测试的可重构 AES/SM4 加密电路的 SM4 加密过程的行为仿真如图 2.16 所示。
(a)输入的测试明文和初始密钥 (b)输出的测试密文图 2.15AES 加密运算中输入明文、初始密钥和输出密文的仿真图基于 32 位总线结构的可重构 AES/SM4 加密电路,AES 加密运算的输入和输出各需要 4 个时钟周期完成,且每轮轮变换结束后采用寄存器存储中间数据,那么一轮轮变换操作需要 5 个时钟周期完成,因此,整个 AES 加密过程需要 60 个时钟周期才能完成。AES 加密运算输出的128 位测试密文数据如下:输出 128bits 测试密文:AES_data_out = 128'h3925_841d_02dc_09fb_dc11_8597_196a_0b32。(2)SM4 加密电路SM4 加密运算过程中顶层 testbench 输入的 128bits 测试数据如下。输入 128bits 测试明文:SM4_datain = 128'h0123_4567_89ab_cdef_fedc_ba98_7654_3210;输入 128bits 初始密钥:SM4_keyin = 128'h0123_4567_89ab_cdef_fedc_ba98_7654_3210。选择相同的时钟信号 AES_SM4_clk 和复位信号 AES_SM4_rst,延时一段时间后 SM4_en使能,且 AES_en=0,启动 SM4 加密,测试的可重构 AES/SM4 加密电路的 SM4 加密过程的行为仿真如图 2.16 所示。
【参考文献】:
期刊论文
[1]SM4算法CBC模式的高吞吐率ASIC实现[J]. 符天枢,李树国. 微电子学与计算机. 2016(10)
[2]基于随机故障注入的SM4差分故障攻击方法[J]. 荣雪芳,吴震,王敏,杜之波,饶金涛. 计算机工程. 2016(07)
[3]一种SM4掩码方法和抗DPA攻击分析[J]. 裴超. 密码学报. 2016(01)
[4]基于复合域的SM4算法的设计与实现[J]. 梁浩,乌力吉,张向民. 微电子学与计算机. 2015(05)
[5]基于现场可编程门阵列的SMS4故障检测实现[J]. 辛小霞,王奕,李仁发. 计算机应用. 2015(02)
[6]抗侧信道攻击的SM4多路径乘法掩码方法[J]. 谭锐能,卢元元,田椒陵. 计算机工程. 2014(05)
[7]基于国密SM4和SM2的混合密码算法研究与实现[J]. 伍娟. 软件导刊. 2013(08)
[8]低复杂度SM4加密算法IP核设计[J]. 王晨光,乔树山,黑勇. 科学技术与工程. 2013(02)
[9]功耗分析攻击中的功耗与数据相关性模型[J]. 罗鹏,冯登国,周永彬. 通信学报. 2012(S1)
[10]适合SMS4算法硬件实现的S盒构造新方法[J]. 徐艳华,白雪飞,郭立. 中国科学技术大学学报. 2009(11)
博士论文
[1]抗功耗攻击的密码芯片电路级防护关键技术研究[D]. 乐大珩.国防科学技术大学 2011
[2]高级加密标准的分析[D]. 张闻宇.山东大学 2007
硕士论文
[1]抗功耗攻击的AES密码算法硬件设计[D]. 苑志刚.西安电子科技大学 2014
[2]多核密码芯片的设计与实现[D]. 陶琳.西安电子科技大学 2014
[3]基于AES算法的抗旁道攻击方法研究[D]. 郝李鹏.宁波大学 2012
[4]基于FPGA的旁路算法研究及其应用[D]. 李静.湖南大学 2011
[5]椭圆曲线密码(ECC)算法的FPGA实现及优化设计[D]. 黄威.武汉理工大学 2006
本文编号:3056056
本文链接:https://www.wllwen.com/kejilunwen/xinxigongchenglunwen/3056056.html