计算机工程与应用 ›› 2016, Vol. 52 ›› Issue (1): 89-94.

• 网络、通信与安全 • 上一篇    下一篇

素数域椭圆曲线密码加速器的VLSI实现

谢天艺1,黄  凯1,修思文2,唐从学3,严晓浪1   

  1. 1.浙江大学 超大规模集成电路研究所,杭州 310027
    2.中国计量学院 光学与电子科技学院,杭州 310018
    3.杭州朔天科技有限公司,杭州 310012
  • 出版日期:2016-01-01 发布日期:2015-12-30

VLSI implementation of elliptic curve cryptographic accelerator over [GF(p)]

XIE Tianyi1, HUANG Kai1, XIU Siwen2, TANG Congxue3, YAN Xiaolang1   

  1. 1.Institute of VLSI Design, Zhejiang University, Hangzhou 310027, China
    2.College of Optical and Electronic Technology, China Jiliang University, Hangzhou 310018, China
    3.Hangzhou Sec-Chip Technology Co., Ltd., Hangzhou 310012, China
  • Online:2016-01-01 Published:2015-12-30

摘要: 分析了素数域椭圆曲线密码(ECC)算法的软件效率,针对软件效率较低的问题,对密码系统进行软硬件划分,提出了一种适用于椭圆曲线密码SoC的硬件加速器设计,并设计了密码SoC的结构。硬件加速器实现了素数域的点乘和素数检测,以少量的面积为代价提升了系统性能。密码芯片实现了SM2商用密码标准规定的6种算法。加速器基于HJTC [0.11 μm] eFlash单元库,面积约为[0.6 mm2]。在50 MHz的频率下,192 bit非固定点乘运算性能为167次/s,256 bit非固定点乘运算性能为94次/s。实验结果表明,该加速器的单位面积性能高于其他同类设计。

关键词: 椭圆曲线, 超大规模集成电路(VLSI), 点乘, 素数域, SM2算法

Abstract: The software efficiency of Elliptic Curve Cryptography(ECC) algorithm over [GF(p)] is analyzed. Against the disadvantages of the software implementation, the partition between software and hardware is given. A kind of hardware accelerator suitable for Sytem-on-Chip(SoC) is proposed, and the SoC architecture is designed. Hardware acceleration for both filed multiplication and Miller-Rabin primality test is implemented, which largely improves the performance of ECC at the expense of a little cost of area. The SM2 public key cryptographic algorithm is implemented on chip. Based on the HJTC [0.11 μm] eFlash standard cell-library, the area of the accelerator is about [0.6 mm2]. The accelerator can execute 167 operations per second for 192 bit unknown-point multiplication and 94 operations per second for 256 bit in 50 MHz. Experimental results show that the performance per unit area of the accelerator is higher than other approaches.

Key words: elliptic curve, Very Large Scale Integration(VLSI), point multiplication, [GF(p)], SM2 algorithm