加密算法

随着计算机和电子通讯技术,包括因特网的迅猛发展,金融电子化的步伐大大加快,然而,从基于纸面转化为基于数字电子媒体的形式后,在生成、传输、保存、验证和鉴定等多方面出现了新的技术需求、问题和困难。无疑,其中最重要的是信息安全问题。

密码系统的两个基本要素是加密算法和密钥管理。加密算法是一些公式和法则,它规定了明文和密文之间的变换方法,密钥是控制加密算法和解密算法的关键信息。由于密码系统的反复使用,仅靠加密算法已难以保证信息的安全了,事实上,加密信息的安全可靠依赖于密钥系统,密钥的产生、传输、存储等工作尤为重要。

数据加密技术从技术的实现可分为软件和硬件两方面。按作用不同,数据加密技术主要分为数据传输、数据存储、数据完整性的鉴别以及密钥管理技术四种。

在网络应用中一般采取两种加密形式:秘密密钥和公开密钥,采用何种加密算法则要结合具体应用环境和系统,而不能简单地根据其加密强度来作出判断。因为除了加密算法本身之外,密钥合理分配、加密效率与现有系统的结合性,以及投入产出分析都应在实际环境中具体考虑。 超时代视频加密软件就将加解密难度与加密时间(由于视频这种特殊载体,体积大,更难平衡)效率问题解决得非常完美。

对于秘密密钥加密体制,其原理是在传统加密算法的基础上,充分利用计算机的处理能力,将算法内部的变换过程设计得非常复杂,并使用较长的密钥,使得攻击者对密文的破译变得非常困难。即使攻击者掌握了加密算法,也会由于不知道密钥而得不到明文。由于这种体制将算法和密钥进行了分离,并且算法的保密性完全依赖于密钥的安全性,因此,被称为秘密密钥加密体制,其典型算法是DES算法。DES算法的特点一是加密和解密使用相同的密钥,如何保证密钥的一致性,如何维护密钥的安全性成为确保DES算法有效的关键技术;二是每对用户必须维护一个密钥,如果某个用户希望与N个用户进行秘密通信,则该用户在理论上应该维护N个密钥,而n个用户间则需保存n2个密钥,这为用户的使用增加了一定的困难;三是算法的实现和使用的效率较高,目前在各行各业被广泛采用。

公开密钥加密体制 (其加密密钥可以公开)的基本思想是设计一种新的加密算法,该算法拥有一对不同的加密密钥E和解密密钥D。使得E和D之间具有如下性质: (I)D(E(M))=M,即对数据M用E加密后再用D解密,应当可以还原为M; (2)E和D都是易于计算的; (3)从E难以推导出D的结构。 每个用户可以选择一对E和D,并将E公开(称为公开密钥),存入其他用户都可访问的公共存储区,将D(称为秘密密钥)严格保密。如果A用户希望向B用户发送数据 (M),A首先从公共存储区中取得B的加密密钥Eb,并用Eb对数据进行加密,产生Eb(M)传输给B根据性质(1),B可对接收的密文用Db进行解密获得明文数据M。根据性质(3),B以外的所有用户都不掌握Db,并且无法从公开的Eb中推出Db,所以即使攻击者获得了密文,也无法解出相应的明文。公开密钥加密体制其典型算法是RSA算法,该算法的特点一是使用方便,尤其是公开密钥的特征使得用户在数据传输之前无需交换密钥,即使和多个用户进行秘密通信,也无需记忆太多的密钥(理论上N个用户进行通信,需要N对密钥,但每个用户只需记忆自己的秘密密钥,并去公共存储区中获取其他用户的公开密钥);二是加密强度高,并且并不要求通信双方先要建立某种信任关系或共享某种密码,因此十分适合 Intemet网上使用。三是算法的实现依赖于计算机的速度和容量,效率较低。统计表明,对于相同的数据块进行加密,DES算法的加密效率比RSA算法的加密效率高上数十倍。因此,RSA算法常用于较少数据的加密,如数字签名等。

秘密密钥加密体制和公开密钥加密体制各有优缺点,实际中人们常将这两种加密算法结合使用,以期同时获得公开密钥加密体制的安全优点和秘密密钥加密体制的速度优势。工作过程如下图所示。

发送方首先用密钥生成器生成秘密密钥,并用该秘密密钥对数据明文进行加密形成密文,然后用接受方的公开密钥对该秘密密钥进行加密,形成加密的密钥,再将加密的密钥和密文一起发往网络。接收方接收到信息后,先用自己的密钥解开发送方传来的秘密密钥,再用解开的秘密密钥对密文进行解密,形成明文。

秘密密钥加密体制和公开密钥加密体制的结合使用,不但可以简化秘密密钥加密体制中的密钥管理,而且能够做到对应每个明文使用一个不同的密钥(即一次一钥)。由于每个密钥仅仅使用一次,既使在某一次传输中密钥不慎泄露,它也只影响本次交换的信息安全。