第二讲之第3章-对称密码体系课件.ppt
- 【下载声明】
1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
3. 本页资料《第二讲之第3章-对称密码体系课件.ppt》由用户(三亚风情)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 第二 对称 密码 体系 课件
- 资源描述:
-
1、第第2章章 密码技术基础密码技术基础第第3章章 对称密码体系对称密码体系第第4章章 公钥密码体系公钥密码体系第第5章章 公钥基础设施公钥基础设施PKI第六章第六章 信息隐藏技术信息隐藏技术u3.13.1 概述概述u3.2 3.2 序列密码(流密码)序列密码(流密码)u3.3 3.3 分组密码分组密码u3.4 DES3.4 DES数据加密标准数据加密标准 u3.5 IDEA3.5 IDEA算法算法u3.6 RC53.6 RC5算法算法对称加密算法是应用较早的加密算法,技对称加密算法是应用较早的加密算法,技术成熟。术成熟。在对称加密算法中,使用的密钥只有一个在对称加密算法中,使用的密钥只有一个,发
2、收信双方都使用这个密钥对数据进行加,发收信双方都使用这个密钥对数据进行加密和解密。密和解密。也称为也称为“传统加密算法传统加密算法”、“单密钥加密单密钥加密算法算法”、“秘密密钥算法秘密密钥算法”。注意:一个密钥u优点:优点:算法简单,效率高,系统开销小,适合加密算法简单,效率高,系统开销小,适合加密大量数据。大量数据。u缺点:缺点:(1)通信双方都使用同样钥匙,安全性得不到通信双方都使用同样钥匙,安全性得不到保证,存在密钥安全交换问题。保证,存在密钥安全交换问题。(2)每对用户每次使用对称加密算法时,都需每对用户每次使用对称加密算法时,都需要使用其他人不知道的惟一钥匙,这会使得要使用其他人不
3、知道的惟一钥匙,这会使得发收信双方所拥有的钥匙数量成几何级数增发收信双方所拥有的钥匙数量成几何级数增长,密钥管理成为用户的负担。长,密钥管理成为用户的负担。u(1)(1)序列密码(流密码)序列密码(流密码) (stream cipher)一次只对明文中的单个位(有时对字节)运算一次只对明文中的单个位(有时对字节)运算的算法称为序列算法或序列密码。的算法称为序列算法或序列密码。u(2)(2)分组密码分组密码 (block cipher)对明文的一组位进行运算,这些位组称为分组对明文的一组位进行运算,这些位组称为分组,相应的算法称为分组算法或分组密码。,相应的算法称为分组算法或分组密码。u序列密码
4、是由一种专业的密码,序列密码是由一种专业的密码,VernamVernam 密码(也称为一次性密码本(密码(也称为一次性密码本(one-one-time padtime pad),发展而来的。),发展而来的。u具有实现简单、便于硬件实施、加解密具有实现简单、便于硬件实施、加解密处理速度快、没有或只有有限的错误传处理速度快、没有或只有有限的错误传播等特点。播等特点。u通过有限状态机产生性能优良的伪随机序列通过有限状态机产生性能优良的伪随机序列,使用该序列加密信息流,(逐比特加密),使用该序列加密信息流,(逐比特加密)得到密文序列。得到密文序列。u加密:加密:u解密:解密:iiiKMCiiiKCM构
5、造密钥流生成器是流密码最核心的内容。构造密钥流生成器是流密码最核心的内容。密钥流生成器的目的是由一个短的随机密钥密钥流生成器的目的是由一个短的随机密钥( (也称实际密钥或种子密钥也称实际密钥或种子密钥) ) k k 生成一个长的生成一个长的密钥流,用这个长的密钥流对明文加密或对密钥流,用这个长的密钥流对明文加密或对密文解密,从而使一个短的密钥可用来加密密文解密,从而使一个短的密钥可用来加密更长的明文或解密更长的密文的目的。更长的明文或解密更长的密文的目的。 由于大部分密码是基于世界上公开由于大部分密码是基于世界上公开的数学难题,所以造成大多数密钥的数学难题,所以造成大多数密钥流生成器的不安全性
6、。流生成器的不安全性。目前应用最广泛的流密码是目前应用最广泛的流密码是同步流同步流密码密码。一个同步流密码是否具有很高的密一个同步流密码是否具有很高的密码码强度强度主要取决于密钥流生成器的主要取决于密钥流生成器的设计。设计。 uRC4算法算法RC4加密算法是大名鼎鼎的加密算法是大名鼎鼎的RSA三人组中的三人组中的头号人物头号人物Ron Rivest在在1987年设计的密钥长年设计的密钥长度可变的流加密算法簇。之所以称其为簇,度可变的流加密算法簇。之所以称其为簇,是由于其核心部分的是由于其核心部分的S-box长度可为任意,但长度可为任意,但一般为一般为256字节。该算法的速度可以达到字节。该算法
7、的速度可以达到DES加密的加密的10倍左右。倍左右。uA5算法算法欧洲欧洲GSM标准中规定的加密算法,用于数字标准中规定的加密算法,用于数字蜂窝移动电话的加密,加密从用户设备到基蜂窝移动电话的加密,加密从用户设备到基站之间的链路。站之间的链路。A5算法包括很多种,主要为算法包括很多种,主要为A5/1和和A5/2。其中,。其中,A5/1为强加密算法,适为强加密算法,适用于欧洲地区;用于欧洲地区;A5/2为弱加密算法,适用于为弱加密算法,适用于欧洲以外的地区。欧洲以外的地区。uSeal算法算法IBM提出的、适合于软件实现的提出的、适合于软件实现的160位流密码位流密码算法,世界公认的高安全加密算法
8、。算法,世界公认的高安全加密算法。加解密速度快,比加解密速度快,比 128bit AES 快快 8 倍左右倍左右。uPKZIP广泛应用于数据压缩的算法,是一种按字广泛应用于数据压缩的算法,是一种按字节加密的流密码。节加密的流密码。u自同步流密码的研究自同步流密码的研究;u有记忆前馈网络密码系统的研究有记忆前馈网络密码系统的研究;u多输出密码函数的研究多输出密码函数的研究;u高速密码芯片的开发高速密码芯片的开发;u同步序列密码在失步后如何重新同步的同步序列密码在失步后如何重新同步的问题问题;3.3.1 分组密码工作方式分组密码工作方式3.3.2 分组密码的设计原则分组密码的设计原则 3.3.3
9、典型分组密码算法典型分组密码算法u分组密码的工作方式:分组密码的工作方式: 将明文分成固定长度的组(块),如将明文分成固定长度的组(块),如64比特一比特一组组 ,用同一密钥和算法对每一块加密,输出也,用同一密钥和算法对每一块加密,输出也是固定长度的密文。是固定长度的密文。 其中,明文为分组长度为m比特的序列,密文为分组长度为n的序列,加密与解密过程由x比特密钥控制。u分组密码主要有两个优点:分组密码主要有两个优点:易于标准化易于标准化易于实现同步易于实现同步u一些局限性。一些局限性。比如:分组密码不便于隐藏明文的数据模式,对于重放比如:分组密码不便于隐藏明文的数据模式,对于重放、插入、删除等
10、攻击方式的抵御能力不强。但是通过采、插入、删除等攻击方式的抵御能力不强。但是通过采用流密码的设计思想,在加密过程中采用合理的记忆组用流密码的设计思想,在加密过程中采用合理的记忆组件,能够消除这些局限性。件,能够消除这些局限性。u如果在构造分组密码系统的时候直接采用分组密如果在构造分组密码系统的时候直接采用分组密码算法,则称这种工作模式为电码本(码算法,则称这种工作模式为电码本(ECBECB)模式。)模式。分组密码的上述缺陷导致了这种工作模式也具有相分组密码的上述缺陷导致了这种工作模式也具有相应的缺陷。因此,实际采用的分组密码工作模式是应的缺陷。因此,实际采用的分组密码工作模式是对电码本(对电码
11、本(ECBECB)模式的改进。)模式的改进。u为保证密码的安全性,为保证密码的安全性,Shannon提出了混乱原提出了混乱原则和扩散原则则和扩散原则 : 混乱原则混乱原则指的是:为了避免密码分析者利用明指的是:为了避免密码分析者利用明文和密文之间的依赖关系进行破译,密码的设计文和密文之间的依赖关系进行破译,密码的设计因该保证这种依赖关系足够复杂。因该保证这种依赖关系足够复杂。 扩散原则扩散原则指的是:为避免密码分析者对密钥逐指的是:为避免密码分析者对密钥逐段破译,密码的设计因该保证密钥的每位数字能段破译,密码的设计因该保证密钥的每位数字能够影响密文中的多位数字够影响密文中的多位数字 u在设计分
12、组密码时,必须结合预定的实现方法在设计分组密码时,必须结合预定的实现方法进行考虑进行考虑 DESIDEARC5SAFERBlowfish Skipjack DESDES算法描述算法描述 DESDES安全分析安全分析 三重三重DESDESuDES算法加密时把明文以算法加密时把明文以64bit为单位分为单位分成块,而后用密钥把每一块明文转化成成块,而后用密钥把每一块明文转化成同样同样64bit的密文块。的密文块。uDES可提供可提供72,000,000,000,000,000个密钥,用每微秒可进行一次个密钥,用每微秒可进行一次DES加加密的机器来破译密码需两千年。密的机器来破译密码需两千年。 u历
13、史:历史:IBM在在60年代启动了年代启动了LUCIFER项目,当时的项目,当时的算法采用算法采用128位密钥位密钥改进算法,降低为改进算法,降低为56位密钥,位密钥,IBM提交给提交给NBS(NIST),于是产生于是产生DES 1977年由美国的标准化局年由美国的标准化局(NBS,现为现为NIST采纳采纳)选为数据加密标准。选为数据加密标准。该标准每该标准每5年重新审查和评估一次,至今继续年重新审查和评估一次,至今继续u64位分组、位分组、56位密钥位密钥lDES算法大致可以分成四个部分:算法大致可以分成四个部分:(1)初始置换)初始置换(2)迭代过程)迭代过程(3)逆初始置换)逆初始置换(
14、4)子密钥生成)子密钥生成u16轮迭代:轮迭代:Round1 Round16u每轮采用不同的密钥:每轮采用不同的密钥:K1 K16u每轮的密钥都是从上一轮密钥产生而来每轮的密钥都是从上一轮密钥产生而来DES每一轮:每一轮:Li = Ri-1 Ri = Li-1 F(Ri-1,Ki)Expansion: 32 48S-box: 6 4 Permutation32bits32 | 01 02 03 04 | 0504 | 05 06 07 08 | 0908 | 09 10 11 12 | 1312 | 13 14 15 16 | 1716 | 17 18 19 20 | 2120 | 21 22
15、 23 24 | 2524 | 25 26 27 28 | 2928 | 29 30 31 32 | 01比特位序号第30个位值把Si的输入b1,b2,b3,b4,b5,b6分成中b1b6和b2,b3,b4,b5,计算出x=b1*2+b6, y=b5+b4*2+b3*4+b2*8。然后从Si表中查出x 行,y 列的值Sxy。将Sxy化为二进制,即得Si盒的输出。IP置换表58504234261810260524436282012462544638302214664564840322416857494133251791595143352719113615345372921135635547393
16、123157(1) 58表示:结果中位于第表示:结果中位于第1个位置的值,个位置的值,等于等于原文中第原文中第58个位置的值个位置的值(2) 图中的一格代表图中的一格代表1bit,共有共有64bit,即,即8字节字节待加密的64比特明文串m,经过IP置换后,得到的比特串的下标列表如下:34u6464位初始密钥位初始密钥k k8 8位位是奇偶校验位是奇偶校验位5656位位密钥。密钥。u5656位密钥位密钥的密钥生的密钥生成成16个个48比特的子比特的子密钥。其生成过程密钥。其生成过程如右图。如右图。64bits密钥密钥变换为变换为56bits密钥密钥经置换后的56bits密钥分为各28bits的
17、C0和D0。u初始密钥初始密钥k k经过经过PC-1PC-1置换后分为置换后分为C0C0和和D0D0,其它的,其它的C Ci i和和D Di i循环左移得到:循环左移得到: 式中式中i=1,2,16,LSLS是循环左移位变换,其中是循环左移位变换,其中LSLS1 1、LSLS2 2、LSLS9 9、LSLS1616是循环左移是循环左移一位一位,其余的,其余的LSLSi i是是循环左移循环左移两位两位。u第第i次密钥次密钥-2(,)iiiKPCC D首先将首先将Ci和和Di组合成组合成56位,然后按位,然后按下面表进行置换。下面表进行置换。u解密是加密的逆变换解密是加密的逆变换u解密算法和加密算
18、法相同,但是它使解密算法和加密算法相同,但是它使用的子密钥顺序是相反的:用的子密钥顺序是相反的:第一次是用第一次是用K16,第第2 2次迭代用次迭代用K K1515,最后一次用最后一次用K K1 1 。取取16进制明文进制明文X:0123456789ABCDEF密钥密钥K为:为:133457799BBCDFF1去掉奇偶校验位以二进制形式表示的密钥是:去掉奇偶校验位以二进制形式表示的密钥是:00010010011010010101101111001001101101111011011111111000应用应用IP,我们得到:,我们得到:L0=110011000000000011001100111
19、11111L1=R0=11110000101010101111000010101010然后进行然后进行16轮加密。轮加密。最后对最后对L16, R16使用使用IP-1得到密文:得到密文:85E813540F0AB405u第一种:电子密码本方式(第一种:电子密码本方式(ECB)u这种模式是最早采用和最简单的模式,它将加密这种模式是最早采用和最简单的模式,它将加密的数据分成若干组,每组的大小跟加密密钥长度的数据分成若干组,每组的大小跟加密密钥长度相同,然后每组都用相同的密钥进行加密。相同,然后每组都用相同的密钥进行加密。 uDES算法中,采用该模式加密时,就是将要加密算法中,采用该模式加密时,就是
20、将要加密的数据分成每组的数据分成每组64位的数据,如果最后一组不够位的数据,如果最后一组不够64位,那么就补齐为位,那么就补齐为64位位,然后每组数据都采用然后每组数据都采用DES算法的算法的64位密钥进行加密。位密钥进行加密。 u 在在CBC方式下,每个明文组方式下,每个明文组xi在加密前与在加密前与先一组密文按位模二加后,再送到先一组密文按位模二加后,再送到DES加密加密,CBC方式克服了方式克服了ECB方式报内组重的缺点方式报内组重的缺点,但由于明文组加密与前一组密文有关,因,但由于明文组加密与前一组密文有关,因此前一组密文的错误会传播到下一组。此前一组密文的错误会传播到下一组。1)首先
21、将数据按照)首先将数据按照8个字节一组进行分组得到个字节一组进行分组得到D1D2Dn(若数据不是(若数据不是8的整数倍,用指定的整数倍,用指定的的PADDING数据补位)数据补位)2)第一组数据)第一组数据D1与初始化向量与初始化向量I异或后的结果异或后的结果进行进行DES加密得到第一组密文加密得到第一组密文C1(初始化向量(初始化向量I为全零)为全零)3)第二组数据)第二组数据D2与第一组的加密结果与第一组的加密结果C1异或异或以后的结果进行以后的结果进行DES加密,得到第二组密文加密,得到第二组密文C24)之后的数据以此类推,得到)之后的数据以此类推,得到Cnu5)按顺序连为)按顺序连为C
22、1C2C3Cn即为加密结果即为加密结果。u1)首先将数据按照)首先将数据按照8个字节一组进行分组个字节一组进行分组得到得到C1C2C3Cnu2)将第一组数据进行解密后与初始化向)将第一组数据进行解密后与初始化向量量I进行异或得到第一组明文进行异或得到第一组明文D1(注意:(注意:一定是先解密再异或)一定是先解密再异或)u3)将第二组数据)将第二组数据C2进行解密后与第一组进行解密后与第一组密文数据进行异或得到第二组数据密文数据进行异或得到第二组数据D2u4)之后依此类推,得到)之后依此类推,得到Dnu5)按顺序连为)按顺序连为D1D2D3Dn即为解密即为解密结果。结果。u u将少量递增的纯文本
23、加密成密码文本,而不是一将少量递增的纯文本加密成密码文本,而不是一次处理整个块。次处理整个块。u该模式使用在长度上为一个块且被分为几部分的该模式使用在长度上为一个块且被分为几部分的移位寄存器。例如,如果块大小为移位寄存器。例如,如果块大小为 8 个字节,并个字节,并且每次处理一个字节,则移位寄存器被分为且每次处理一个字节,则移位寄存器被分为 8 个个部分。部分。u如果密码文本中有一个位出错,则一个纯文本位如果密码文本中有一个位出错,则一个纯文本位出错,并且移位寄存器损坏。这将导致接下来若干出错,并且移位寄存器损坏。这将导致接下来若干次递增的纯文本出错,直到出错位从移位寄存器中次递增的纯文本出错
24、,直到出错位从移位寄存器中移出为止。移出为止。u u将少量递增的纯文本处理成密码文本,而不是一将少量递增的纯文本处理成密码文本,而不是一次处理整个块。此模式与次处理整个块。此模式与 CFB 相似。相似。u与与CFB唯一不同的是唯一不同的是OFB是直接取是直接取DES输出的输出的t个比特,而不是取密文的个比特,而不是取密文的t个比特,其余都与个比特,其余都与CFB相同。但它取的是相同。但它取的是DES的输出,所以它克服了的输出,所以它克服了CFB的密文错误传播的缺点。的密文错误传播的缺点。lDESDES的安全性取决于密钥的保密的安全性取决于密钥的保密 ,与算法,与算法无关。无关。主要表现在:主要
展开阅读全文