论文部分内容阅读
密码学是保证信息安全的关键与核心,加密算法研究是保护信息安全性和完整性的一个非常重要且有效的措施。本文从对称密码体制和非对称密码体制中比较有代表性的DES和RSA算法入手,对两种算法进行深入研究,分析得出每种算法存在的优点和不足,在利用前缀码和S盒重组对DES算法实施改进,利用RSA算法对DES密钥进行加密的基础上,结合两种算法的优点,提出一种新的基于DES和RSA算法的混合加密算法。首先,DES算法是迄今为止最典型的对称加密算法,在很多领域都有着广泛的运用,是分组密码的代表之一。它包含了64位明文,64位密钥,而实际参与计算的只有56位数据,其中8位用于奇偶校验,明文和密钥进行一系列的置换等运算后,最终加密数据。DES加密的效率高,适合大量数据的加密,但其密钥存储及长度均存在安全问题。另外,RSA公钥加密算法是迄今为止理论上最难破解的公钥密码算法之一,它既可用于加密数据,又可用于数字签名。RSA算法的密钥长度可以是1024位,在一些安全性要求非常高的系统中可采用2048位。在大素数足够大时,RSA算法是不可破解的。但其加密效率不高,尤其是在加密大量数据时。其次,本文针对DES算法本身,提出两种改进的方案:分别是3DES和S盒重组。3DES采用在原来密钥的基础上再加上1到2个密钥,使密钥长度达到112位或者168位,攻击复杂度也随之提升,目前是无法破解的。S盒是DES算法里唯一非线性的部件,它是算法保密的核心。采用前缀码可以译码和组合数学中求全排列的思想,提出了一种S盒的重组方法。即用分组加密算法过程的每一轮的子密钥来控制S盒的使用顺序,从而使一组明文在加密的过程中进行每一轮迭代时使用的S盒的顺序都不同,达到一次一密的效果,有效提高了算法的安全性,加强了应对抗攻击能力。同时,由于DES的密钥较短且是算法的核心,而RSA算法安全性高,因此提出利用RSA算法来加密DES的密钥,DES算法加密明文,这种基于DES和RSA算法的混合加密算法不仅利用安全性很高的RSA算法加密DES密钥保证了密钥的安全性,又充分利用了DES算法效率高的优点,不失为一种好的混合加密算法。新的混合加密算法既保证算法的加密速度,也提高算法本身的安全性,本文在VC++平台上对混合加密算法做了实现,可以发现混合算法的加密速度非常快,同时具有很好的安全性,不仅适合于大量数据的加密,也可用于数字签名,具有广泛的应用前景。