浅析分组密码——DES

| 浏览次数:

摘要:随着计算机和通信技术的发展,用户对信息的安全存储、安全处理和安全传输的需求越来越迫切,信息的安全保护问题就显得更加重要。而解决这一问题的有效手段之一是使用现代密码技术。该文介绍了分组密码的发展,描述了分组密码的典型代表算法——DES(Data Encryption Standard)算法,指出了DES算法的实现及安全性。

关键词:密码;加密技术;DES算法;S-盒

中图分类号:TP393文献标识码:A文章编号:1009-3044(2008)33-1335-03

1 引言

当今的时代是信息的时代,信息化以通信和计算机为技术基础,以数字化和网络化为技术特点。它有别于传统方式的信息获取、储存、处理、传输和使用,从而也给现代社会的正常发展带来了一系列的前所未有的风险和威胁。人类社会是一个有序运作的实体,理想、信念、道德、法规从不同侧面维系社会秩序。传统的一切准则在电子信息环境中如何体现和维护,到现在并没有根本解决,一切都在完善之中。今天当人们享受信息技术带来的巨大变革的同时,也享受着信息被篡改、泄漏、伪造的威胁,以及计算机病毒及黑客入侵等安全问题。全世界由于信息系统安全的脆弱性而导致的经济损失逐年上升,安全问题日益严重。由此可见,安全问题占有很大比重。密码技术是信息安全技术的核心,它是实现保密性、完整性、不可否认性的关键。

2 加密技术的分类

根据密钥的特点,可将密码体制分为对称和非对称密码体制两种。对称密码体制又称单钥或私钥或传统密码体制,非对称密码体制又称双钥或公钥密码体制。在私钥密码体制中,加密密钥和解密密钥是一样的或彼此之间容易相互确定。按加密方式又可将私钥密码体制分为流密码和分组密码两种。在流密码中,将明文消息按字符逐位地加密。在分组密码中,将明文消息分组(每组含有多个字符),逐组地进行加密。在公钥密码体制中,加密密钥和解密密钥不同,从一个难于推出另一个,可将加密能力和解密能力分开。本文这里仅讨论分组密码。

3 分组密码的研究背景及意义

《密码学新方向》的发表和美国数据加密标准DES的颁布实施标志着现代密码学的诞生,从此揭开了商用密码研究的序幕。此后实用密码体制的研究基本上沿着两个方向进行,即以RSA为代表的公开密钥密码体制和以DES为代表的秘密密钥分组密码体制。分组密码具有速度快、易于标准化和便于软硬件实现等待点.通常是信息与网络安全中实现数据加密、数字签名、认证及密钥管理的核心体制,它在计算机通信和信息系统安全领域有着最广泛的应用。

当前,分组密码之所以受到广泛关注并且成为密码学研究的热点课题之一,主要是由于以下几个原因:

1) 加密算法标准化的需要

标准化是工业社会的一个基本概念,它意味着生产规模化、降低成本、方便维修和更换为了实现非相关团体之间的保密通信,加密体制的标准化是必要的。分组密码由于其固有特点,已经成为标准化进程的首选体制。1977年美国国家标准局颁布了联邦信息处理标准DES 以保护非机密信息在存储和传输过程中免受未经授权的篡改或泄露。此后,DES作为数据加密的工业标准,得到了IBM等计算机制造厂商的大力支持,并陆续被其他组织机构所采用。1979年美国银行家协会批准使用DES,1980年DES又成为美国标准化协会(ANSI)的标准。继而,DES也受到国际标准化组织(ISO)的关注,l984年成立的数据加密技术委员会SC20准备在DES基础上制定数据加密的国际标准。尽管DES是目前世界上使用最广和最成功的算法,但是它的56比特密钥对今天的许多安全应用已太短了,三重DES作为临时的解决方案已出现在许多像银行这类安全性高的应用中,但是对于某些应用,它的加密速度太慢。最根本的是,当同一密钥加密大量数据时,DES的64比特分组长度为密码攻击开了方便之门。正是由于这些原因1997年4 月15日美国国家标准技术研究所(NIST)发起征集AE5(Advanced Encryption Standard)算法的活动,并专门成立了AES工作组,目的是为了确定一个非保密的、公开披露的、全球免费使用的分组密码算法,用于保护下一世纪政府的敏感信息,也希望AES能够成为秘密和公开部门的数据加密标准。

2) 加密算法本土化的需要

信息安全的最大特点之一是自主性,因而其核心技术——密码学的研究与开发应当是一种本土性的科学。对于有些产品,可以通过外方引进来解决由于技术落后而带来的问题。然而对于安全产品,除非能完全确信它在硬件和软件上没有陷门,否则,冒然使用可能带来不可预测的后果。而要做到软硬件上的确认通常是十分困难的。因此,最明智的方法是依靠自己的力量并汲取现有的先进经验进行研究、设计和开发。

3) 官方组织维护通信和社会安全的需要

