6.5 利用DES机制加强RFID中间件安全性
数据加密标准(DES)是其中一种使用历史悠久、最负盛名的加密算法,是由IBM公司和美国政府标准协会从1976年开始用了大约25年的时间研发出来的。这种算法在当时被认为是无法破解的,因此而受到了美国商务部的出口限制,之后更是被美国国防部(Department of Defense,DOD)所采用。如今采用这种算法的机构会将其在同一文本上应用三次来进行加密处理,由此得名为3-DES。
DES算法明显地以Horst Feistel提出而没有得到广泛应用的西弗算法为基础。从本质上看,DES采用单独的64位密钥——56位数据和8位奇偶校验——并以64位数据的方式运行。这个密钥分为16个独立的子密钥,每个子密钥具有48位的长度,每一组为一个循环,称为Feistel循环。图6-10表示DES加密算法的基本工作原理。

每一个循环包含了一个替代阶段和一个置换阶段。在替代阶段,将数据用密钥片来替代,在置换阶段,将密钥替代后的数据打乱或者经过重新排序。替代操作有时会被称为杂混操作,被称为在保密替换盒中发生。同样,置换操作被叫做扩散操作,是在置换盒中进行的。这两种操作都在途中的F模式中产生。DES的安全性主要在于替代操作是非线形的,这样就使得最后得出的结果密文和原文没有任何相似的地方。这样,就不能采用基于语言的分析技术(在本章后面的内容里我们会加以讨论)来解密密文。置换操作通过不规则化已经部分加密的信息为系统提供了另一层安全措施。
从1976年到2001年间,每隔5年,NIST就会重新审定DES加密机制作为美国联邦政府加密标准。然而,到了20纪90年代,这种已经开始老化的算法开始显现其生命接近尽头的迹象。有人采用了一种新的技术识别出一个攻击DES密码的捷径模式,如早在1990年就已经提出了微分密码分析学,但其在计算上仍然很难做得到。
一些关键的设计缺陷如只有56位的密钥长度也影响了DES加密的寿命。较短的密钥在暴力攻击下更容易受损。虽然Whitfield Diffie和Martin Hellman是首先批评这种较短密钥长度的人,甚至早在1979年就声称DES将会在10年内失效,但是直到1997年DES密码才被暴力攻击所破解。


