论文部分内容阅读
随着信息技术和网络技术的发展,电子商务、网络银行、电子政务等新业务的兴起极大地改变了人们的工作与生活方式,而这些网络业务的安全性问题倍受人们的关注,用户的身份、帐户等信息一旦泄露,就会造成经济损失、隐私泄露等严重的后果。在解决上述网络应用安全性的方案中,RSA公钥密码算法因其成熟而得到广泛的使用。RSA算法中密钥的产生速度比较慢,为网络应用中大量的用户分配密钥时,密钥产生效率受到很大影响,因此如何快速生成大量的RSA密钥就显得尤为重要。本文对此进行了研究,具体工作如下:1.首先对RSA密钥产生算法进行了研究,给出了密钥产生总体框架,包括随机数的产生、小素因子预筛选处理、素性检测以及模逆运算等组件。为了实现密钥的快速生成,对其中小素因子预筛选和模逆运算等组件进行了优化设计。2.在小素因子预筛选方法中提出了一种新的预筛选处理,使每个小素数只需过滤一遍,从而提高预筛选处理的速度。3.在求模逆运算中提出了一种改进的Stein算法,通过加法、减法以及移位操作即可完成模逆运算,避免了复杂的除法运算,通过对1游程的有效处理大大提高了运算的速度,并且易于在硬件中实现,节省了资源消耗。最后本文给出了基于FPGA的硬件仿真结构,包括控制模块、随机数产生器模块、预筛选模块、素性检测模块、FIFO(First-In-First-Out,先入先出队列)模块、模逆模块、基本运算模块以及存储模块。利用ISE与Modelsim重点对RSA密钥生成过程中所优化的模逆运算模块进行了联合仿真,实验结果验证了我们所提出的算法的正确性和有效性。