第二讲之第3章-对称密码体系课件.ppt
《第二讲之第3章-对称密码体系课件.ppt》由会员分享,可在线阅读,更多相关《第二讲之第3章-对称密码体系课件.ppt(95页珍藏版)》请在三一办公上搜索。
1、第二讲 信息安全技术,第2章 密码技术基础第3章 对称密码体系第4章 公钥密码体系第5章 公钥基础设施PKI第六章 信息隐藏技术,第三章 对称密码体系,3.1 概述3.2 序列密码(流密码)3.3 分组密码3.4 DES数据加密标准 3.5 IDEA算法3.6 RC5算法,3.1 概述,对称加密算法是应用较早的加密算法,技术成熟。在对称加密算法中,使用的密钥只有一个,发收信双方都使用这个密钥对数据进行加密和解密。也称为“传统加密算法”、“单密钥加密算法”、“秘密密钥算法”。,对称密钥保密体制模型,注意:一个密钥,对存储信息的保护模型,对传输信息的保护模型,优/缺点,优点:算法简单,效率高,系统
2、开销小,适合加密大量数据。缺点:(1)通信双方都使用同样钥匙,安全性得不到保证,存在密钥安全交换问题。(2)每对用户每次使用对称加密算法时,都需要使用其他人不知道的惟一钥匙,这会使得发收信双方所拥有的钥匙数量成几何级数增长,密钥管理成为用户的负担。,对称加密算法分类,(1)序列密码(流密码)(stream cipher)一次只对明文中的单个位(有时对字节)运算的算法称为序列算法或序列密码。(2)分组密码(block cipher)对明文的一组位进行运算,这些位组称为分组,相应的算法称为分组算法或分组密码。,3.2 序列密码(流密码)(Stream Cipher),序列密码是由一种专业的密码,V
3、ernam 密码(也称为一次性密码本(one-time pad),发展而来的。具有实现简单、便于硬件实施、加解密处理速度快、没有或只有有限的错误传播等特点。,序列密码主要原理,通过有限状态机产生性能优良的伪随机序列,使用该序列加密信息流,(逐比特加密)得到密文序列。,加密与解密,加密:解密:,密钥流生成器,构造密钥流生成器是流密码最核心的内容。密钥流生成器的目的是由一个短的随机密钥(也称实际密钥或种子密钥)k 生成一个长的密钥流,用这个长的密钥流对明文加密或对密文解密,从而使一个短的密钥可用来加密更长的明文或解密更长的密文的目的。,由于大部分密码是基于世界上公开的数学难题,所以造成大多数密钥流
4、生成器的不安全性。目前应用最广泛的流密码是同步流密码。一个同步流密码是否具有很高的密码强度主要取决于密钥流生成器的设计。,序列密码典型算法,RC4算法RC4加密算法是大名鼎鼎的RSA三人组中的头号人物Ron Rivest在1987年设计的密钥长度可变的流加密算法簇。之所以称其为簇,是由于其核心部分的S-box长度可为任意,但一般为256字节。该算法的速度可以达到DES加密的10倍左右。A5算法欧洲GSM标准中规定的加密算法,用于数字蜂窝移动电话的加密,加密从用户设备到基站之间的链路。A5算法包括很多种,主要为A5/1和A5/2。其中,A5/1为强加密算法,适用于欧洲地区;A5/2为弱加密算法,
5、适用于欧洲以外的地区。,Seal算法IBM提出的、适合于软件实现的160位流密码算法,世界公认的高安全加密算法。加解密速度快,比 128bit AES 快 8 倍左右。PKZIP广泛应用于数据压缩的算法,是一种按字节加密的流密码。,流密码的重点研究方向,自同步流密码的研究;有记忆前馈网络密码系统的研究;多输出密码函数的研究;高速密码芯片的开发;同步序列密码在失步后如何重新同步的问题;,3.3 分组密码,3.3.1 分组密码工作方式3.3.2 分组密码的设计原则 3.3.3 典型分组密码算法,3.3.1 分组密码工作方式,分组密码的工作方式:将明文分成固定长度的组(块),如64比特一组,用同一密
6、钥和算法对每一块加密,输出也是固定长度的密文。,其中,明文为分组长度为m比特的序列,密文为分组长度为n的序列,加密与解密过程由x比特密钥控制。,分组密码的优缺点,分组密码主要有两个优点:易于标准化易于实现同步一些局限性。比如:分组密码不便于隐藏明文的数据模式,对于重放、插入、删除等攻击方式的抵御能力不强。但是通过采用流密码的设计思想,在加密过程中采用合理的记忆组件,能够消除这些局限性。如果在构造分组密码系统的时候直接采用分组密码算法,则称这种工作模式为电码本(ECB)模式。分组密码的上述缺陷导致了这种工作模式也具有相应的缺陷。因此,实际采用的分组密码工作模式是对电码本(ECB)模式的改进。,3
7、.3.2 分组密码的设计原则,为保证密码的安全性,Shannon提出了混乱原则和扩散原则:混乱原则指的是:为了避免密码分析者利用明文和密文之间的依赖关系进行破译,密码的设计因该保证这种依赖关系足够复杂。扩散原则指的是:为避免密码分析者对密钥逐段破译,密码的设计因该保证密钥的每位数字能够影响密文中的多位数字 在设计分组密码时,必须结合预定的实现方法进行考虑,3.3.3 典型分组密码算法,DESIDEARC5SAFERBlowfish Skipjack,3.4 DES数据加密标准,DES算法描述 DES安全分析 三重DES,3.4.1 DES算法描述,DES算法加密时把明文以64bit为单位分成块
8、,而后用密钥把每一块明文转化成同样64bit的密文块。DES可提供72,000,000,000,000,000个密钥,用每微秒可进行一次DES加密的机器来破译密码需两千年。,1、DES历史,历史:IBM在60年代启动了LUCIFER项目,当时的算法采用128位密钥改进算法,降低为56位密钥,IBM提交给NBS(NIST),于是产生DES 1977年由美国的标准化局(NBS,现为NIST采纳)选为数据加密标准。该标准每5年重新审查和评估一次,至今继续64位分组、56位密钥,2、DES算法步骤,DES算法大致可以分成四个部分:(1)初始置换(2)迭代过程(3)逆初始置换(4)子密钥生成,DES算法
9、基本逻辑结构,结构说明,16轮迭代:Round1 Round16每轮采用不同的密钥:K1 K16每轮的密钥都是从上一轮密钥产生而来,迭代过程,DES每一轮:Li=Ri-1 Ri=Li-1F(Ri-1,Ki),DES:Function F,Expansion:32 48S-box:6 4 Permutation,32bits,DES:32位到48位的扩展表E-table,32|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 23 24|2524|25 26 27
10、28|2928|29 30 31 32|01,比特位序号,第30个位值,DES:S-box,把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盒的输出。,Si表,DES:Permutation,(1)58表示:结果中位于第1个位置的值,等于原文中第58个位置的值(2)图中的一格代表1bit,共有64bit,即8字节,DES:Initial Permutation,待加密的64比特明文串m,经过IP置换后,得到的比特串的下标
11、列表如下:,34,DES:Inverse Initial Permutation,3、密钥生成,64位初始密钥k8位是奇偶校验位56位密钥。56位密钥的密钥生成16个48比特的子密钥。其生成过程如右图。,PC-1置换,64bits密钥变换为56bits密钥,经置换后的56bits密钥分为各28bits的C0和D0。,循环左移运算,初始密钥k经过PC-1置换后分为C0和D0,其它的Ci和Di循环左移得到:式中i=1,2,16,LS是循环左移位变换,其中LS1、LS2、LS9、LS16是循环左移一位,其余的LSi是循环左移两位。第i次密钥,PC-2置换,首先将Ci和Di组合成56位,然后按下面表进
12、行置换。,4、解密算法,解密是加密的逆变换解密算法和加密算法相同,但是它使用的子密钥顺序是相反的:第一次是用K16,第2次迭代用K15,最后一次用K1。,5、DES加密的一个例子,取16进制明文X:0123456789ABCDEF密钥K为:133457799BBCDFF1去掉奇偶校验位以二进制形式表示的密钥是:00010010011010010101101111001001101101111011011111111000应用IP,我们得到:L0=11001100000000001100110011111111L1=R0=11110000101010101111000010101010然后进行1
13、6轮加密。最后对L16,R16使用IP-1得到密文:85E813540F0AB405,6、DES的四种工作方式,第一种:电子密码本方式(ECB)这种模式是最早采用和最简单的模式,它将加密的数据分成若干组,每组的大小跟加密密钥长度相同,然后每组都用相同的密钥进行加密。DES算法中,采用该模式加密时,就是将要加密的数据分成每组64位的数据,如果最后一组不够64位,那么就补齐为64位,然后每组数据都采用DES算法的64位密钥进行加密。,ECB加密模型,第二种:密文分组链接方式(CBC),在CBC方式下,每个明文组xi在加密前与先一组密文按位模二加后,再送到DES加密,CBC方式克服了ECB方式报内组
14、重的缺点,但由于明文组加密与前一组密文有关,因此前一组密文的错误会传播到下一组。,CBC加密模型,CBC加密步骤,1)首先将数据按照8个字节一组进行分组得到D1D2Dn(若数据不是8的整数倍,用指定的PADDING数据补位)2)第一组数据D1与初始化向量I异或后的结果进行DES加密得到第一组密文C1(初始化向量I为全零)3)第二组数据D2与第一组的加密结果C1异或以后的结果进行DES加密,得到第二组密文C24)之后的数据以此类推,得到Cn5)按顺序连为C1C2C3Cn即为加密结果。,CBC解密过程,1)首先将数据按照8个字节一组进行分组得到C1C2C3Cn2)将第一组数据进行解密后与初始化向量
15、I进行异或得到第一组明文D1(注意:一定是先解密再异或)3)将第二组数据C2进行解密后与第一组密文数据进行异或得到第二组数据D24)之后依此类推,得到Dn5)按顺序连为D1D2D3Dn即为解密结果。,第三种:密文反馈方式(CFB),将少量递增的纯文本加密成密码文本,而不是一次处理整个块。该模式使用在长度上为一个块且被分为几部分的移位寄存器。例如,如果块大小为 8 个字节,并且每次处理一个字节,则移位寄存器被分为 8 个部分。如果密码文本中有一个位出错,则一个纯文本位出错,并且移位寄存器损坏。这将导致接下来若干次递增的纯文本出错,直到出错位从移位寄存器中移出为止。,CFB加密模型,CFB解密模型
16、,第四种:输出反馈方式(OFB),将少量递增的纯文本处理成密码文本,而不是一次处理整个块。此模式与 CFB 相似。与CFB唯一不同的是OFB是直接取DES输出的t个比特,而不是取密文的t个比特,其余都与CFB相同。但它取的是DES的输出,所以它克服了CFB的密文错误传播的缺点。,3.4.2 DES安全分析,DES的安全性取决于密钥的保密,与算法无关。主要表现在:密钥的互补性、弱密钥与半弱密钥、密文明文相关性、密文密钥相关性、S盒的设计、密钥搜索等。对DES的攻击方法:(1)穷举攻击(2)差分密码分析(3)线性密码分析,不同条件下DES攻击时间的预测,3.4.3 三重DES,DES的唯一密码学缺
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 第二 对称 密码 体系 课件
链接地址:https://www.31ppt.com/p-3731178.html