论文部分内容阅读
随着全球信息化的发展,信息技术已经成为一种应用面最广,渗透性最强的战略性技术。Internet的日益普及,极大地推动了国家信息化的步伐,它在给我们带来难得的发展机遇的同时,也带来了一系列安全问题。另一方面,信息作为一种重要的战略资源,国际上围绕它的获取、使用和控制的斗争愈演愈烈。而密码技术是信息安全的核心技术,因此,面对紧迫的形势,加强对密码技术的研究和发展创新具有重要的理论意义和实用价值。密码体制大体分为对称密码(又称为私钥密码)和非对称密码(又称为公钥密码)两种。对称密码和非对称密码各有不同的优缺点:Ⅰ)在密钥管理方面:对称算法不及非对称算法;Ⅱ)在加密、解密的处理速度方面:非对称密码加解密速度比较慢,对称密码优于非对称密码;Ⅲ)在数字签名和认证方面:从原理上讲数字签名和身份认证不可能由对称密码实现,而非对称密码可以非常简单地进行数字签名和身份认证。本文着重从以下几方面进行深入研究和探讨。首先,对称算法AES轮变换所包含的子函数ShiftRows(State)是一个字节换位的操作,它将第i行第j列的字节移到第f行第(j-C_i)mod N_b列的位置(C_i为第i行要移动的偏移量)。因此,在实现AES算法时,可将ShiftRows(State)和MixColumns(State)合并成一个函数完成。本文用VC++6.0实现了这个算法,且验证了改进后的AES算法在速度方面优于传统AES算法。其次,用单一的一种加密算法对信息加密存在着一定的不足,所以基于速度和安全的考虑,本文采取了结合两种密码体制的混合密码体制,即用改进后的AES对需通信的数据进行加解密,然后用非对称密码RSA加解密AES的密钥。这样在加密速度方面:由于所需加密的总数据量等于原数据量加上AES密钥数据量,而在实际应用中,原数据量远远大于AES密钥量,所以加密的主要工作集中在原数据上,因此,该混合体制的加密速度接近于用改进后的AES算法单独加密数据的速度;在密钥管理方面:用RSA算法加密量较小的AES密钥,使得通信的接收方不必保存AES密钥,只需保存RSA密码体制的密钥即可,这样就使该体制的密钥管理具有RSA密码体制密钥管理方便的特点。同时此混合密码体制还具有数字签名的功能,该密码体制采用MD5算法对原数据产生摘要,用RSA算法对数据进行签名和验证,从而保证了数据的完整性。