论文部分内容阅读
随着移动支付、物联网、智能设备等嵌入式设备的普及,数据的安全性面临着越来越大的挑战,以RSA和ECC密码体系为核心的公钥密码体制以其杰出的安全性在信息安全领域得到了广泛的应用。我国也于2010年推出了SM2公钥密码标准来促进国内信息安全的建设。由于公钥密码算法复杂、计算量大,需要以专用硬件加速器的方式实现才能获得较高的安全性和性能。公钥密码算法标准较多,硬件实现对面积成本较为敏感,因此设计一款小面积高兼容的公钥密码加速器具有研究意义。 本文设计了一种公钥密码硬件加速器的硬件结构,支持GF(p)和GF(2m)双域运算,兼容RSA、ECC和SM2密码运算,该结构中通过模运算层、点运算层和核心运算层之间的功能复用来减小硬件面积。在硬件结构上,针对模运算层设计了流水线可配置的双域Montgomery模乘电路以及三操作数双域模加减电路,两者分别提高了模乘运算和点运算的速度。针对核心运算层的模幂和标量乘算法分别设计了统一的硬件结构来减小面积和分离结构来提高效率。为顶层的硬件IP设计了AHB接口和异步时钟接口,提高了灵活性。 本文为设计的公钥密码加速器搭建了功能仿真平台和FPGA验证平台,对其进行了验证与测试,随后基于SC100安全内核和本文的加速器IP设计了一款安全芯片,在0.13um工艺下成功流片。芯片测试结果表明,公钥密码功能正确,加速器IP的面积为0.322mm,约87K逻辑门。该加速器具有良好的兼容性,支持2048bit内的RSA计算,以及GF(p)域和GF(2m)域下的ECC和SM2运算,设计的异步时钟接口能够完成低功耗模式与高性能模式之间的切换。系统具有良好的计算加速性,在8M的总线时钟下完成一次1024位RSA加解密分别为3.81ms,132.6ms,完成一次SM2加解密分别为171ms,56ms,功耗小于5mW,相较于同类设计具有更高的面积和性能优势。