《密码学》04-3 数据加密标准(DES)_第1页
《密码学》04-3 数据加密标准(DES)_第2页
《密码学》04-3 数据加密标准(DES)_第3页
《密码学》04-3 数据加密标准(DES)_第4页
《密码学》04-3 数据加密标准(DES)_第5页
已阅读5页,还剩31页未读 继续免费阅读

下载本文档

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

文档简介

密码学第四章分组密码4.2

数据加密标准(DES)4.2

数据加密标准(DES)DES背景DES算法概述圈函数圈密钥生成算法算法的征集:1、1973年5月和1974年8月,NBS两次发布通告,公开征集标准加密算法。2、NBS收到了IBM公司提交的Lucifer算法的改进版。算法的标准化:Lucifer算法的改进版的修改版于1976年11月被NBS推荐为联邦标准,并授权它为在非密级的政府通信中使用的数据加密标准(DES),1977年1月正式公布,1977年7月生效。一、DES背景(3)被高级加密标准AES取代,AES是由比利时密码学家设计的分组密码算法----Rijndael算法。(1)DES算法是美国政府保护非机密的敏感信息使用的数据加密标准。(2)安全性评估:规定每五年审查一次,最近一次是在1994年1月,美国政府已决定1998年12月后不再使用DES算法。DES算法的应用一、DES背景DES算法的意义

DES算法是第一个公开的分组密码算法,是密码学发展的一个重要的阶段,对算法的标准化研究和分组密码的发展有重大意义。一、DES背景●

分组长度:64比特●

密钥长度:64比特●

有效密钥长度:56比特●

迭代圈数:16圈●

圈密钥长度:48比特

DES算法是迭代型分组密码算法。基本参数:

二、DES算法概述m1

m2……m64c1

c2……c64迭代16圈……初始置换逆初始置换Round16K16:::Round1K1DES算法加密流程框图二、DES算法概述DES加密框图L1R1L0R0fK1R16L16L15R15fK16m1

m2……m64c1

c2……c64迭代16圈……初始置换逆初始置换Round16:::Round1二、DES算法概述初始置换特点:

将输入每个字节的第i个比特集中到输出的一个字节中

初始置换IP58504234261810

260524436282012462544638302214664564840322416857494133251791595143352719113615345372921135635547393123157和逆初始置换

明文M

m1m2…m64,则IP(M)

m58m50…m7。

变换规则:按置换指示的顺序从输入取出,即得输出。二、DES算法概述初始置换逆初始置换IP-140848165624643239747155523633138646145422623037545135321612936444125220602835343115119592734242105018582633141949175725和逆初始置换

逆初始置换IP-1与初始置换IP互逆,可直接利用置换求逆的方法由IP求出。

且有:IP-1[IP(M)]=M变换规则:同初始置换。二、DES算法概述DES算法的第

i

(i=1,2,…,15)

圈加密结构图缺点:圈变换的输入有一半没有改变;左右块的处理不能并行实施。优点:圈变换的数学描述如下:

Li=Ri-1Feistel模型LiRiLi-1(32位)Ri-1(32位)fKiRi=Li-1f(Ri-1,Ki)

设计容易:f函数不要求可逆。三、圈函数PR=a1

a2

…a32S1S8S2S7S6S4S3S5f

函数123Ea’1

a’2

…a’48K=k1

k2

…k48三、圈函数12345678910111213141516171819202122232425262728293031323212345456789891011121312131415161716171819202120212223242524252627282928293031321(1)

扩展变换----E盒扩展扩展方式:

分别将第i-1块的最右比特和第i+1块的最左比特添到第i块的左边和右边,形成输出的第i个6比特块.扩展E盒的作用:是将输入的32比特数据扩展为48比特数据扩展三、圈函数S1S8S2S7S6S4S3S548比特32比特(2)

压缩替代变换----S盒代替S盒作用:是将输入的48比特数据压缩为32比特数据。三、圈函数000102030405060708091011121314150123140413010215110803100612050900070015070414021301100612110905030804011408130602111512090703100500151208020409010705110314

10

00061301231501081406110304090702131200051003130407150208141200011006091105001407111004130105081206090302151308100103150402110607120005140901231000091406031505011312071104020813070009030406100208051412111501130604090815030011010212051014070110130006090807041514031105021201230713140300060910010208051112041513081105061500030407021201101409100609001211071315010314050208040315000610011308090405111207021401230212040107101106080503151300140914110212040713010500151003090806040201111013070815091205060300141108

