首页 >> 网络营销词典 >> 互联网基础知识FAQ >> 数据加密标准

数据加密标准[编辑]


概述
数据加密标准( Data Encryption Standard)1977年美国国家标准局公布的IBM公司研制的一种数据加密算法:数据加密标准。

简介

原定服役十年,由于在这期间,该加密标准没有受到真正的威胁,20多年来一直活跃在国际保密通信的舞台上。近些年,随着计算机技术的提高,已经有了现实的威胁。512位的密钥已经能被破解,但是要花很多的时间,计算量非常大,1024位长度密钥至今没能被破解。DES作为一种高速对称加密算法,仍然具有重要意义,特别是DES(密钥系统)和公钥系统结合组成混合密码系统。使DES和公钥系统(如RSA)能够各自扬长避短,提高了加密系统的安全和效率。

发展

为了建立适用于计算机系统的商用密码,美国商业部的国家标准局NBS于1973年5月和1974年8月两次发布通告,向社会征求密码算法。在征得的算法中,由IBM公司提出的算法lucifer中选。1975年3月,NBS向社会公布了此算法,以求得公众的评论。于1976年11月被美国政府采用,DES随后被美国国家标准局和美国国家标准协会(American National Standard Institute,ANSI) 承认。1977年1月以数据加密标准DES(Data Encryption Standard)的名称正式向社会公布。
随着攻击技术的发展,DES本身又有发展,如衍生出可抗差分分析攻击的变形DES以及密钥长度为128比特的三重DES等。
DES使用56位密钥对64位的数据块进行加密,并对64位的数据块进行16轮编码。与每轮编码时,一个48位的“每轮”密钥值由56位的完整密钥得出来。DES用软件进行解码需要用很长时间,而用硬件解码速度非常快。在1977年,人们估计要耗资两千万美元才能建成一个专门计算机用于DES的解密,而且需要12个小时的破解才能得到结果。所以,当时DES被认为是一种十分强壮的加密方法。

破译方法

DES受到的最大攻击是它的密钥长度仅有56比特,1990年S.Biham 和 A.Shamir提出了差分攻击的方法,采用选择明文247攻击,最终找到可能的密钥,M.Matsui 提出的线性分析方法,利用243个已知明文,成功地破译了16圈DES算法,到目前为止,这是最有效的破译方法。

替代算法

