1. 研究目的与意义
随着密码技术和计算机技术的发展SM2算法作为一种更先进安全的算法,在我们国家商用密码体系中被用来替换RSA算法。
目前来讲SM2性能相较于RSA算法更优更安全:密码复杂度高、处理速度快、机器性能消耗更小。
SM2 算法是我国国家密码局 2010 年公布的公钥椭圆曲线密码算法行业标准,2017 年成为国际标准,被广泛应用于物联网、工业控制等领域。
2. 课题关键问题和重难点
本课题需要以低开销、高效率为设计目的,基于 RISC-V 指令集扩展,研究和设计 SM2 算法软硬件协同设计,然后采用 Verilog HDL 描述 SM2 算法的硬件功能单元,并将其 RISC-V 处理器内核集成,完成功能验证;SM2 标准属于椭圆曲线密码体系,它与基于 ECC的其它国际标准,椭圆曲线标量乘算法是实现这一类标准的关键部分。
SM2 底层的基本SM2 算法在实现的过程中,会不断调用底层的素域运算,其中模加减运算比较简单,不会占用太多时间,而模乘运算调用次数多,计算时间长,是提高整体性能的关键运算。
在RISC-V架构中扩展自定义指令的方式简化ECC算法的底层运算,减少这些高调用次数的计算时间,可以提高计算效率,这是本课题关键以及难点。
3. 国内外研究现状(文献综述)
SM2 算法是由国家密码管理局发布的由我国自主设计的公钥密码算法,基于更加安全先进的椭圆曲线密码机制,在国际标准的 ECC 椭圆曲线密码理论基础上进行自主研发设计,具备 ECC 算法的性能特点并实现优化改进。
SM2算法包括数字签名算法、密钥交换协议、公钥加密算法和系统参数4部分。
由于 SM2 算法复杂度高、执行周期长,以及密码类嵌入式系统对性能开销要求严格,使得基于该算法的系统芯片(SoC)需要在设计初期对算法模块进行软硬件划分,根据不同的需求选择合适的划分方式以平衡性能和开销。
4. 研究方案
四、方案在ECC中椭圆曲线上算术运算是至关重要的,算术运算速度决定点乘运算速度,而点乘运算速度决定了加密机制运算速度,所以点乘的速度是衡量一个加密算法设计的重要标准。
以低开销、高效率为设计目的,期望能够运用RISC-V在资源依赖性、低功耗性、易用性、可定制性、可扩展性等方面的优势,基于 RISC-V 指令集扩展研究和设计 SM2 算法软硬件协同设计。
对于素数域256位点乘运算,运算数据为应用程序中的点P(x,y)和随机数发生器生成的随机数k,完成运算Q=[k]P。
5. 工作计划
第1-2周:提交开题报告,并进行课题的需求分析。
第3周:在导师的指导下进行课题详细设计。
第4周:在导师指导下进行课题模块化设计并进行模块代码编写与调试。
以上是毕业论文开题报告,课题毕业论文、任务书、外文翻译、程序设计、图纸设计等资料可联系客服协助查找。