信息安全原理及应用对称密钥密码体制

上传人:ji****72 文档编号:51358583 上传时间:2018-08-13 格式:PPT 页数:60 大小:558KB
返回 下载 相关 举报
信息安全原理及应用对称密钥密码体制_第1页
第1页 / 共60页
信息安全原理及应用对称密钥密码体制_第2页
第2页 / 共60页
信息安全原理及应用对称密钥密码体制_第3页
第3页 / 共60页
信息安全原理及应用对称密钥密码体制_第4页
第4页 / 共60页
信息安全原理及应用对称密钥密码体制_第5页
第5页 / 共60页
点击查看更多>>
资源描述

《信息安全原理及应用对称密钥密码体制》由会员分享,可在线阅读,更多相关《信息安全原理及应用对称密钥密码体制(60页珍藏版)》请在金锄头文库上搜索。

1、第5章 对称密钥密码体制分组密码 1分组密码的原理 密文中的每位数字不仅仅与某时刻输入的明文数字 有关,而是与该明文中一定组长的明文数字有关。 2分组密码的基本模型 密钥 K密钥 K加密解密x 明文密文 yx 明文3分组密码的长度明文为分组长度为m的序列,密文为分组长度为n的序列 : nm,称其为有数据扩展的分组密码; nm,称其为有数据压缩的分组密码; n=m,称其为无数据扩展与压缩的分组密码。我们一般所说的分组密码为无数据扩展与压缩的分组密 码。 4分组密码的特点 主要优点: 易于标准化; 易于实现同步。 主要缺点: 不善于隐藏明文的数据模式、对于重放、插入、 删除等攻击方式的抵御能力不强

2、。 5分组密码的数学表示记明文空间和密文空间为 (明文与密文分组的长度均为m), 密钥空间为 ( 是的 子集,r为密钥长度): 密钥k下的加密函数为 ,m表示待加密的信息,k为密钥 ,则可将该映射记为 ,这个映射应满足: , 是 的一个置 换; 密钥k下的解密函数记为 ,它是 的逆。 6分组密码的设计原则 安全性角度: “混乱原则”:为了避免密码分析者利用明文与密 文之间的依赖关系进行破译,密码的设计应该保 证这种依赖关系足够复杂。 “扩散原则” :为避免密码分析者对密钥逐段破译 ,密码的设计应该保证密钥的每位数字能够影响 密文中的多位数字 ;同时,为了避免避免密码分 析者利用明文的统计特性,

3、密码的设计应该保证 明文的每位数字能够影响密文中的多位数字,从 而隐藏明文的统计特性。 7分组密码的设计原则可实现性角度: 应该具有标准的组件结构 (子模块),以适应超大 规模集成电路的实现。 分组密码的运算能在子模块上通过简单的运算进行 。 8Feistel密码结构 9数据加密标准 DES ( Data Encryption Standard )明文和密文的长度均为64位,密钥长度为56位。10DES的产生背景 美国国家标准局(NBS)1973 年公开征求计算机加密算 法标准,要求如下: 该算法必须提供较高的安全性; 该算法必须完全确定并且易于理解; 该算法的安全性不应依赖于算法本身,而是应

4、该依赖 于密钥; 该算法必须对所有的用户有效; 该算法必须适用于各种应用; 该算法必须能够通过价格合理的电子器件得以实现; 该算法必须能够有效使用; 该算法必须能够得以验证; 该算法必须能够得以出口。 11DES的生命期 NBS最终采纳了 IBM 的 LUCIFER 方案,于 1975 年 公开发表。 1977 年正式颁布为数据加密标准(DES - Data Encryption Standard)。 1979 年,美国银行协会批准使用 DES。 1980 年,DES 成为美国标准化协会 (ANSI) 标准。 1984 年,ISO 开始在 DES 基础上制定数据加密的国 际标准。 美国国家安全

