一直以来,加密解密都应用在各个行业的各个方面,在通信中也尤为重要。历史上,交战双方在通信安全、保密和密码破译方面的优势均被认为是取得战争胜利的关键因素之一。而今,人类已进入信息化时代,现代通信涉及各行各业,信息安全已成为人人都关心的事情,这就促使密码学揭去了神秘的面纱,为更广泛的领域和大众服务。

算法的一般原理

----密码体制从原理上可分为两大类,即单钥密码体制和双钥密码体制。

----单钥密码体制是指信息的发送方和接收方共享一把密钥。在现代网络通信条件下,该体制的一个关键问题是如何将密钥安全可靠地分配给通信的对方,并进行密钥管理。

---单钥密码体制在实际应用中除了要设计出满足安全性要求的加密算法外,还必须解决好密码的产生、分配、传输、存储和销毁等多方面问题。因为通信对象的多元性导致了一个用户必须拥有多个不同对象的密钥,方可安全可靠地进行通信。

----双钥密码体制,又称公钥密码体制,其最大特点是采用两个密钥将加密、解密分开。在双钥体制下,每个用户都拥有两把密钥,一个公开,一个自己专用。当使用用户专用密钥加密,而用该用户公开密钥解密时,则可实现一个被加密的消息可被多个用户解读;当使用用户公开密钥加密,而由该用户专用密钥解密时,则可实现传输的信息只被一个用户解读。前者常被用于数字签名,后者则常用于保密通信。

---图EA和EB分别是A和B的加密钥(或公开钥), DA和DB分别是A和B的解密钥(或专用钥)。一个明文若要从A传输到B,先要用A 的专用密钥加密(又称签名),再用B的公开钥加密,然后传送到接收方B;B在接收后,首先用专用密钥解密,再用A的公开密钥认证。这一信息传递过程,不仅保护了信息的安全,又使接收方对信息的发送方为A确信无疑。

----双钥体制的上述特征,完全是建立在加密算法的函数单向性即求逆的困难性上。

算法的分类

----信息密码体制的两大类别基本涵盖了常用的加密算法。

----在现代加密算法中,完全吸收了一些古典密码算法的优点。流密码作为一个十分诱人的加密机制,一直被人们所广泛关注,混沌理论在密码学上的应用,目前只是由于其在数学上难以突破,一时还未有十分成功的应用推出;量子密码还处于实验阶段。分组加密算法是近20年来最为活跃的加密手段之一,其算法有很多,最为著名的当推DES(Data Encryption Standard),该算法于1977年正式投入使用,一直用到1998年,20多年来一直作为美国联邦信息处理标准。DES算法的出现是密码学史上的一个里程碑,因为以往的任何设计对于密码体制及其设计细节都是严加保密的,而DES却将算法公开,任人测试、研究和分析,一直到使用了20年后,才有报道说DES 被破译了。

----DES是一种对二进制数据进行加密的算法,数据分组长为64位,密钥长也为64位,经过16轮的迭代、乘积变换、压缩变换等,输出密文也为 64位。DES算法的安全性完全依赖于其所用的密钥。

----前苏联国家标准局采用的加密算法GOST亦是分组加密算法的典型代表。GOST算法针对64位明文输入,产生64位密文输出,所不同的是, GOST采用256位密钥,需经32轮加密变换才产生输出,因此,GOST的抗攻击能力在某种程度上并不比DES差。

----于1992年推出的另一个分组加密算法IDEA (International Data Encryption Algorithm)是近年来提出的分组加密算法中较为成功的方案之一。该方案的核心是设计了一个乘法/加法非线性构件,通过8轮迭代,能使明码信息更好地扩散和混淆。

----在双钥密码体制中,最具代表性的算法当数RSA,它从 1979年公布至今,一直是加密中的主要算法之一,尽管该算法吸引了无数研究者,但在数学上还未找到最佳破译方法。RSA算法的核心建立在两个足够长(100位十进制)的大素数基础上,以目前每秒运行100万步的计算资源来破译则大约需1023步,相当于1000 年。因此,RSA算法在计算理论上仍然是十分安全的。由于RSA的加密/解密互为逆运算,因此,该算法不仅可用于信息加密,也可用于数字签名认证,如图2所示。

