基于FPGA的高性能椭圆曲线密码加速技术研究
【摘要】:椭圆曲线密码算法作为一种公钥密码算法,具有安全性高、占用存储空间小等优点,在信息安全领域得到了广泛的应用。为了保障信息安全,密码安全等级、密钥位宽的不断增加,造成了椭圆曲线点乘和有限域运算复杂度成倍增长,影响了计算平台处理椭圆曲线密码算法的性能。另外,随着网络带宽的不断提升,对计算平台的处理性能的要求不断提升,FPGA作为一种半定制专用集成电路,具有并行度高、灵活性强的优点。因此,本文基于FPGA平台,从椭圆曲线点乘和有限域运算两个层面研究椭圆曲线密码算法的硬件加速技术。首先,本文基于分离式点乘算法,针对固定点提出了一种分段式点乘算法,提高了点乘的并行度,减少了预计算存储资源的消耗;同时,优化了倍点和点加运算通路,进一步缩短点乘运算的时间;另外,针对ECC协议中不同的点乘运算类型,基于分时复用的思想,提出了混合双点乘电路,提高了坐标运算单元的利用效率,减少了硬件资源的消耗。其次,本文研究了椭圆曲线参数可配置的多任务椭圆曲线加速器架构,并基于多项式相乘的原理和FPGA内嵌乘法器DSP的结构,设计一种非对称式乘加电路,降低了大整数乘的运算复杂度并减少了蒙哥马利模乘的迭代次数,进一步提高了椭圆曲线加速器的性能。最后,本文基于Xilinx KU115 FPGA设计了一个多任务的椭圆曲线加速器,工作频率为200MHz,最多可同时计算8个不同ECC协议。ECDSA签名、验签性能分别可以达到6.58万次/秒、1.23万次/秒,单核性能分别可以达到9600次/秒、1678次/秒。