《信息安全原理与应用》课件-PekingUniversity.ppt

《信息安全原理与应用》课件-PekingUniversity.ppt

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
* * * * * * * * * * * * * * * * * * * * * * 《密码学与网络安全》 清华大学微电子学研究所 * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * RC5的操作方式 RC5分组密码 RC5-CBC RC5-CBC-Pad RC5-CTS (RFC 2040定义) * 不是分组长度整数倍的报文 有多种填充方法。 (美国)联邦信息处理标准 PUB 81所建议的,如果数据是二进制的,就填入和数据最后一位相反的比特; 如果数据块是ASCII码,就填入随机字节。 将填充bit数目写入最后一个字节。 为了进行自动数据处理,通常总是要填充的。 * 内容提要 乘积密码 分组密码的设计原理与方法 数据加密标准DES 其它现代对称分组密码 分组密码的操作模式 流密码 * 分组密码与流密码 对称密码体制根据对明文的加密方式的不同而分为分组密码和流密码。分组密码的连续明文编码数字组使用相同的密钥来进行加密。密文组y=y1y2…ym通过如下方式对明文组x=x1x2…xm加密得到:y=ek(x1)ek(x2)…ek(xm)。 流密码的基本思想是利用密钥k产生一个密钥流z=z0z1…zm,并使用如下规则加密明文串x=x0x1x2…, y=y0y1y2…= ez0(x0)ez1(x1)ez2(x2)…。 举例: 加密01101100 解密* 同步流密码 同步流密码是一个六元组(P,C,K,L,E,D)和函数f,并且满足条件: (1)P是可能明文的有限集;(明文空间) (2)C是可能密文的有限集;(密文空间) (3)K是一切可能密钥构成的有限集;(密钥空间) (4)L是一个称为密钥流字母表的有限集。 (5)f是一个密钥流生成器。f使用密钥K作为输入,产生无限的密钥流z=z0z1…zi?L,i≥1 (6)任意zi∈ L,有一个加密算法ezi ? E 和相应的解密算法 dzi ?D ,并且对每一明文x ?P,ezi:P→C 和dzi:C→P 分别为加密解密函数,满足dzi(ezi(x))=x。 * 加法流密码体制 同步流密码的加密变换ezi可以有多种选择,只要保证变换是可逆的即可。实际使用的数字保密通信系统一般都是二元系统,因而在有限域GF(2)上讨论的二元加法流密码是最受欢迎的流密码体制,其加密变换可表示为yi=zi+xi * 设计流密码的准则 加密序列的周期要长 密钥流应该尽可能地接近于一个真正的随机数流的特征. 为防止强力攻击,密钥应该足够长。不小于128位。 * RC4简介 RC4是一个密钥大小可变的序列密码,于1987年由Ron Rivest 开发。 是目前应用和影响力都最为广泛的一种流密码算法 应用于SSL/TLS协议,WEP(IEEE802.11) 是一个面向字节的流密码 RC4的密码序列独立于明文. RSA 声称RC4对线性和差分分析具有免疫力 密钥长度从1字节到256字节,或8比特到2048比特可变 所需要代码少。 由于RC4是流密码,必须避免重复使用密钥 1994年匿名公开于Internet上. RC4算法原理 摸球模型: 256个外形完全一致分别标有0,1,…,255的球放在一个口袋中,将所有球充分混合后,每次随机取一球 RC4算法是摸球模型的具体实现 初始化:把编号后的球充分混合; t=(S[i]+S[j])mod256:希望取出的第t个球是随机取出的; SwapS[i] and S[j]:希望每取一次球,就对袋子中的球“搅和一把” * * RC4算法描述-i 第一阶段:S盒的初始化阶段 初始化一个256个字节的状态矢量S, Fill S[1] to S[255] linearly (i.e. S[0] = 0; S[1] = 1 ... S[255] = 255);将K赋给T for i=0 to 255 do S[i]=i; T[i]=K[i mod keylen] j=0 for (i = 0 to i = 255) ???? j = (j + S[i] + T[i]) mod 256 ??? Swap S[i] and S[j] 初始化阶段结束后,S[0],S[1],…,S[255]中的值变成了整数0到255之间的随机值 * RC4算法描述-ii 第二阶段:密钥流的生成 i,j=0 while(true) i = (i + 1) mod 256 j = (

文档评论(0)

docindoc + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档