----其他的双钥密码体制,有些虽很著名,但已被破译,如背包体制;有些还处于研究和发展阶段,如椭圆曲线体制;有些密码体制在算法上与RSA 有相似之处,破译的途径之一是大素数的分解,如Rabin、EIGamal体制等。

加/解密机制的应用

----在信息安全领域中,凡涉及到数据通信均需采用加/解密机制。而目前日益发展的电子商务正是充分展示加/解密机制的一个十分重要的领域。

----电子商务涉及到的对象总体上可分四类,即消费者、网上商店、网上银行、独立认证机构。

----在交易之前,消费者、商店和银行均需在认证中心注册,以获取唯一的身份号码ID。为了使交易具有安全可靠性、防抵赖性、防假冒性等,这三者的每一次交易通信均应被认证中心确认,而认证的重要工具便是数字签名。被认证者只需将自己的ID用双钥体制中的私钥加密,并发送给认证中心,认证中心便从公钥信箱中找出能解读此ID的那把公钥,便可确认ID的身份,并注册交易。同样,每一步的确认过程亦是一个认证的过程。

----在电子商务中,订单的保密性需用加密技术来处理,而订单的可靠性、时间性等则需用数字签名技术,有时往往还要双重签名。例如,王先生要买李小姐的一处房产,他发给李小姐一个购买报价单及他对银行的授权书的消息,如果李小姐同意按此价格出卖,则要求银行将钱划到李小姐的账上。但是王先生不想让银行看到报价,也不想让李小姐看到他的银行账号信息。此外,报价和付款是相连的、不可分割的,仅当李小姐同意他的报价,钱才会转移。要达到这个要求,采用双重签名即可实现。

----具体的实现方法是:首先生成两条消息的摘要,将两个摘要连接起来,生成一个新的摘要(称为双重签名),然后用签发者的私有密钥加密,为了让接收者验证双重签名,还必须将另一个消息的摘要一起传过去。这样,任何一个消息的接收者都可以通过以下方法验证消息的真实性:生成消息摘要,将它和另外一个消息摘要连接起来,生成新的摘要,如果它与解密后的双重签名相等,就可以确定消息是真实的。拿上面的例子来说,如果李小姐同意,它发一个消息给银行表示她同意,另外包括报价单的消息摘要,银行能验证王先生授权的真实性,用王先生的授权书生成的摘要和李小姐消息中的报价单的摘要验证双重签名。银行根据双重签名可以判定报价单的真实性,但却看不到报价单的内容。

加/解密机制的研究与发展

----如前所述,尽管双钥密码体制较单钥密码体制更为可靠,且无需复杂的密钥管理,大多数双钥体制还可用于数字签名,然而,由于其计算的复杂性,在进行大信息量通信时,其速率为单钥体制的1/1000~1/100。正是由于不同体制的加密算法各有所长,预计在今后相当长的一段时期内,各类加密体制将共存。

----在由IBM等公司1996年联合推出的用于电子商务的协议标准SET(Secure Electronic Transaction)中以及1992年由多国联合开发的PGP(Pretty Good Privacy)中,均采用了混合密码系统,包含单钥密码、双钥密码、单向杂凑算法和随机数生成算法等。

----在单钥密码领域,一次一密被认为是最为可靠的机制,然而由于流密码体制中的密钥流生成器在算法上未能突破有限循环性,故一直未被广泛应用,因此,若能找到一个在算法上接近无限循环的密钥流生成器,该体制将会有一个质的飞跃。近年来,混沌学理论的研究给在这一方向产生突破带来了曙光。

----量子密码被认为是一个潜在的发展方向,它基于光学和量子力学理论。加密体制原理在于量子系统在被测量时会受到扰动,这对在光纤通信中加强信息安全,并对付拥有量子计算能力的破译者来说,无疑是一种可靠的选择。

----由于电子商务等民用系统的应用需求,认证加密算法也将有较大发展,尤其是零知识证明的加密/解密算法可望出现一些新的成员。

----此外,在传统密码体制中,将会产生类似IDEA这样的新成员,新成员的一个主要特征便是在算法上有所创新和突破,而不仅仅是对传统算法的修正或改进。

----密码学是一个正在不断发展的年轻学科,任何未被认识的加/解密机制都将在其中占有一席之地。