1. 研究目的与意义
SM3算法是我国公布的Hash算法,SHA256是美国NIST公布的Hash 算法,二者较为相似,并均已成为国际标准,被广泛应用于物联网、工业控制等领域,随着信息技术的发展,哈希算法作为保护信息完整性的重要密码算法,已经与我们的生活息息相关。
如今,多数研究只针对于一种杂凑算法的硬件结构设计与实现,而SM3算法和SHA256算法的结构相似,可重用性很高,从而可研究两种算法的复用结构,可以有效的实现资源复用,避免浪费资源浪费,提高工作效率。
本课题面向物联网数据安全领域,以SM3/SHA256算法为研究对象,对SM3/SHA256两种算法进行对比分析,从而设计和开发支持SM3/SHA256两种的算法的可重构硬件电路结构,实现低开销、高效率的SM3/SHA256算法硬件加速。
2. 课题关键问题和重难点
本课题关键问题在于如何设计一种架构同时实现SM3和SHA256算法,将SM3算法和SHA256算法实现资源复用,在同一电路中实现两种算法。
在两种算法的结构中,填充模块的硬件设计较为复杂,需要根据输入消息的长度不用,分类展开,但两种算法的填充模块可实现完全复用。
迭代压缩模块的硬件设计最为复杂,需要对SM3算法和SHA256算法的运算部分进行对比分析,从而尽可能多的实现压缩模块的资源复用。
3. 国内外研究现状(文献综述)
一、前言部分1、背景与意义SM3算法是我国公布的Hash 算法,SHA256是美国NIST公布的Hash 算 法,二者较为相似,并均已成为国际标准,被广泛应用于物联网、工业控制等领域,随着信息技术的发展,哈希算法作为保护信息完整性的重要密码算法,已经与我们的生活息息相关。
如今,多数研究只针对于一种杂凑算法的硬件结构设计与实现,而SM3算法和SHA256算法的结构相似,可重用性很高,从而可研究两种算法的复用结构,可以有效的实现资源复用,避免浪费资源浪费,提高工作效率。
本课题面向物联网数据安全领域,以SM3/SHA256算法为研究对象,设计和开发支持SM3/SHA256两种的算法的可重构硬件电路结构,实现低开销、高效率的SM3/SHA256算法硬件加速。
4. 研究方案
对于SM3算法和SHA256算法的硬件结构设计,整体架构选择Merkle-Damgard结构,分别将SM3算法和SHA256算法分为3个模块:消息填充模块,消息扩展模块,迭代压缩模块。
其中,消息填充模块可实现完全复用,消息扩展模块可实现部分复用,迭代压缩模块可实现部分复用。
对于优化硬件结构设计:降低功耗,减少逻辑面积,提高吞吐量。
5. 工作计划
五、工作计划第一周:设计SM3模块,编写代码,仿真波形验证第二周:设计SHA256模块,编写代码,仿真波形验证第三周:设计一套复用结构架构同时实现SM3/SHA256算法,仿真波形验证第四周:综合模块,上开发板调试,测量PPA参数第五周:根据延迟、吞吐、面积(功耗、性能、面积)优化设计第六周:完成毕业论文能够基本完成SM3算法和SHA256算法的硬件实现,能够正确进行modelsim波形仿真和quartus综合,对于消息填充,消息扩展,迭代压缩3个模块,首先实现消息填充模块的完全复用,再对扩展模块和压缩模块进行对比,尽量实现部分如寄存器等资源结构的复用,对于SM3算法和SHA256算法的运算部分进行分析,优化硬件结构设计:降低功耗,减少逻辑面积,降低延迟,提高吞吐量。
