现代密码学概论教学全套课件3 数据加密标准.pptxVIP

现代密码学概论教学全套课件3 数据加密标准.pptx

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
现代密码学概论;第3讲数据加密标准; ·; 大多数分组密码都是乘积密码,通常伴随一系列置换与代换操作,常见的乘积密码是迭代密码。 典型的迭代密码:明确定义一个轮函数和一个密钥编排方案,一个明文的加密将通过Nr轮类似过程。 K——确定长度的随机二元密钥 用K生成Nr个轮密钥(也叫子密钥)K1,K2,…,KNr,其列表(K1,K2,…,KNr)即为密钥编排方案,它是由K经过一个固定的、公开的算法生成。 轮函数g以轮密钥Kr和当前状态wr-1作为它的两个输入,下一个状态定义为 wr,初态w0被定义成明文x,密文y???义为经过Nr轮后的状态,即: ;加密: w0 ← x 初态 w1 ← g(w0,K1) 第1轮 … … … … wNr-1 ← g(wNr-2,KNr-1) 第Nr-1轮 wNr ← g(wNr-1,KNr) 第Nr轮 y ← wNr 为解密,g在第二个变量固定的条件下必须是单射,即等价于存在g-1,g-1(g(w,k), k)=w 解密: wNr ← y wNr-1 ← g-1 (wNr,KNr) … … … w1 ← g(w2,K2) w0 ← g(w1,K1) x ← w0 ;线性密码分析;明文密文分组长为n,密钥分组长为m,分别记为:P[1],…,P[n];C[1],…,C[n];K[1],…,K[m] 定义A[i,j,…,k]=A[i]⊕A[j]⊕…⊕ A[k] 线性密码分析的目标:找出如下形式的有效线性方程: P[i1,i2,…,ia] ⊕C[j1,j2,…,jb]=K[k1,k2,…,kc] 如果方程成立概率p≠1/2,则称为有效的线性逼近 如果|p-1/2|是最大的,则称为最有效的线性逼近 N—明文数,T是使得方程左边为0的明文数 TN/2:K[k1,k2,…,kc]= 0 (p1/2) or 1 (p1/2) TN/2:K[k1,k2,…,kc]= 0 (p1/2) or 1 (p1/2) 从而可得关于密钥比特的一个线性方程,对不同的明密文重复以上过程,可得关于密钥的一组线性方程,从而确定出密钥比特。;差分密码分析;差分密码分析最早由Murphy发表于1990年。是一种强有力的密码分析方法,但它对DES并不十分凑效。根据设计DES的IBM小组成员所述,在1974年就知道了差分分析,设计S盒和置换P时充分考虑了抗差分攻击。 针对于DES的线性密码分析由Matsui发表于1993年,需要243 个明文就可以找出DES的密钥,而差分分析需247 个选择明文。迄今为止,几乎没有其他研究组做工作来验证线性分析方法。;数据加密标准(DES);;;;Feistel型??码 Li=Ri-1 Ri=Li-1⊕f(Ri-1,Ki) 可逆: Li-1=Ri⊕f(Li,Ki) =(Li-1⊕f(Ri-1,Ki))⊕f(Li,Ki) Ri-1=Li ;DES描述图;初始置换IP 在迭代运算之前,需要将输入的64位明文进行初始置换IP 。进行初始置换后,明文的次序被打乱, 如原来放在第58位的数据置换后放在第1位。 ;轮函数f(A,J)的描述 A为32比特串,J为48比特串,输出f(A,J)为32比特串 A根据一个固定扩展函数E扩展成一个长为48比特串E(A) 计算E(A)⊕J,并将所得结果分成8个长为6的比特串,记为B=B1B2…B8 使用8个S盒S1,…,S8. 每个Si为6进4出,用4×16矩阵描述。对Bj=b1…b6,计算Sj(Bj): b1b6对应Sj 的行, b2b3b4b5对应Sj的列,对应二进制表示Cj=Sj(Bj), 将长为32比特的C=C1C2…C8通过固定置换P: P(C)=f(A,J);轮函数加密流程图;扩展置换

您可能关注的文档

文档评论(0)

带头大哥 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档