论文部分内容阅读
近年来随着Internet的飞速发展以及计算机技术广泛普及,我国正在快速的向信息化社会迈进。网络传输的数据量日益增长,信息的保密性、完整性和不可否认性成为网络应用推广和发展急需解决又难以解决的问题,信息安全问题日益突出。密码技术被称为是保证数据安全传输的核心技术,其在数据通信、信息印证等方面都有着广泛的应用。本文对密码技术中采用的加密算法进行深入研究,其中对DES算法、AES算法和RSA算法进行了详细的分析,通过对比各算法的性能,对DES和RSA算法存在的缺陷,提出DES和RSA混合加密算法。DES和AES算法是对称加密算法中最为经典的两种算法,本文对这两种算法的原理进行了详细的分析。在此基础上,在VC++平台上对这两种算法进行了实现。通过具体的仿真实现,从加密速度和安全性这两个方面,对DES和AES算法的性能进行了比较分析。可以发现AES算法的性能明显好于DES算法。分别以这两种算法为理论基础编写加密软件,通过实践可以发现该软件即方便又灵活。RSA算法是典型的非对称加密算法,其核心思想是大数难以因式分解。本文针对RSA算法加密耗时问题从素数生成和快速模幂运算两个角度进行了详细的分析。在素数生成上,通过多种素数判定算法的比较分析,提出改进算法。将改进算法应用于RSA算法中,加密速度得到提升。在快速模幂运算上,虽然改进素数判定算法提升了加密速度,但是提升空间有限,因此采用滑动窗口法进一步优化RSA算法。最终建立大数运算库,在VC++平台上实现RSA加密算法。虽然AES算法性能优于DES和RSA算法,但由于DES和RSA算法的广泛应用,使得AES无法做到完全的替换这两种算法。因此,本文提出DES和RSA混合算法来完善DES算法的性能。通过在VC++平台上的实现,从加密速度、安全性等四个方面对混合算法和前三种算法性能进行比较。可以发现,混合算法性能接近AES算法,甚至在某些方面优于AES算法。因此,有理由相信,混合算法是一种理想的加密算法。