论文部分内容阅读
RSA加密算法是世界上使用最为广泛的公钥加密算法(PKC)。RSA加密算法在数据加密和数字签名上作为保证信息安全的重要手段已得到了广泛的应用。求解两个大数的乘积在计算上是非常容易的,而要分解两个大素数的积求出它的因子则是世界上公认的数学难题。而RSA算法正是一种基于大数因子分解的加密算法。自从1977年由Ron.Rives、Adi.shamirh和Len.Adleman开发出RSA加密算法后,RSA算法的研究就十分繁多,并且已取得许多卓有成效的研究成果,而这些研究成果主要集中在Montgomery模乘算法的改进方面。本文首先简单的介绍了公钥加密算法及RSA加密算法的发展以及应用,然后通过对时下比较常用的几种模乘、模幂算法进行比较,给出适合硬件实现的模乘算法的结构。现代集成电路设计的关键有两个方面,一是芯片的性能,一是设计周期。而由于RSA加密算法在实现上的复杂性和多样性,极大的限制了RSA算法的运算速度及芯片的设计周期。为了提高RSA加密算法的运算速度,本文首先介绍了目前RSA加密算法实现过程中经常用到的几种模乘算法,Montgomery模乘算法及改进算法、中国剩余定理等,并且分析它们的优缺点及在硬件实现的可能性,最后决定使用Montgomery改进算法,这样就较大的提高了RSA核心运算的速度及RSA加密算法芯片的整体运算速度。在缩短设计周期方面,本文是通过使用基于系统级算法的快速实现流程来实现的。从构思芯片到芯片的产生,研发周期当然是越短越好。在RSA算法系统级设计阶段,本文首先对RSA算法的实现作了有效的评估及优化,为今后RTL级设计节省了大量的时间。本文的主要工作包括:首先对RSA加密算法的C源代码研究,然后将C源代码改写成RSA加密算法的Verilog代码,之后使用Synopsys工具的验证工具对Verilog代码进行验证,通过验证以后,继续利用Synopsys公司的综合工具对设计进行了综合,给出综合结果并进行分析。