5、局NSA每隔年对该算法进行评估 , 1994年,决定1998年12月之后不再使用DES 。 现已经确定了选用Rijndael算法作为高级加密算法 AES。 12DES算法描述 算法设计中采用的基本变换和操作: 置换(P) 重新排列输入的比特位置。 交换(SW) 将输入的左右两部分的比特进行互换。 循环移位 将输入中的比特进行循环移位,作为输出。 一个复杂变换( fK ) 通常是一个多阶段的乘积变换; 与密钥 Key 相关; 必须是非线性变换; 实现对密码分析的扰乱; 是密码设计安全性的关键。 13DES的加密过程第一步:初始置换IP。 对于给定的明文m,通过初始置换IP获得 ,并 将 分为两部

6、分,前面32位记为 ,后面32位 记为 ,即 。14DES的加密过程第二步:乘积变换( 16轮)。 在每一轮中依据下列方法计算 ( )( 16轮中的计算方法相同): , 其中, 为第i轮使用的子密钥,各 均为 的一 个置换选择,所有 构成密钥方案。函数 中的变量 为16位字符串, 为48位字符串, 函 数 输出的结果为32位字符串。 15DES的加密过程第二步各轮中的加密过程 16DES的加密过程第三步:初始置换 的逆置换 。 应用初始置换 的逆置换 对 进行置换, 得到密文 c ,即 。 在最后一轮计算之后,将 (而非左右部分交 换后的结果 )作为 的输入,以便DES能 够同时被用于加密和解

7、密。 17DES的密钥计算 DES在各轮中所用的密钥均为由初始密钥(即种子密 钥)导出的48位密钥。 初始密钥为64位,其中第8、16、24、32、40、48、 56、64位均为校验位。 如此设置校验位的目的是使每8个字节所含的字符“1” 个数为奇数,以便能够检测出每个字节中的错误。 18DES的密钥计算 密钥计算方法如下(不考虑以上所述的8个校验比特) : 第一步:对于一个给定的初始密钥K,删去其中 的8个校验比特,通过固定的置换 对其余的56 位进行置换,并将置换所得的结果分为两部分, 前面的28位记为 ,后面的28位记为 ,即: 第二步:计算 , , ( ), 表示一个或两个位置的左循环

8、移位 。 19DES的解密过程 采用与加密相同的算法。 以逆序(即 ) 使用密钥。20不同微处理器上的DES软件实现速度 处理器处理器速度( MHz)每秒处理的 DES分组个 数 80884.7370680007.69008028661,10068020163,50068030163,90080286255,000680305010,000680402516,000680404023,000804866643,00021DES的安全性分析 DES的安全性完全依赖于密钥,与算法本身 没有关系。 主要研究内容: 密钥的互补性; 弱密钥与半弱密钥; 密文-明文相关性; 密文-密钥相关性; S-盒的设

9、计; 密钥搜索。 22密钥的互补性 DES算法具有互补性,即:若 、 是 的补、 是 的补,则 。 使用DES算法时不要使用互补的密钥, 否则当密码攻击者选择明文攻击时,他 们仅需试验一半密钥。 23弱密钥 弱密钥:由密钥 k 确定的加密函数与解密函 数相同 ,即 。 DES的弱密钥: 如果各轮产生的子密钥一样 ,则加密函数与解密函数相同。 DES至少有4个弱密钥 : 0101010101010101 1f1f1f1f0e0e0e0e e0e0e0e0f1f1f1f1 fefefefefefefefe24半弱密钥 半弱密钥:对于密钥 k ,存在一个不同 的密钥 ,满足 。 DES的半弱密钥:子

