计算机网络安全与管理:第三讲 密码技术(二)_第1页
计算机网络安全与管理:第三讲 密码技术(二)_第2页
计算机网络安全与管理:第三讲 密码技术(二)_第3页
计算机网络安全与管理:第三讲 密码技术(二)_第4页
计算机网络安全与管理:第三讲 密码技术(二)_第5页
已阅读5页,还剩32页未读 继续免费阅读

付费下载

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

计算机网络安全与管理

第三讲密码技术(二)现代对称加密技术本章我们将继续上节课的内容,讲解现代块加密技术是最为广泛使用的加密算法中的一种能够提供数据机密性与鉴别服务我们将主要研究对象集中于DES(DataEncryptionStandard),通过其了解块加密的相关设计原则块加密vs流加密块加密(blockciphers)将消息处理为块,然后单独进行加/解密运算过程似乎是对一个个特大字符的替换64-bits或更多流加密(streamciphers)将消息按照位或字节为单位进行加/解密许多现有的密码都属于块加密具有广泛的应用块加密的设计准则绝大多数的块加密技术均基于FeistelCipherStructure源于对消息加解密效率的需求块加密类似于极端情况下的替换以64-bits的块为例则其表项将达到264替代了较小的构建块利用了乘积密码的概念理想块加密ClaudeShannonandSubstitution-PermutationCiphersClaudeShannon1949年在其论文中介绍了Substitution-Permutation(S-P)的概念构成了现代块加密的基础S-P网络基于两个密码学原语操作substitution(S-box)permutation(P-box)提供了对消息的扩散和扰乱扩散与扰乱

ConfusionandDiffusion密码需要能够隐蔽源消息的统计特性一次一密(one-timepad)做的正是这点在实践上,Shannon建议组合S&P元素以达到:扩散:将明文的统计结构扩散到密文的长程统计特征中扰乱:使密文与密钥的联系尽可能的复杂FeistelCipherStructureHorstFeistel设计了feistel密码基于可逆乘积码将数据块分为两部分处理由多轮构成每轮中对数据的左一半进行替代操作,方法是将数据的右一半结合子密钥应用round函数F,然后将这个函数的输出与左边一半做异或。然后将左右两部分进行置换实现了Shannon的S-P网络概念Feistel码的设计要素分组大小:分组越大,安全性越高(其他条件不变),但同时更慢。64-bit是一个折中密钥大小:密钥长度越长则安全性越高,但加解密速度也越慢。目前倾向于128-bit循环次数:feistel密码特点是一个循环不足以保证足够的安全性。次数越多越安全。16子密钥生成算法:应足够复杂Round函数:应足够复杂加解密速度:应足够快以适应应用易于分析Feistel码解码

FeistelCipherDecryptionDataEncryptionStandard(DES)当前最为广泛使用的块加密方案1977年被以前的美国标准局(NBS),现在的美国标准与技术协会(NIST)所采用作为联邦信息处理标准采用利用56-bit密钥加密64bit块数据被广泛应用其安全性曾受到争议DES的历史IBM开发了Lucifer密码由Feistel领导的小组与上世纪60年代开发使用64bit数据块,128-bit密钥在NSA参与下进行了商业重开发IBM最后提供的被接受的方案是DESDES设计之争尽管DES标准是公开的,但对其设计上存在很大分歧56-bit(原先是128-bit)其设计标准是保密的其后的应用效果与分析表明设计是可接受的对DES的应用仍旧繁荣特别是在金融应用仍旧是权威的应用之一首先64-bit的明文进行初始IP置换16次循环函数本身同时具有置换与替代函数。最后一轮输出后,将左右交换,在经过IP的逆置换可得初始置换IP

InitialPermutationIP数据计算的第一步记录输入数据位最终偶数位在左半边,奇数位在右半边结构相当规则例:IP(675a69675e5a6b5a)=(ffb2194d004df6fb)

注意:des的编号来源自IBM惯例,最左边的是第一位轮结构采用两个32-bitL&R半组对于任意的Feistel分组码都可以表示为:Li

=Ri–1Ri

=Li–1

