分组密码理论课件_第1页
分组密码理论课件_第2页
分组密码理论课件_第3页
分组密码理论课件_第4页
分组密码理论课件_第5页
已阅读5页,还剩40页未读 继续免费阅读

下载本文档

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

文档简介

1、第3章 分组密码理论3.1 分组密码概述3.2 DES3.3 分组密码的设计原理3.4 分组密码的工作模式3.1 分组密码概述分组密码,就是一个明文分组被当作一个整体来产生一个等长(通常)的密文分组的密码,通常使用的是128位分组大小。分组密码的实质是,设计一种算法,能在密钥控制下,把n比特明文简单而又迅速地置换成唯一n比特密文,并且这种变换是可逆的(解密)。3.1 分组密码概述(Cont.)分组密码的设计思想(C.E. Shannon):扩散(diffusion)将明文及密钥的影响尽可能迅速地散布到较多个输出的密文中(将明文冗余度分散到密文中)。产生扩散的最简单方法是通过“置换(Permut

2、ation)”(比如:重新排列字符)。分组密码的设计思想(Cont.)混淆(confusion)其目的在于使作用于明文的密钥和密文之间的关系复杂化,是明文和密文之间、密文和密钥之间的统计相关特性极小化,从而使统计分析攻击不能奏效。通常的方法是“代换(Substitution)”(回忆恺撒密码)。3.2数据加密标准(DES)DES的历史1971 IBM,由Horst Feistel 领导的密码研究项目组研究出LUCIFER算法。并应用于商业领域。1973美国标准局征求标准,IBM提交结果,在1977年,被选为数据加密标准。3.2数据加密标准(Cont.)4.2.1 简化的DES Simplifi

