基于ECC的Ad―Hoc协处理器设计

时间:2022-05-19 08:49:19

基于ECC的Ad―Hoc协处理器设计

摘 要 本文研究了基于Ad-Hoc的ECC嵌入式协处理器系统。构造了一个通用的模型,其大大增强ad-hoc中网络节点的性能,从而实现基于ECC的Ad-hoc安全网络协议。这里我们采用软硬件协同设计技术,实现处理器和专用硬件模块设计在同一芯片中。该系统在利用Xilinx MicroBlaze进行FPGA实现。

【关键词】ECC Ad-Hoc FPGA

1 引言

ECC在最近几年变得越来越普及,尤其是在嵌入式应用中。因为密钥宽度小、处理速度快、安全性能高,ECC非常适合嵌入式系统。

本文研究实现了一个基于混合系统的协处理器,可以大大提高基于ECC的ad-hoc网络系统的安全性能。网络计算节点通过API访问程序与设备进行通信。在该系统中,所有的密码计算模块嵌入在的混合单元中。这不仅能提高其性能,也能增加其安全性,由于私钥被嵌入到嵌入式单元中而无法访问。协处理器在Xilinx的Spartan 6装置上使用Xilinx开发套件实现。本系统的软件部分实现了一个32位MicroBlaze处理器,硬件部分通过VHDL模块实现。

2 ECC加密体制

ECC的主要操作是点乘kP运算,点乘kP的最直接方法是使用倍点和点加相结合的double-and-add方法。如果ki=0,则仅执行倍点计算;如果ki=1,则执行倍点计算和点加计

算。Double-and-add算法需要(m-1)次倍点运算和m/2次点加运算,而使用非相邻(NAF)编码思想的二进制点乘算法可以将计算点加的平均次数减少至m/3。

基于上述乘法器模块,本文实现的是使用NAF编码的163 bit二进制域上的椭圆曲线点乘算法。

算法:二进制NAF的方法计算点乘。

输入:一个正整数k,P∈GF(q)。

输出:kP。

(1)计算NAF(k)。

(2)Q∞。

(3)对于i从l-1到0,重复执行以下步骤:

1Q2Q。

②若ki=1,则QQ+P。

③若ki=-1,则QQ-P。

(4)返回Q。

3 协处理器的设计

协处理器的软件部分C程序来实现,硬件部分采用VHDL模块实现。系统采用Xilinx的EDK进行开发。MicroBlaze采用哈佛结构,具有独立的数据和指令总线。MicroBlaze程序直接存储在FPGA的内存块,双端口存储器模块用来连接MicroBlaze的指令和数据总线与独立的内存控制器。

3.1点乘器

点乘模块采用有限状态机实现。乘法完成后,结果赋值给A,最后的仿射点R传输回MicroBlaze。为了最大限度地利用并行计算,首先传输标量乘积,这样起始点坐标接收数据的同时NAF也可以进行计算。此外,点加和倍乘模块可并行操作。其关键是相比计算平方,点乘大约两倍的时间。因为点加就是简单的异或操作,所以点加的时间可以忽略不计。

3.2 API接口

API接口可以实现921600波特率的串行通信。每个API函数与FPGA之间有一个唯一的ID。MicroBlaze检查API传输的第一个字节来确定其功能。如果有更多的数据,它读取合并进行处理,然后发送返回所需的结果。

4 性能测试结果

本实验在Xilinx Spartan6 LX45 上进行FPGA仿真。相比纯软件,混合系统的点乘器性能总的执行时间包括FIFO接口模块与MicroBlaze数据传输的时间。软件实现需要平均耗时751.5ms,而混合系统只需要1.05毫秒,两者相差 716倍的速度。硬件资源的使用情况,如表1所示。

5 总结

本文,利用软硬件协同设计思想,采用Xilinx MicroBlaze处理器和专用硬件模块相结合的方法对椭圆曲线密码系统进行FPGA设计。结果表明,基本点乘法运算在混合体系结构的系统比纯软件实现快700倍的速度。同时,设计简单灵活,利用软件来控制硬件模块,为高速计算提供了API接口。

参考文献

[1]W.Qingxian,“The application of elliptic curves cryptography in embedded systems,” in International Conference on Embedded Software and Systems, 2005, pp. 154-161.

[2]JOY M,TYMEN pact encoding Of NAF with applications to ECC [J].Public Key Cryptography,LNCS 1992,Springer,PP.353-364,2001.

[3]邹候文,王峰,唐歧.椭圆曲线点乘ip核的设计与实现[J].计算机应用,2006,26,09:2131-2133.

[4]An ECC Primer, Certicom Corp., June2004, the Certicom ‘Catch the Curve’ White Paper Series.

[5]田耘.Xilinx FPGA开发实用教程[M].北京:清华大学出版社,2008.

[6]B. MuthuKumar and S. Jeevananthan, “Design of an efficient ecc coprocessor,” in Advanced Computing, 2009. First International Conference on, Dec. 2009, pp. 3437.

作者单位

莱芜职业技术学院 山东省莱芜市 271100

上一篇:步进电机控制系统的实现 下一篇:新型电子灭菌高压脉冲电源的技术研究