论文部分内容阅读
近年来,随着互联网技术的飞速发展,信息安全已成为亟待解决的问题。使用公钥密码体制是提高信息安全性的重要方法。硬件实现的密码系统由于其诸多优势成为新的研究热点。本文在对多种公钥密码硬件实现算法进行了研究的基础上,提出了一种针对素域及二元域ECC和RSA公钥密码系统所设计的硬件密码协处理器架构,从硬件上实现了对高性能密码算法的支持。首先,本文通过对RSA算法及ECC算法具体运算流程的分析,总结出了模乘运算是制约它们计算速度的共同计算瓶颈,解决模乘的速度问题是提高RSA和ECC计算速度的最根本方法。然后,为了消除一般模操作中影响速度的除法,引入了蒙哥马利算法作为模乘的基本算法,并介绍和分析了多种改进的蒙哥马利模乘算法,针对硬件实现的目标,确定了基于CIOS算法进行硬件设计的思路。另外,为了能够同时支持一般素域和二元域两种ECC常用的有限域,对CIOS算法做出了调整和改进。最后,提出了密码协处理器的总体硬件架构,设计了系统的运算、存储和控制三大模块以及三个模块间的互联方式,运算部分中设计了支持双域的乘法器,因此可以实现同时支持素域和二元域下的模乘计算。最终的实验结果表明,本文所优化的双域CIOS算法能够正确的完成所要求的运算,设计出的硬件能够完成模幂及模乘功能,因此,本文提出的算法改进和硬件架构设计方案是可行的。本文设计的密码协处理器,能够完成192bit、256bit、512bit、1024bit四种数据位宽的模乘和模幂的计算,在100MHz的主频下,完成256bit素域模乘、256bit二元域模乘和1024bit模乘所需的时间分别为0.92、0.82和7.3微秒。所有硬件模块在SMIC0.18微米CMOS工艺库下的综合面积为68K门。具有较好的速度面积比。