10、密钥生成过程中只 能产生两个不同的子密钥或四个不同的 子密钥,互为对合。 DES至少有12个半弱密钥。 25S -盒的设计原则 S -盒的设计原理没有公开,一些原则如下: 所有S-盒的每一行是0,1,15的一个置换; 所有S-盒的输出都不是输入的线性函数或仿射函数; S-盒的输入改变任意一位都会引起输出中至少两位发 生变化; 对于任何输入x(6位),S(x)与S(x001100)至少有 两位不同; 对于任何输入x(6位),S(x)与S(x00ef00)不相等, e, f取0或1; 对于任意一个输入位保持不变而其他五位变化时, 输出中0和1的数目几乎相等。 26针对DES的攻击方法攻击DES的方

11、法主要有: 密钥穷搜索攻击,DES算法总的密钥量为 ,1998年使用高级计算机的情况下,破译DES只 需56小时; 差分攻击; 线性攻击,较有效的方法; 相关密钥攻击等。27其他分组密码 IDEA算法 RC5算法 Rijndael算法 28IDEA 算法 IDEA 国际数据加密算法(International Data Encryption Algorithm) 瑞士联邦理工学院:Xuejia Lai & James Massey , 1990; 1991 改进,加强了对差分密码分析的抗击能力; 明文分组与密文分组的长度均为64位,密钥长度 为128位。 29IDEA 算法算法的设计思想 混合

12、使用来自不同代数群中的运算; 通过对于两个16位的子模块连续使用三个“不相容 ”的群运算(分别是异或、模 加、模 乘) ,可以获得所需的“混乱” ; 选择使用的密码结构可以提供必要的“扩散”。 30IDEA 算法描述31IDEA 算法描述 加密过程: 长度为64位的分组被分为4个长度为16位的子分组 。这些子分组作为算法第1轮的输入(注:该算法共8轮) 。 在每一轮中,子分组 相互间进行异或、 模 加 、模 乘运算,并且与6个长度为16位的子密钥 进行异或、模 加、模 乘运算。 在各轮之间,第2个子分组和第3个子分组进行交换。 最后,在输出变换中,子分组与子密钥 进行运算 ,将运算所得的4个子

13、分组重新连接便得到密文。 32IDEA 算法描述 子密钥的产生过程 : 将长度为128位的密钥分为8个长度为16位的子密 钥,作为算法第1轮需要的6个子密钥和第2轮中的 前两个子密钥; 将原来长度为128位的密钥向左环移25位,再次分 为8个长度为16位的子密钥,作为算法第2轮需要 的另外4个子密钥和第3轮所需的6个子密钥; 依次类推,便得到全部所需的52个密钥。 解密过程与加密过程基本相同。但是需要对子密钥 进行求逆运算。 33RC5算法 RSA公司的Rivest所设计的一种参数(分组大小、密 钥长度、加密轮数)可变的分组密码算法。 一个RC5算法通常被记为:RC5-w/r/b。其中,“w”

14、为 分组大小(w=16,32,64),“r”为加密轮数( ),“b”为密钥长度( )。 该算法实际上包含三部分:密钥扩展算法、加密算 法、解密算法。 34Rijndael算法 由Square算法发展演变而来。 已被美国国家标准技术研究所选定作为高级加密算 法AES。 迭代分组密码算法。 密钥128/192/256,分组128/192/256,循环次数 10/12/14。 速度快、对内存要求小,操作简单。 算法的抗攻击能力强。35分组密码的工作模式 已经提出的分组密码工作模式有: 密码分组链接(CBC)模式; 密码反馈(CFB)模式; 输出反馈(OFB)模式; 级连(CM)模式(又称多重加密模式); 计数器模式; 扩散密码分组链连(PCBC)模式。 36密码分组链接(CBC)模式 基本原理如图 :DESKCiYiYi-1加密Yi-1KDES-1YiXi解密37密码分组链接(CBC)模式 密文分组 被反馈到输入端,明文分组 与 的 异或结果被作为DES加密算法的输入,从而得到下一个密文分组 ,即 。 解密过程为 。 密文分组 为无须保密的事先设定的初值,不同的

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 行业资料 > 其它行业文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号