论文部分内容阅读
随着电子商务、移动支付、智能终端等相关产品与服务越来越多,人们的生活在得到改善的同时,也存在许多安全隐患,例如非法入侵、窃听、网络诈骗等,严重威胁到用户的隐私,因此,符合要求的加密算法的提出与发展越来越迫切。目前,基于RSA算法与椭圆曲线算法(Elliptic Curve Algorithm,ECC)的嵌入式加密芯片已经得到深入研究与广泛应用,特别对于椭圆曲线公钥算法,由于具有密钥短、计算速度快、安全度高等优点,已渐渐取代 RSA算法。SM2(ShangMi2)算法是由我国自主研发的基于ECC算法改进的一种算法,由于是国产算法,其安全性更高。目前已有大量加密芯片厂商提供基于SM2算法的嵌入式加密芯片,在加解密应用、数字签名与验证、密钥交换等方面应用广泛。由于SM2算法复杂度高、执行周期长,以及密码类嵌入式系统对性能开销要求严格,使得基于该算法的SoC(System on Chip,SoC)系统需要在设计初期对算法模块进行软硬件划分,根据不同需求选择合适的架构以平衡性能和资源。 本文针对现有的椭圆曲线算法系统级设计中开发周期长、以及不同模块的性能开销指标不明确等问题,提出一种基于电子系统级设计的软硬件协同设计方法。该方法通过分析SM2算法原理与实现方式,研究了不同的软硬件划分方案,并采用统一建模语言SystemC对硬件模块进行周期精确级建模。通过模块级与系统级两层验证比较软硬件模块执行周期数,得出最佳性能划分方式。最后结合算法控制流程图(Control Flow Graph,CFG)与数据流程图(Data Flow Graph,DFG)将ESL(Electronic System Level)模型转化为寄存器传输级模型进行逻辑综合与比较,得出在180nm CMOS(Complementary Metal Oxide Semiconductors)工艺,50MHz频率下,当算法性能达到最佳时,点乘模块执行时间为20ms,门数83000,功耗约2.23mw。实验结果表明所提系统级架构分析对基于椭圆曲线类加密芯片在性能、面积与功耗的评估方面优势明显并且适用性强,基于此算法的嵌入式SoC系统可根据性能与资源限制选择合适的结构并加以应用。