论文部分内容阅读
长期以来,无线网络中的密码技术一直是信息安全领域的研究热点。标识密码算法的提出有效解决了传统公钥密码体制中的密钥管理问题,公钥的获取直接来源于用户标识,而无需再进行复杂的证书交换,有效的提升了无线网络吞吐量。SM9标识密码算法是我国自主研制的商用密码算法标准,具备加密性能强,密钥管理简单的优点,特别适用于海量用户的无线网络环境。SM9算法较为复杂,且运算量大,目前也只存在软件实现方案,而嵌入式无线设备通常处理性能较低,软件实现方案无法满足效率需求。针对这一问题,论文提出了一种适用于嵌入式无线设备的SM9标识密码算法实现方案,并在Zedboard板卡上进行了实现,测试结果表明该方案相比于现有软件实现方案有4倍左右的性能提升,具体研究内容如下:(1)研究了SM9标识密码算法原理,重点研究了数字签名与验证算法以及公钥加解密算法,并对其算法组成进行了深入分析。(2)针对目前SM9标识密码算法软件实现方案效率低下的问题,提出了SM9标识密码系统的SOC实现方案,将密码系统中较为耗时的素域和二次扩域运算采用FPGA实现,密码系统中的上层算法则采用ARM进行实现,ARM和FPGA之间采用高速的AXI总线进行数据交互。(3)设计了SM9标识密码算法中素域和二次扩域运算模块的硬件方案,并在FPGA上进行实现。通过对有限域运算硬件实现算法进行研究,在FPGA上设计实现了素域和二次扩域下的模加减、模乘和模逆运算模块。用Modelsim软件仿真分析了所设计的运算模块,并在Zedboard板卡上进行了功能测试,测试结果与SM9标准给出的测试用例数据一致。(4)设计并实现了SM9标识密码系统中的上层算法软件方案。重点研究并给出了椭圆曲线的点运算、多倍点运算、密码辅助函数(HASH函数、KDF函数和MAC函数)、R-ate对计算、数字签名与验证算法以及公钥加解密算法等的实现方案,设计各个上层算法的流程,并在ARM中实现。测试结果表明,软件实现结果与SM9标准给出的测试用例数据一致。(5)利用软硬件结合设计的SM9密码系统,在Zedboard板卡上进行了测试验证,重点测试了数字签名与验证、公钥加解密等功能,测试结果验证了所设计的SM9密码系统功能的正确性,且性能上相比现有的软件实现方案有4倍的性能提升。