安全方面和对DES软件相对慢的速度的考虑使得研究者在1980年代晚期和1990年代早期提出了一系列替代的块密码设计,包括RC5,Blowfish,IDEA,NewDES,SAFER,CAST5和FEAL。这些设计的大多数保持了DES的64位的块大小,可以作为DES的直接替代方案,虽然这些方案通常使用64位或128位的密钥。苏联导入了GOST 28147-89算法,该算法的块大小为64位,而密钥长度为256位,并在晚些时候的俄罗斯得到了应用<{"style_bNavID":"a52835af-5b19-4ead-93c1-00e527e7608b","data_pageName":"潮 流 区","style_bgPic":"","style_bNavType":2001,"style_tFlag":0,"style_bgType":1,"style_bgColor":"000000","sys_pageID":"3e64eff9-a749-4256-8296-cf1c018e55a8","data_password":"","style_tNavID":"","item":[{"style_leftPicHeight":52,"style_text1Align":0,"sys_z":0,"style_bgPic":"","style_text2Bold":0,"style_rowBgPic":"","style_bgType":1,"sys_w":320,"sys_y":81,"sys_x":0,"style_rowLineBgType":1,"style_rowLineHeight":46,"style_rowLineBgAlpha":100,"style_showText2":1,"style_leftPicWidth":166,"style_rowBgAlpha":100,"style_bgAlpha":100,"style_text1Size":15,"sys_moduleType":4001,"style_rowBgColor":"000000","style_rowHeight":64,"style_bgColor":"FFFFFF","style_text2Align":0,"sys_h":467,"style_text1Bold":0,"style_text1Color":"C4BD97","item":[{"data_text2":"内刷绒毛 / 针织 / 卫衣 / T-shirt","nFlag":0,"nPageId":"","sys_seq":0,"data_leftPic":"1447135404058_644379.png","nPageType":0,"data_text1":"长 袖 上 衣","data_rightPic":""},{"data_text2":"空军夹克 / 棒球外套","nFlag":0,"nPageId":"","sys_seq":1,"data_leftPic":"1447135253678_1014574.png","nPageType":0,"data_text1":"外 套 类","data_rightPic":""},{"data_text2":"经典 / 潮流 / 休闲","nFlag":0,"nPageId":"","sys_seq":2,"data_leftPic":"1447135255654_692219.png","nPageType":0,"data_text1":"潮 流 鞋 类 别","data_rightPic":""},{"data_text2":"手链&项链 / 帽子 ","nFlag":0,"nPageId":"","sys_seq":3,"data_leftPic":"1447135255000_666118.png","nPageType":0,"data_text1":"配 件 饰 品","data_rightPic":""},{"data_text2":"70% 50% 30%","nFlag":0,"nPageId":"","sys_seq":4,"data_leftPic":"1447137908592_151727.png","nPageType":0,"data_text1":"S A L E","data_rightPic":""}],"style_rowLineColor":"000000","style_text2Size":12,"style_rowLineBgPic":"","style_text2Color":"FFFFFF","style_rowBgType":1},{"style_textSize":28,"sys_h":58,"sys_z":1,"data_text":"| 潮 流 本 质 ","style_textColor":"FFFFFF","sys_moduleType":3,"style_textAlign":1,"sys_w":186,"sys_y":10,"style_textBold":0,"sys_x":134}],"style_tNavType":1001,"style_bFlag":1,"style_bgAlpha":100}>http://tools.ietf.org/html/rfc5830 GOST 28147-89:加密,解密和消息验证码(MAC)算法</ref>。

DES本身可以应用和重用到更安全的环境中。许多前DES用户现在使用3DES,这是一个由DES的专利持有人描述和分析的标准;它相当于用两个(2TDES)或三个(3TDES)不同的密钥对数据进行三次DES加密。3DES被认为是十分安全的,虽然它的速度较慢。另一个计算花费较小的替代算法是DES-X,它通过将数据在DES加密前后分别与额外的密钥信息进行异或来增加密钥长度。GDES则是一种速度较快的DES变体,但它对微分密码分析较敏感。

2000年10月,在历时接近5年的征集和选拔之后,NIST选择了一种新的密码,高级加密标准(AES)替代DES[28]。2001年2月28日,联邦公报发表了AES标准,以此开始了其标准化进程,并于2001年11月26日成为FIPS PUB 197标准。AES算法在提交的时候称为Rijndael。选拔中其它进入决赛的算法包括RC6,SERPent,MARS和Twofish。

算法描述

为简明起见,下文中的叙述省略的各变换和置换的细节,可以在DES补充材料中找到对应的查找表。

DES是一种典型的块密码—一种将固定长度的平文通过一系列复杂的操作变成同样长度的密文的算法。对DES而言,块长度为64位。同时,DES使用密钥来自定义变换过程,因此算法认为只有持有加密所用的密钥的用户才能解密密文。密钥表面上是64位的,然而只有其中的56位被实际用于算法,其余8位可以被用于奇偶校验,并在算法中被丢弃。因此,DES的有效密钥长度为56位,通常称DES的密钥长度为56位。

与其它块密码相似,DES自身并不是加密的实用手段,而必须以某种工作模式进行实际操作。FIPS-81确定了DES使用的几种模式。FIPS-74包括了更多关于DES使用的讨论[32]。

整体结构


