加密技术(1)-对称密码体系(自学)..pptVIP

  • 3
  • 0
  • 约9.58千字
  • 约 71页
  • 2019-01-14 发布于湖北
  • 举报
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * IDEA工作原理 64位输入 第一轮 64位输出 第二轮 … 第17轮 密钥扩展 128位密钥 K1K2K3K4 K5K6 K49K50K51K52 * IDEA奇数循环处理方法 Xa Xa’ Ka Xd Xd’ Kd Xc Xc’ Kc Xb Xb’ Kb * IDEA偶数循环处理方法 Xa Xa’ Xd Xd’ Xc Xc’ KeKf Xb Xb’ Mangler 函数 Yout=((Ke X Yin)+Zin) X Kf Zout=(Ke X Yin) + Yout Yin Yout Zin Zout * 密钥生成 IDEA将128位密钥扩展成52个16位的循环密钥,加解密的密钥扩展方式是不同的。 加密循环密钥的产生方式为: (1)将主密钥分成8个16比特块,便得到K1-K8; (2)将主密钥循环左移24位,再按(1),便得到K9-K16; (3)再将(2)重复4次,得到32个循环密钥匙; (4)将主密钥循环左移22位,从最左开始取4个16比特块作为K49-K52 解密循环密钥的产生方式为: 在奇数循环中,解密密钥是对应加密密钥的逆元。 在偶数循环中,根据运算的可逆性可知两种密钥对应相同,如解密密钥K47与加密密钥K5相同。 能抵抗差分攻击 在著名的邮件加密软件PGP中采用了IDEA算法 * RC5 RC5是Ron.Rivest 于1994年设计的一种新的分组算法。它的前身RC2、RC4分别是可变密钥长度的分组和流加密算法。RC5是可变密文长度、可变轮数、可变密钥长度的分组加密算法 RC5加密算法的特点有: 基本运算是微处理器上常见的初等运算 字的位数作为RC5的参数 安全性依赖于旋转运算和不同运算的混合 存储要求低,适合在智能卡上实现 轮数和密钥长度可以变化 RC5算法由密钥扩展算法、加密算法、解密算法组成 * 高级加密标准AES介绍 1997年NIST宣布征集AES算法 要求: 与三重DES比,要快且至少一样安全,分组128位,密钥128/192/256位 1998年确定第一轮15个候选者 1999年确定第二轮五个候选者: MARS, RC6, Rijndael, Serpent, Twofish 2000年10月Rijndael胜出 * Rijndael简介 不属于Feistel结构 加密、解密相似但不对称 支持128/192/256(/32=Nb)数据块大小 支持128/192/256(/32=Nk)密钥长度 有较好的数学理论作为基础 适合在所有32位机到IC卡上的实现 结构简单、速度快 * Rijndael算法的抵抗攻击能力 消除了DES中出现的弱密钥的可能 也消除了IDEA中发现的弱密钥 能有效抵抗目前已知的攻击算法 线性攻击 差分攻击 * * * * * * * * * * * * * * * * * * * * * * * * * Feistel 结构图 (IBM公司) * Feistel结构定义 加密: Li = Ri-1; Ri = Li-1?F(Ri-1,Ki) 解密: Ri-1 = Li Li-1 = Ri?F(Ri-1,Ki) = Ri?F(Li,Ki) * Feistel分组加密算法特点 分组大小:越大安全性越高,但速度下降,64比较合理 密钥位数:越大安全性越高,但速度下降,64广泛使用,但现在已经不够用—〉128 步数:典型16步 子钥产生算法:算法越复杂,就增加密码分析的难度 每一步的子函数:函数越复杂,就增加密码分析的难度 快速软件实现:包括加密和解密算法 易于分析:便于掌握算法的保密强度以及扩展办法。 * DES算法 1977年由美国的标准化局(NBS,现为NIST)采纳 64位分组、56位密钥 历史: IBM在60年代启动了LUCIFER项目,当时的算法采用128位密钥 改进算法,降低为56位密钥,IBM提交给NBS(NIST),于是产生DES 16轮的Feistel结构密码 * DES算法描述 DES是对称密钥加密的算法, DES算法大致可以分成四个部分: 初始置换 迭代过程 逆初始置换 子密钥生成 * DES算法整体示意图 明文(64位) 初始置换(IP) LPT RPT 16轮 16轮 逆初始置换(FP) 密文(64

文档评论(0)

1亿VIP精品文档

相关文档