- 1、本文档共16页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
数据加密标准DES
1977年1月,美国政府将IBM研制的一种乘积密码宣布为国家的数据加密标准。这个标准的确立刺激了很大一批厂商去实现加密算法的硬件化,以提高处理速度。这种密码术的核心是乘积变换,在硬件产业中常常简称为 DES(Data Encryption Standard)。这样一来,由于可以得到便宜高速的硬件,所以反过来也鼓励了许多其他用户采纳DES。
1.DES算法描述
现在我们来说明DES算法,它的过程如图9-2所示。对明文按64位分组,每组明文经初始排列(第1步),通过子密钥K1--K16进行16次乘积变换(第2步),再通过最终排列(第3步)得到64位密文。
图9-2 DES算法过程图
16次乘积变换的目的是使明文增大其混乱性和扩散性,使得输出不残存统计规律,使破译者不能从反向推算出密钥。
第1步:初始排列(IP)
IP(Initial Permutation)取排数据的方法如表9-2所示,其中的数据表示明文的位标(1~64)。例如,58指该组明文中的第58位,50指该组明文中的第50位,其他类推。第l步初始排列的目的是将明文的顺序打乱。
表9-2 初始排列法(IP)
[例12-1]明文X=0123456789ABCDEF(十六进制形式),写成二进制形式,共64位:
X=0000 0001 0010 0011 0100 0101 0110 0111 1000 1001 1010 1011 1100 1101 1110 1111经过初始排列(IP)后,结果变成:
1100 1100 0000 0000 1100 1100 1111 1111 1111 0000 1010 1010 1111 0000 1010 1010即
写成十六进制形式是:CC00CCFFFOAAFOAA。
第2步:乘积变换
把通过第1步得出的64位一分为二,用L0表示前32位,R0表示后32位,那么在上例中有:
L0=CC00CCFF R0=FOAAFOAA
其16次乘积变换的过程可以用图9-3表示。其中K1~K16为16次变换所采用的密钥。每一个密码函数 f(Ri-1,Ki)(i= 1,…,16)都是通过3个子过程(扩展置换,压缩代换,P排列)得到的。由于16次变换过程是类似的,我们只要对其中的一个展开讨论就行了。在上面的例子中,我们不妨看一下i=1(第1次变换)的情况。其具体过程如图9-4所示。
图9-3 16乘积变换过程
(1)扩展置换
扩展置换又称E(Expand)函数,是一个与密钥无关的纯移位变换,它把32位扩展成48位。将32位分成4位一组,共8组,记作a 1(1)…a4(1), a1(2)…a4(2),…a1(8)…a4(8) 。
每组扩展成6位,共48位,记作b1(1)…b6(1), b1(2)…b6(2),…b1(8)…b6(8) 。其扩展公式可以表示成:
当j=l时,有bl(1)=a4(8),j=8时有b6(8)=a1(1),
也就是:
图9-4?? 第1次变换的过程
[例12-1]中,R0=F0AAF0AA,经过扩展置换就变成了:
把扩展置换的结果与子密钥进行异或,16个子密钥的顺序是
第i次变换用子密钥Ki。我们不妨先假设子密钥K1=0B02679B49A5,则7A15557A1555 0B02679B49A5=711732E15CF0。
(2)压缩替换
压缩替换也称压缩编码(compressed encoding),通过压缩替换将输入的48位变换为32位输出,其主要方法是利用替换盒(substitution box),简称S盒。
S盒是指这样的函数,它把6个输入位映射为4个输出位。作为一个密码表,它是由0~15组成的4行16列的随机数表,此密码表就是S盒。一个S盒中有4个替换表(行编号为0,1,2,3)。因为48位分成6位一组,共分8组,故应有8个不同的S盒,记为S1,S2 ,…,S8,它们的构成见表9-3。
表9-3? S盒的构成
我们以Sl为例来看一看如何由6位生成4位。把输入6位中的头尾两位合起来构成的两位二进制数表示行数,中间4位二进制数表示列数,在S1盒中查找对应的数,该数化成二进制形式就是输出的4位。如果输入为101100,那么
在Sl中查到2行6列所对应的数为2,即0010,故其输出的4位为0010,可写成
或写成
。
整个压缩替换可用图9-5表示。
图9-5 压缩替换
前面的例子经第1子过程后,得711732E15CF0H(48位),分成011100,010001,011100,110010,111000,010101,110011和110000 8个组,经压缩替换后得到:
即经压缩替换的结果是用十六进制表示的0C216D50,或32位二进制。
(3)
您可能关注的文档
- 教新课标版高一必修1第四单元近代中国反侵略、求民主的潮流期末知识梳理.ppt
- 教新课标品德与社会五年级下册《尝尝苦滋味》课件.ppt
- 教新课标品德与生活二年级上册《做个“快乐鸟”》课件.ppt
- 教新课标选修7Unit4Sharing单元课件.ppt
- 教英语book4module 6单词学习.ppt
- 教英语选修7第二单元Warming up and Reading.ppt
- 教英语选修7第二单元Warming_up_and_Reading.ppt
- 教育新理念》试卷.doc
- 教育组织行为学(教育)》案例库.doc
- 接空冷系统介绍.doc
- 半导体材料性能提升技术突破与应用案例分析报告.docx
- 半导体设备国产化政策支持下的关键技术突破与应用前景报告.docx
- 剧本杀市场2025年区域扩张策略研究报告.docx
- 剧本杀行业2025人才培训体系构建中的市场需求与供给分析.docx
- 剧本杀行业2025年人才培训行业人才培养模式创新与探索.docx
- 剧本杀行业2025年内容创作人才需求报告.docx
- 剧本杀行业2025年区域市场区域剧本市场消费者满意度与市场竞争力研究报告.docx
- 剧本杀市场2025年区域竞争态势下的区域合作策略分析报告.docx
- 剧本杀行业2025人才培训与行业人才培养模式创新.docx
- 剧本杀行业剧本创作人才心理素质培养报告.docx
最近下载
- 珠心算家长会(金)课件.ppt VIP
- 税法(第5版)课件 曹越 第1--5章 税法基本原理、增值税--- 企业所得税.pptx
- 手外科疾病诊断与治疗.pptx VIP
- 2021乒乓球比赛活动设计方案.docx VIP
- 医疗器械分类目录2002版.doc VIP
- JBT10216-2013电缆桥架标准将代替JBT10216-2000旧标准.docx VIP
- 非遗知识文化云肩知识介绍PPT课件.pptx VIP
- 人行地通专项施工方案.doc VIP
- 阳江核电厂疏浚(清淤)项目环境影响报告书.docx VIP
- 2025广西公需科目考试答案(3套,涵盖95_试题)一区两地一园一通道建设;人工智能时代的机遇与挑战.pdf VIP
文档评论(0)