为了维护通信安全、打击犯罪,1993年4月,美国政府宣布了一项新的建议,该建议倡导联邦政府和工业界使用新的具有密钥托管功能的联邦加密标准。该建议称为托管加密标准(escrowed encrytion standard,EES),又称C1ipper建议。其目的是为用户提供更好的安全通信方式,同时允许政府机构在必要情况下进行监听。EES系统中嵌入了分组加密算法Sk -ipjack,尽管目前对该系统和算法有许多争议,但从维护国家通信安全的角度,这项建议是有积极意义的。

4) 多级安全的需要

在区域通信系统中,用户较多,他们的地位、作用都不相同,所流通的信息的重要性也不可能完全相同,因此他们要求得到的安全保护等级也不应该相同。由此可见,研究多安全级密码算法非常必要。迭代分组密码(所谓选代分组密码就是以迭代一个简单的轮函数为基础的密码,即通过选择某个较简单的密码变换,在密钥控制下以迭代方式多次利用它进行加密变换,例如Feistel型密码就是一种选代密码,是分组密码的典型代表,其数学思想简单而灵巧。特别是在相同的轮函数之下,迭代次数的不同即代表了安全强度的不同级别。

5) 网络安全通信的需要

在Internet/Intranet中随着通信量和业务种类的增加,对安全认证和保密业务的需求日益迫切。比如,PGP(Pretty Good Privacy)就是一种广泛应用于Internet中E-mail系统的一种安全技术方案,它也可以用于其他网络中。PGP的安全业务包括机密性、认证性、不可抵赖性等,其中的机密性就是利用分组密码算法IDEA来保证的。另外,分组密码的工作模式可提供一些人们所需要的其他密码技术,比如流密码技术和杂凑技术等。

4 分组密码的研究现状

现代分组密码的研究始于20世纪70年代中期,至今已有20余年的历史,这期间人们在这一研究领域已经取得了丰硕的研究成果。大体上,分组密码的研究包括三方面:分组密码的设计原理,分组密码的安全性分析和分组密码的统计性能测试。

分组密码的设计与分析是两个既相互对立又相互依存的研究方向,正是由于这种对立促进了分组密码的飞速发展。早期的研究基本上是围绕DES进行,推出了许多类似于DES的密码,例如LOKI、FEAL、GOST等。进入了90年代,人们对DES类密码的研究更加深入,特别是差分密码分析(differential cryptanalysis)和线性密码分析(1inear cryptanalysis)的提出,迫使人们不得不研究新的密码结构。

5 DES算法描述

DES算法中数据以64位分组进行加密,有效密钥长度为56位,加密算法见(图1)。它的加密算法与解密算法相同,只是解密使用子密钥与加密子密钥的使用顺序刚好相反。DES在对明文进行初始置换IP后,执行16轮的迭代密码,最后经IP的逆变换得到密文。所谓迭代密码是在密钥控制下多次利用轮函数f进行加密变换,以实现扩散和混淆的效果。这里明文块M0=L0R0,其中L0是M0的左32位,R0是M0的右32位。给定一个密钥k,由它生成16个子密钥k1,k2,……,k16。通过下面加密过程得到密文R16L16(注意,最后一个迭代的结果不进行交换):

For i=1 to 16

Li=Ri-1

Ri=Li-1?茌f(Ri-1,ki)

该结构称为Feistel密码,(Li-1,Ri-1) (Li,Ri)。Feistel提出用替代和置换交替的方式构造密码。现在正在使用的所有重要分组密码都使用这种Feistel结构。

计算f(Ri-1,ki)的过程(见图2)是:

1) 对Ri-1进行选位变换E。令Ri-1=r1r2…r32,E(Ri-1)=r32r1r2r3…r30r31r32r1,其中扩展了16位(1,4,5,8,9,12,13,16,17, 20,21,24,25,28,29,32位),从32位变成了48位。

2) 在S-盒及子密钥ki的作用下得到32位的H。首先将E(Ri-1)分成8组,每组6位。从左到右分别为S1,S2,……,S8盒的输入。令S1盒的输入为b1b2b3b4b5b6,b1b6和b2b3b4b5分别表示为i,j(0≦i≦3,0≦j≦15),则取S1盒的i行j列位置元素(4位)作为S1盒的输出。

3) 置换P作用到H=h1h2h3h4…h32上,最终得到 f(Ri-1,ki)=P(H)=h16h7h20h21…h22h11h4h25 。

S-盒是DES算法的核心。在差分分析公开以后,IBM公司于1992年、1994年公布了S-盒和P-盒的设计准则。

S-盒设计准则是:

1) 没有一个S-盒的输出位是输入位的线性函数;

2) 如果将输入的两端位固定,中间4位变化,产生的输出只能得到一次;

3) 如果S-盒的两个输入之间有一位的差异,则输出中至少两位不同;

4) S-盒的两个输入前两位不同而最后两位已知,则输出必须不同;

