摘要

与其他公钥密码算法相比,椭圆曲线密码算法(Elliptic Curve Cryptography,ECC)具有抗攻击能力强、计算量小以及处理速度快等优点,已成为下一代公钥密码体制的标准.随着ECC在嵌入式领域的应用日益广泛,如何提高其执行效率成为目前研究的热点问题.文中提出了一套通用的专用指令处理器(Application Specific Instruction Processor,ASIP)的设计验证方案,并将该方案应用于ECC,从而大幅提升其在硬件资源受限的嵌入式环境中的执行效率.首先借鉴并实现了OpenSSL公开的ECC软件优化方案,并结合处理器平台的特点对大整数乘法运算和多项式平方运算进行了进一步优化.其次对优化后的算法进行基本指令块(Basic Instruction Block,BIB)的划分并转化为数据流图(Data Flow Graph,DFG),在DFG图中依照专用指令设计规则引入近似最优解方法查找可优化指令块.对该类指令块设计相应的专用指令,以实现处理器原有基础指令集架构的扩展.再次基于电子系统级(Electronic System Level,ESL)设计方法依次设计并仿真验证ECCASIP的系统级模型和Verilog寄存器传输级(Register Transfer Level,RTL)模型.最后将验证通过的RTL级处理器模型进行综合、布局布线,转换成相对应的门级电路并统计模型使用的硬件资源信息,烧写到FPGA(Field-Programmable Gate Array)平台完成ECCASIP的移植操作和性能验证.与ARM11处理器平台下算法实现的性能表现进行对比,实验结果显示,ECCASIP牺牲了9.23x%的硬件扩展资源,将算法实现的运算速度提高了2.74x倍,指令代码存储空间减少了59.36x%.