- 1、本文档共37页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
安徽工程大学信息安全原理与应用第3讲对称密钥密码体制[下]
第3讲对称密钥密码体制——分组密码 主要内容 信息与网络安全的目标 举例:假设Alice与Bob进行必威体育官网网址通信,过程如下: 对称密码和公钥密码 3.3 数据加密标准 DES ( Data Encryption Standard ) DES(Data Encryption Standard)算法于1977年得到美国政府的正式许可,是一种用56位密钥来加密64位数据的方法,其密文的长度也为64位。 DES算法在ATM、磁卡及智能卡(IC卡)、加油站、高速公路收费站等领域被广泛应用,以此来实现关键数据的必威体育官网网址。 DES的生命周期 1975 年,NBS最终采纳了 IBM 的 LUCIFER 方案,公开发表DES。 1977 年正式颁布为数据加密标准(DES - Data Encryption Standard)。 1979 年,美国银行协会批准使用 DES。 1980 年,DES 成为美国标准化协会 (ANSI) 标准。 1984 年,ISO 开始在 DES 基础上制定数据加密的国际标准。 1994年,决定1998年12月之后不再使用DES 。 现已经确定了选用Rijndael算法作为高级加密算法AES。 1. DES的特点 DES算法具有以下特点: (1)DES算法是分组加密算法:以64位为分组。 (2)DES算法是对称算法:加密和解密用同一密钥。 (3)DES算法的有效密钥长度为56位。 (4)换位和置换。 (5)易于实现。 2. DES算法要点 算法设计中采用的基本变换和操作: 置换(P):重新排列输入的比特位置。 交换(SW):将输入的左右两部分的比特进行互换。 循环移位:将输入中的比特进行循环移位,作为输出。 一个复杂变换( fK ) 通常是一个多阶段的乘积变换; 与密钥 Key 相关; 必须是非线性变换; 实现对密码分析的扰乱; 是密码设计安全性的关键。 3. DES的加密过程 第一步:初始置换IP。 对于给定的明文m,通过初始置换IP获得 ,并将 分为两部分,前面32位记为 ,后面32位记为 ,即 第二步:乘积变换( 16轮)。 在每一轮中依据下列方法计算 ( )(16轮中的计算方法相同): , 其中, 为第i轮使用的子密钥,各 均为 的一个置换选择,所有 构成密钥方案。函数 中的变量 为32位字符串, 为48位字符串, 函数 输出的结果为32位字符串。 DES的加密过程 第三步:初始置换 的逆置换 。 应用初始置换 的逆置换 对 进行置换,得到密文c,即 。 (1)IP置换表和IP-1逆置换表 输入的64位数据按IP表置换进行重新组合,并把输出分为L0和R0两部分,每部分各32位,其IP表置换如表3-1所示 置换过程 置换过程 表3-2 IP-1逆置换表 (2) 函数 f的内部流程 E变换的算法是从Ri-1的32位中选取某些位,构成48位,即E将32位扩展为48位。变换规则根据E位选择表,如表3-3所示。 (3)DES的密钥Ki计算 DES在各轮中所用的密钥均为由初始密钥(即种子密钥)导出的48位密钥。 初始密钥为64位,其中第8、16、24、32、40、48、56、64位均为校验位。 如此设置校验位的目的是使每8个字节所含的字符“1”个数为奇数,以便能够检测出每个字节中的错误。 假设初始密钥为K,长度为64位,但是其中第8,16,24,32,40,48,64作奇偶校验位,实际密钥长度为56位。K下标i的取值范围是1到16,用16轮来构造。构造过程如图所示。 产生子密钥Ki具体描述为: 首先,对于给定的密钥K,应用PC1变换进行选位,选定后的结果是56位,设其前28位为C0,后28位为D0。PC1选位如表3-5所示。 第1轮:对C0作左移LS1得到C1,对D0作左移LS1得到D1,对C1D1应用PC2进行选位,得到K1。其中LS1是左移的位数,如表3-6所示。 第2轮:对C1和D1作左移LS2得到C2和D2,进一步对C2D2应用PC2进行选位,得到K2。如此继续,分别得到K3,K4,…,K16。 。。。。。。。。。。。。。。。。。。。 (4)S盒的工作原理 S盒以6位作为输入,而以4位作为输出,现在以S1为例说明其过程。 假设输入为A=a1a2a3a4a5a6,则a2a3a4a5所代表的数是0到15之间的一个数,记为:k=a2a3a4a5;由a1a6所代表的数是0到3间的一个数,记为h=a1
文档评论(0)