3、ed DES方案,简称S-DES方案。它是一个供教学而非安全的加密算法,它与DES的特性和结构类似,但参数小。注:1.* 加密算法涉及五个函数:(1)初始置换IP(initial permutation)(2)复合函数fk1,它是由密钥K确定的,具有置换和代换的运算。 (3)置换函数SW(4)复合函数fk2(5)初始置换IP的逆置换IP-12*. 加密算法的数学表示:IP-1*fk2*SW*fk1*IP也可写为密文=IP-1(fk2(SW(fk1(IP(明文)其中 K1=P8(移位(P10(密钥K)K2=P8(移位(移位(P10(密钥K)解密算法的数学表示:明文=IP-1(fk1(SW(fk2

4、(IP(密文)对S-DES的深入描述(1) S-DES的密钥生成:设10bit的密钥为( k1,k2,k10 )置换P10是这样定义的P10(k1,k2,k10)=(k3,k5,k2,k7,k4,k10,k1,k9,k8,k6) P8= (k1,k2,k10)=(k6,k3,k7,k4,k8,k5,k10,k9 ) LS-1为循环左移1位, LS-2为循环左移2位按照上述条件,若K选为(1010000010), 产生的两个子密钥分别为K1=(1 0 1 0 0 1 0 0),K2=(0 1 0 0 0 0 1 1)S-DES的密钥生成10-bit密钥P10LS-1LS-1LS-2LS-2P8P

5、8K18K255558(2) S-DES的加密运算: 初始置换用IP函数: IP= 1 2 3 4 5 6 7 8 2 6 3 1 4 8 5 7 末端算法的置换为IP的逆置换:IP-1= 1 2 3 4 5 6 7 8 4 1 3 5 7 2 8 6 易见IP-1(IP(X)=X S-DES加密图8-bit 明文IPE/P+S0S1P4+LR4K1844fkF4S-DES加密图(续)E/P+S0S18K2P4+IP-18-bit 密文4844fkF44228SW8-bit子密钥:K1=(k11,k12,k13,k14,k15,k16,k17,k18),然后与E/P的结果作异或运算得:n4+k

6、11 n1+k12 n2+k13n3+k14n2+k15 n3+k16n4+k17n1+k18把它们重记为8位: P0,0 P0,1 P0,2 P0,3 P1,0 P1,1 P1,2 P1,3上述第一行输入进S-盒S0,产生2-位的输出;第二行的4位输入进S盒S1,产生2-位的输出。两个S盒按如下定义:作业试证明S-DES的加密、解密是互逆的,即:D( E(M,K), K)M。Feistel 密码结构Feistel 密码设计原则分组大小 increasing size improves security, but slows cipher 密钥长度 increasing size improv

7、es security, makes exhaustive key searching harder, but may slow cipher 轮次数 increasing number improves security, but slows cipher 子密钥生成 greater complexity can make analysis harder, but slows cipher 轮函数 greater complexity can make analysis harder, but slows cipher 快速软件加密/解密are more recent concerns fo

8、r practical use and testingFeistel 密码解密3.2 DES的描述DES利用56比特串长度的密钥K来加密长度为64位的明文,得到长度为64位的密文该算法分三个阶段实现:1. 给定明文X,通过一个固定的初始置换IP来排列X中的位,得到X0。X0=IP(X)=L0R0其中L0由X0前32位组成,R0由X0的后32位组成。2.计算函数F的16次迭代, 根据下述规则来计算LiRi(1=i=16) Li=Ri-1, Ri=Li-1 F(Ri-1, Ki)其中Ki是长为48位的子密钥。子密钥K1,K2,K16是作为密钥K(56位)的函数而计算出的。 3.对比特串R16L16

9、使用逆置换IP-1得到密文Y。Y=IP-1(R16L16)DES 算法的一般描述对F函数的说明:(类比于S-DES)F(Ri-1, Ki)函数F以长度为32的比特串A=R(32bits)作第一个输入,以长度为48的比特串变元J=K(48bits)作为第二个输入。产生的输出为长度为32的位串。(1)对第一个变元A,由给定的扩展函数E,将其扩展成48位串,E(A)(2)计算E(A)+J,并把结果写成连续的8个6位串, B=b1b2b3b4b5b6b7b8(3)使用8个S盒,每个Sj是一个固定的416矩阵,它的元素取015的整数。给定长度为6个比特串,如Bj=b1b2b3b4b5b6计算Sj(Bj)

10、如下:b1b6两个比特确定了Sj的行数, r(0=r=3); 而b2b3b4b5四个比特确定了Sj的列数c(0=c=15)。最后Sj(Bj)的值为S-盒矩阵Sj中r行c列的元素(r,c), 得Cj=Sj(Bj)。(4) 最后,P为固定置换。 A=R(32 bits)J=K(48 bits)EE(A)为48 bits+B1 B2 B3 B4 B5 B6 B7 B8 S1S2S3S4S5S6S7S8C1 C2 C3 C4 C5 C6 C7 C8P32 bits F(A,J)B写成8个6比特串DES 的F函数(2)对1=i=16,计算Ci=LSi(Ci-1)Di=LSi(Di-1)LSi表示循环左移

11、2或1个位置,取决于i的的值。i=1,2,9和16 时移1个位置,否则移2位置。Ki=PC-2(CiDi), PC-2为固定置。注:一共16轮,每一轮使用K中48位组成一个48比特密钥。可算出16个表,第i个表中的元素可对应上第i轮密钥使用K中第几比特!如:第7轮的表7:K7取K中的比特情况:52 57 11 1 26 59 10 34 44 51 25 199 41 3 2 50 35 36 43 42 33 60 1828 7 14 29 47 46 22 5 15 63 61 394 31 13 38 53 62 55 20 23 37 30 6图表(密钥生成Ki)KPC-1C0 D0L

12、S1LS1C1 D1LS2LS2LS16LS16C16 D16PC-2PC-2K1K16 DES加密的一个例子取16进制明文X:0123456789ABCDEF密钥K为:133457799BBCDFF1去掉奇偶校验位以二进制形式表示的密钥是00010010011010010101101111001001101101111011011111111000应用IP,我们得到:L0=11001100000000001100110011111111L1=R0=11110000101010101111000010101010然后进行16轮加密。最后对L16, R16使用IP-1得到密文:85E813540

13、F0AB4053.2.3 DES的争论DES的核心是S盒,除此之外的计算是属线性的。S盒作为该密码体制的非线性组件对安全性至关重要。S盒的设计准则:1. S盒不是它输入变量的线性函数2.改变S盒的一个输入位至少要引起两位的输出改变3. 对任何一个S盒,如果固定一个输入比特,其它输入变化时,输出数字中0和1的总数近于相等。公众仍然不知道S盒的构造中是否还使用了进一步的设计准则(有陷门?)。密钥长度是否足够?迭代的长度?(8、16、32?)3.3 分组密码的设计原理可变密钥长度混合操作依赖数据的循环移位依赖于密钥的循环移位依赖密钥的S盒子冗长的密钥调度算法可变的F函数和可变的明文/密文长度可变的循

14、环次数在每次循环中都对两半数据进行操作分组密码的工作模式分组密码加密固定长度的数据分组需要使用一些实际的方法来加密任意数量的明文 五种工作模式Electronic Codebook Book (ECB)电码本模式ECB的优势与局限相同的明文对于相同的密文 结构化明文 消息有重复部分 主要用于发送少数量的分组数据 Cipher Block Chaining (CBC)密码分组链接模式Advantages and Limitations of CBCeach ciphertext block depends on all message blocks thus a change in the me

15、ssage affects all ciphertext blocks after the change as well as the original block need Initial Value (IV) known to sender & receiver however if IV is sent in the clear, an attacker can change bits of the first block, and change IV to compensate hence either IV must be a fixed value (as in EFTPOS) o

16、r it must be sent encrypted in ECB mode before rest of message at end of message, handle possible last short block by padding either with known non-data value (eg nulls)or pad last block with count of pad size eg. b1 b2 b3 0 0 0 0 5 - 3 data bytes, then 5 bytes pad+count Cipher FeedBack (CFB)密码反馈模式A

17、dvantages and Limitations of CFBappropriate when data arrives in bits/bytes most common stream mode limitation is need to stall while do block encryption after every n-bits note that the block cipher is used in encryption mode at both ends errors propogate for several blocks after the error Output F

18、eedBack (OFB)输出反馈模式Advantages and Limitations of OFBused when error feedback a problem or where need to encryptions before message is available superficially similar to CFB but feedback is from the output of cipher and is independent of message a variation of a Vernam cipher hence must never reuse the same sequence (key+IV) sender and receiver must remain in sync,

温馨提示

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

评论

0/150

提交评论