论文部分内容阅读
系统级建模在如今规模庞大的片上系统(SystemconChip,SoC)设计中占据越来越重要的地位。本设计是以1024位RSA加密算法为对象,采用系统级设计语言SystemC来实现的。采用基于SystemC的设计方法及设计流程,对RSA加密算法进行了系统级建模,并对其核心的模乘算法进行了硬件实现。
首先,对RSA算法的加解密原理进行了深入的分析,并采用SystemC语言进行系统级建模。RSA的系统级实现主要包括大素数的产生,密钥指数对的生成,模幂运算的实现。采用VisualC++6.0软件进行编译,运行,Modelsim6.0进行仿真。实验结果验证了RSA算法系统级建模的正确性。
其次,再对其核心运算模乘进行硬件实现。采用适合硬件实现的改进的Montgomery模乘算法,对核心的乘法和加法结构进行分解,插入了寄存器结构,大大减少了硬件资源,也提高了RSA处理机的速度。
本论文的主要工作在于:1.通过对RSA算法实现原理的研究,采用SystemC语言对RSA算法进行系统级建模,并完成功能验证。
2.RSA算法的系统级实现中,先用小于1023的小素数“筛值”再进行Miller-Rabin素数检测,提高了大素数产生的效率。并给出了乘法逆元的实现方法,实现了模和幂指数的可变性,因此具有通用性,可应用在512位、1024位、2048位等大位数的RSA算法中。
3.在验证系统级模型正确的前提下,对模乘模块进行了硬件实现,并给出了仿真结果,与预期结果一致,证明设计的正确性。