论文部分内容阅读
随着网络信息技术的高速发展,其安全问题越来越凸显出来。而网络信息安全重要理论基础是密码学。其中,RSA加密算法是被应用最广泛的公钥加密算法,它既可以实现数据加密中,又可以实现数字签名。但是近些年来,随着因子分解技术的不断提高(即对大数分解能力的提高),它的安全性受到了威胁。为了保证RSA加密算法的安全性,人们将算法中密钥的位数不断地增加。例如,在2009年12月,研究人员完成了768位RSA算法(即232数位数字的RSA-768密钥)的因式分解,同时研究人员也表示现在普遍使用的1024位密钥预计也将会在10年内攻破,在未来几年中需要将RSA算法中的1024位密钥过渡到2048位密钥。虽然密钥位数的增加确保了其安全性,但是也导致了算法效率大大的下降,主要表现在选择密钥的困难性上和加解密计算的复杂性上,这大大限制了它的应用范围。为了提高RSA加密算法的效率,本文首先介绍和分析了RSA加密算法,并对RSA加密算法做出了改进,内容大致如下:1)介绍了传统的RSA加密算法,对于密钥位数的增加所带来的问题,本文采用了三个素数因子的RSA加密算法,这样虽然增加了素数因子的个数但是减少了素数因子的位数,从而降低了选择大素数因子的困难性,同时也提高了其选择的效率。2)在加密过程中介绍了常用的加密算法:传统的平方乘算法、基于乘同余对称性的SMM算法、2K进制算法以及扩展2K进制算法,然后分析了这些算法的优缺点,最后在加密算法过程中将SMM算法和扩展的2K进制算法进行组合,这样可以将它们的优点进行结合形成一种新的组合算法。3)在解密过程中介绍了基于中国剩余定理的解密算法,与以前算法不同点是在本文中采用了三个素数因子,分析了其解密过程,将解密算法中的取模运算转化为对三个较小素数因子的取模运算,减少了解密算法的计算量。4)设计并实现了RSA加解密软件,软件中可以选择不同的算法进行加密和解密并测试出其所需的时间,将改进后的算法与传统的算法从效率上进行比较,最后得出改进后的算法在效率上有了一定程度的提高。