5) 对于输入之间的任何6位差分,32位中至多有8对显示出的差分导致了相同的输出差分。

P-盒的设计准则是:

1) 在第i轮S-盒的4位输出中,2位将影响S-盒第i+1轮中间位,其余2位将影响两端位;

2) 每个S-盒的4位输出影响下一轮6个不同的S-盒,但是没有两位影响同一个S-盒;

3) 如果一个S-盒的4位输出影响另一个S-盒的中间1位,则后一个的输出位不会影响前面一个S-盒的中间1位。

目前对分组密码安全性的讨论主要包括差分密码分析、线性密码分析和强力攻击等。从理论上讲,差分密码分析和线性密码分析是目前攻击分组密码的最有效的方法,而从实际上说,强力攻击是攻击分组密码最可靠的方法。到目前为止,已有大量文献讨论各种分组密码的安全性,同时推出了譬如截段差分分析、非线性密码分析及插值攻击等多种分析方法。自AES候选算法公布以后,国内外许多专家学者都致力于候选算法的安全性分析,预计将会推比一些新的攻击方法,这无疑将进一步推动分组密码的发展。

6 结束语

分组密码是现代密码学中的一个重要研究分支,其诞生和发展有着广泛的实用背景和重要的理论价值。目前这一领域还有许多理论和实际问题有待继续研究和完善。这些问题包括:如何设计可证明安全的密码算法;如何加强现有算法及其工作模式的安全性;如何测试密码算法的安全件;如何设计安全的密码组件,例如S-盒、扩散层及密钥扩展算法等。

参考文献:

[1] 孙淑玲.应用密码学[M].北京:清华大学出版社,2004.

[2] (美国)WilliamStallings.密码编码学与网络安全——原理与实践[M].北京:电子工业出版社,2004.

[3] 卢开澄.计算机密码学——计算机网络中的数据保密与安全[M].北京:清华大学出版社,2003.

注:“本文中所涉及到的图表、注解、公式等内容请以PDF格式阅读原文。”

推荐访问: 浅析 分组 密码 DES

【浅析分组密码——DES】相关推荐

工作总结最新推荐

NEW
  • XX委高度重视党校的建设和发展,出台《创建全省一流州市党校(行政学院)实施方案》及系列人才培养政策,为党校人才队伍建设提供了有力的政策支撑。州委党校在省委党校的悉心指导下、州委的正确领导下,深入贯彻落

  • 为推动“不忘初心、牢记使命”主题教育常态化,树牢“清新简约、务本责实、实干兴洛”作风导向,打造忠诚干净担当、敢于善于斗争的执纪执法铁军,经县纪委常委会会议研究,决定在全县纪检监察系统开展“转变作风工作

  • 为进一步发展壮大农村集体经济,增强村级发展活力,按照中共XXX市委抓党建促乡村振兴工作领导小组《关于印发全面抓党建促乡村振兴四个工作计划的通知》要求,工作队与村“两委”结合本村实际,共同研究谋划xx村

  • 今年来,我区围绕“产城融合美丽XX”总体目标,按照“城在林中,水在城中,山水相连,林水相依”以及“城乡一体、景城一体、园城一体”的建设思路,强力推进城市基础设施建设、棚户区改造、房地产开发和城市风貌塑

  • 同志们:新冠疫情发生至今已有近三年时间。三年来,在广大干群的共同努力下,我们坚决打好疫情防控阻击战,集团公司范围内未发生一起确诊病例,疫情防控工作取得了阶段性胜利。当前国际疫情仍在扩散蔓延,国内疫情多

  • 我是毕业于XX大学的定向选调生,当初怀着奉献家乡、服务人民的初心回到XX,在市委的关心关爱下,获得了这个与青年为友的宝贵历练机会。一年感悟如下。一要对党忠诚,做政治坚定的擎旗手。习近平总书记指出,优秀

  • 同志们:今天召开这个会议,主要任务是深入学习贯彻习近平总书记重要指示批示精神,以及李克强总理批示要求,认真落实全国安全生产电视电话会议和全省、全市安全生产电视电话会议精神,研究我县安全生产和安全隐患大

  • 2022年市委政研室机关党的建设工作的总体要求是:坚持以XXX新时代中国特色社会主义思想为指导,全面贯彻党的XX届X中X会和省、市第十二次党代会精神,自觉运用党的百年奋斗历史经验,弘扬伟大建党精神,深

  • 同志们:今天,我们在这里召开市直机关基层党建示范点工作会议,一方面是对各示范点单位进行表彰授牌,另一方面是想通过这种会议交流的方式,给大家提供一个相互学习、取长补短的平台和机会。市直工委历来把创建基层

  • 新冠疫情暴发以来,学校党委坚决贯彻习近平总书记关于疫情防控工作的指示要求和党中央的决策部署,严格执行×××部、×××厅关于疫情防控的系列要求,认真落实驻地防疫部门的工作举措,继承发扬优良传统,以最高标