1207011402130615000910040503012312011015090206080013030414070511101504020712090506011314001103080914150502081203070004100113

110604030212090515101114010706000813012304110214150008130312090705100601130011070409011014030512021508060104111312030714101506080005090206111308010410070905001514020312012313020804061511011009031405001207011513081003070412050611001409020711040109121402000610131503050802011407041008131512090003050611输

出列行S8S1S6S7S5S3S4S28个6进4出S盒每个S盒有4行,记为第0,1,2,3行。16列记为第0,1,2,…,15列。实际上每个S盒是一个4行代替表。S6

(1100112)=11102即:

b1b2b3b4b5b6

1100112行:b1b6=112=3

列:b2b3b4b5=10012=9S6盒3行9列值:14=11102b1b2b3b4b5b6b1b6b2b3b4b5查表方法:以S6为例三、圈函数注:①S盒代替是DES算法中唯一的非线性变换,在DES算法中起核心作用;

②S盒的设计标准对于实现DES算法的完全性,对于实现混乱和扩散原则,对于确保DES算法的密码强度,具有十分重要的作用;

③S盒只要稍有改变,其密码强度就会大大改变,因此,不要试图改变一个密码算法中S盒的任何细节。(2)

S盒代替三、圈函数(3)

移位变换----P盒置换P盒置换是对S盒变换后的32比特数据进行比特置换,置换后得到的32比特数据即为f函数的输出。(1)P盒的各输入块的4个比特都分配到不同的输出块之中;P盒的设计特点(2)P盒的各输出块的4个比特都来自不同的输入块。三、圈函数例:

已知DES分组密码算法第一圈的输入为

L0=83D67FEB16

,R0=97A4F8ED16子密钥为K1=38127AD67B4516

,求第一圈的加密结果。

解:第一圈的圈函数L1R1L0R0fK1三、圈函数??83D67FEB1697A4F8ED16f

38127AD67B4516解:第一圈的圈函数例:

已知DES分组密码算法第一圈的输入为

L0=83D67FEB16

,R0=97A4F8ED16子密钥为K1=38127AD67B4516

,求第一圈的加密结果。

三、圈函数PS1S8S2S7S6S4S3E………S51、输入的右半部分R0是:

97A4F8ED16=1001011110100100111110001110110122、经E盒扩展后为110010

101111110100001001

01111111000101110101101123、第一圈的子密钥K1是

38127AD42B4516=001110

000001001001111010

1101010000101011010001012三、圈函数PS1S8S2S7S6S4S3E………S54、与子密钥K1模2加后为

11110010111011110111001110101011001111000001111025、查S盒后的32比特输出为

010100010010010011011110101001112

6、经P盒后得

f函数的32比特输出001100010010011011011100001011112=

3126DC2F16三、圈函数7、将f函数的输出与圈函数的左半输入模2加83D67FEB163126DC2F16=

B2F0A3C416

8、左右两边交换,第一圈64比特输出为

L1=97A4F8ED16

,R1=B2F0A3C416

97A4F8ED16B2F0A3C41683D67FEB1697A4F8ED16f38127AD67B4516三、圈函数置换选择1密钥四、圈密钥生成算法

置换选择15749413325179158504234261810259514335271911360524436

6355473931231576254463830221466153453729211352820124四、圈密钥生成算法置换选择1密钥移位移位四、圈密钥生成算法C寄存器和D寄存器循环左移的位数迭代次数(圈数)左移位数

12345678910111213141516

1122222212222221

四、圈密钥生成算法移位移位置换选择2置换选择1密钥四、圈密钥生成算法

置换选择21417112415328156211023191242681672720132

415231374755304051453348444939563453464250362932

四、圈密钥生成算法移位移位置换选择2置换选择2移位移位置换选择2移位移位置换选择1密钥四、圈密钥生成算法例:已知初始密钥K=0123456789ABCDEF(十六进制),

试求DES算法第一圈的圈子密钥k1。

解:K=0123456789ABCDEF=0000000100100011010001010110011110001001101010111100110111101111置换选择12157

4941

33

25

1791

5850

42

34

26

1810

259

51

43

35

2719

113

60

52

44

3663

5547

39

31

23

157

6254

46

38

30

温馨提示

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

评论

0/150

提交评论