算法的整体结构如图1所示:有16个相同的处理过程,称为“回次”(round),并在首尾各有一次置换,称为IP与FP(或称IP-1,FP为IP的反函数(即IP“撤销”FP的操作,反之亦然)。IP和FP几乎没有密码学上的重要性,为了在1970年代中期的硬件上简化输入输出数据库的过程而被显式的包括在标准中。

在主处理回次前,数据块被分成两个32位的半块,并被分别处理;这种交叉的方式被称为费斯妥结构。费斯妥结构保证了加密和解密过程足够相似—唯一的区别在于子密钥在解密时是以反向的顺序应用的,而剩余部分均相同。这样的设计大大简化了算法的实现,尤其是硬件实现,因为没有区分加密和解密算法的需要。

图中的⊕符号代表异或(XOR)操作。“F函数”将数据半块与某个子密钥进行处理。然后,一个F函数的输出与另一个半块异或之后,再与原本的半块组合并交换顺序,进入下一个回次的处理。在最后一个回次完成时,两个半块需要交换顺序,这是费斯妥结构的一个特点,以保证加解密的过程相似。

费斯妥函数(F函数)

扩张—用扩张置换(图中的E)将32位的半块扩展到48位,其输出包括8个6位的块,每块包含4位对应的输入位,加上两个邻接的块中紧邻的位。
与密钥混合—用异或操作将扩张的结果和一个子密钥进行混合。16个48位的子密钥—每个用于一个回次的F变换—是利用密钥调度从主密钥生成的(见下文)。
S盒—在与子密钥混合之后,块被分成8个6位的块,然后使用“S盒”,或称“置换盒”进行处理。8个S盒的每一个都使用以查找表方式提供的非线性的变换将它的6个输入位变成4个输出位。S盒提供了DES的核心安全性—如果没有S盒,密码会是线性的,很容易破解。
置换—最后,S盒的32个输出位利用固定的置换,“P置换”进行重组。这个设计是为了将每个S盒的4位输出在下一回次的扩张后,使用4个不同的S盒进行处理。
S盒,P置换和E扩张各自满足了克劳德·香农在1940年代提出的实用密码所需的必要条件,“混淆和扩散”。

密钥调度


显示了加密过程中的密钥调度—产生子密钥的算法。首先,使用选择置换1(PC-1)从64位输入密钥中选出56位的密钥—剩下的8位要么直接丢弃,要么作为奇偶校验位。然后,56位分成两个28位的半密钥;每个半密钥接下来都被分别处理。在接下来的回次中,两个半密钥都被左移1或2位(由回次数决定),然后通过选择置换2(PC-2)产生48位的子密钥—每个半密钥24位。移位(图中由<<标示)表明每个子密钥中使用了不同的位,每个位大致在16个子密钥中的14个出现。

解密过程中,除了子密钥输出的顺序相反外,密钥调度的过程与加密完全相同。

DES挑战赛

从1997年开始,RSA公司发起了一个称作“向DES挑战”的竞技赛。在首届挑战赛上,罗克·维瑟用了96天时间破解了用DES加密的一段信息。
1999年12月22日,RSA公司发起“第三届DES挑战赛(DES Challenge III)”。2000年1月19日,由电子边疆基金会组织研制的25万美元的DES解密机以22.5小时的战绩,成功地破解了DES加密算法。DES已逐渐完成了它的历史使命。

参考资料:
扩展阅读: http://www.wm23.cn/RuGey
相关词条:
合作编辑:

网络营销词典内容均由网友提供,仅供参考。如发现词条内容有问题,请发邮件至info # wm23.com。

词条信息

浏览次数:18

编辑次数:0历史版本

创建者: 何汝国

最近更新:2015/11/14 11:46:17

词条分类导航

关于网络营销教学网站| 本站动态| 网站地图| 版权声明| 联系作者| 问题和建议|

版权声明:网络营销教学网站所有作品版权均归原作者所有,未经书面许可,严禁任何形式的转载/转贴、出版、篡改、汇编、编译等。