F(Ri–1,Ki)F处理32-bitR半组与48-bit子密钥:通过E将R扩展为48-bits将其与子密钥进行XOR相加经过8个S-boxes得到32-bit的结果通过32-bit置换P改变次序DES轮结构S-盒8个S-boxes将6bit映射为4bits每个S-box实际上是4个小的4bitboxes外bits1&6(rowbits)选择四行里的行号

结合内bits2-5(colbits)得到替代结果是8个4bits,或者说是32bits行的选择同时依靠数据与密。example:S(1809123d11173839)=5fd25e03

密钥的生成构成每轮中使用的子密钥通过初始化置换(PC-1)将56bit分成两个28bit16个阶段每个阶段左右分别经过左移调度生成新的左右两端经过合并取前面48位问题:如ASCII码的问题DES解密解密同样需要将数据展开计算根据Feistel设计,按照加密的逆序使用子密钥(SK16…SK1)IP撤销加密过程中FP的影响1轮利用SK16取消第16次加密轮的影响….16轮利用SK1撤销第一轮的影响最后FP撤销IP影响最终得到解密结果雪崩效应DES具备较好的雪崩效应改变一个bit的输入或密钥会影响近半的输出位使得密钥的强度56-bitkeys有256=7.2x1016

个值暴力破解是困难的目前的发展时的成为可能in1997需要几个月in1998需要几天in199922hrs!需要能够识别明文必须寻求DES的改进处理器处理器速度(MHz)每秒处理的DES分组个数80884.7370680007.69008028661,10068020163,50068030163,90080286255,000680305010,000680402516,000680404023,000804866643,000DES的分析目前有几种分析攻击的方法针对DES它们应用到了一些深层的密码结构收集加密信息可以恢复部分/所有子密钥如果必要剩下的可以暴力破解一般来说有如下方法差分分析线性分析相关密钥攻击设计准则7条S-boxes的以达到非线性抗差分分析良好的混淆3条准则给P以达到增加扩散性块加密准则基本的如同Feistel轮数:越多越好F:提供混淆,非线性,雪崩Key:密钥雪崩,子密钥生成算法复杂其他分组密码IDEA算法RC5算法Rijndael算法差分密码分析是一种选择明文攻击方法。目前已知的攻击迭代密码体制的最有效方法之一。利用高概率特征或差分对密钥进行恢复。差分密码分析基本思想:通过对特定明文差对与之对应的密文差的影响进行分析,恢复密钥中的比特信息,并获得可能性最大的密钥。

差分密码分析的复杂度差分分析的数据复杂度为加密所需的选择明文对(,)的两倍,处理复杂度与由()中找到子密钥(或其部分比特)的计算量相同,与r无关(由于轮函数弱,该计算量通常情况下并不大)。可见,差分分析的复杂度主要取决于其数据复杂度。研究表明,利用差分方法攻击8轮、10轮、14轮和16轮DES时,需要的选择明文对的个数分别为、、、、。线性密码分析是一种已知明文攻击方法,但在某些情况下也可用于唯密文攻击。利用的是密码算法中的“不平衡(有效)的线性逼近”。线性密码分析基本思想:对于一个给定的分组密码系统,通过寻找该算法的一个有效线性近似表达式,降低密钥的墒,从而破译该系统。线性密码分析原理定义:P[i]为明文中的第i比特,同样C[i],K[i] A[i]A[j]…A[k]表示为

A[i,j,..,k]寻找一个如下形式的线性方程其中:i、j、k表示明文、密文和密钥中固定的比特位置。该方程以概率p成立(p≠0.5)。利用大量的已知明文计算方程的左侧,确定K[]的值若计算结果中大部分为0,则;若计算结果中大部分为1,则。差分-线性密码分析方法差分-线性密码分析方法是对差分方法和线性方法的改进。这种改进降低了密码分析的复杂度。用该方法攻击8轮DES可决定10位子密钥,需要768对选择明文对,攻击成功率可以达到95%。能量分析方法能量分析方法是基于密码器件的一种攻击方法。它的基本思想是:利用半导体逻辑门、运行于智能卡上的软件和别的密码器件的性能特征,通过检测器件的电子活动,使用先进的统计方法确定器件中的秘密信息(例如密钥、个人识别号)。密钥相关攻击方法相关密钥:对于给定的密钥,记其子密钥为,将子密钥集向后移1轮或者若

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论