论文部分内容阅读
求解两个大素数的乘积在计算上非常容易,而要分解两个大素数的积求出它的因子则是世界上公认的数学难题。RSA算法正是一种基于大数因子分解的算法。RSA算法在数据加密和数字签名技术作为保证信息安全的重要手段己得到了广泛的应用。从1978年开始,RSA算法的研究十分繁多,已取得的成果主要集中在Montgomery模乘算法的改进方面。但随着SoC设计方法的兴起,将RSA算法融入SoC中将是一个非常有益的尝试。本文给出了RSA算法从系统级建模、RTL级实现、FPGA验证到易于转换成ASIC的设计综合的完整流程,为相关的设计提供了宝贵经验。
现代芯片设计的关键有两个方面,一是设计周期,二是芯片性能。而RSA算法实现的多样性和复杂性,大大限制了RSA算法的设计周期和运算速度。
在缩短设计周期方面,本文介绍了一种基于系统级算法的快速成型实现流程。从一个好的构思到芯片的诞生,其研发过程刻不容缓。在系统级设计阶段确定RSA的实现算法并对其有效评估及优化,为以后的RTL级设计节约大量时间,也为最终能否流片提供了指导,有关方法已撰写成论文“一种基于系统级算法的芯片快速成型设计流程”。
在提高芯片性能方面,本文提出了基于流水线、查找表技术,并带有CSA、CLA结构的Montgomery模乘改进算法,较大地提高了RSA核心运算速度及整体运算速度。利用Synopsys的综合工具,采用SMIC的0.18μm的工艺库对设计进行了综合。在自行设计的FPGA测试系统中,时钟频率为100MHz时,测得1024位RSA算法运算速度为每秒120次左右。
该运算速度在不使用片内微处理器来实现RSA算法中是比较快的,特别在RSA算法基于SoC的快速成型设计流程时,其能更好地与性能不断提高的微处理器核融合为新的基于SoC的设计,很有实用价值。