03密码学 信息安全概论课件

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
• 攻击用的代价{加密或解密所用运算次数} ≦2 256 需要大量的存储器: 256 64=1017字节=230*232
Triple-DES的四种模型
• DES-EEE3:三个不同密钥,顺序使用三次加 密算法
• DES-EDE3:三个不同密钥,依次使用加密-解 密-加密算法
• DES-EEE2:K1=K3,同上 • DES-EDE2:K1=K3,同上
• Oorschot ,P and Wiener, M. “A Known-plaintext attack on two-key triple encryption” Proceedings, EUROCrypt’90,1990: published by Springer-Verlag
三密钥的三重DES (Triple DES with Three Keys)
一种是对DES进行复合,强化它的抗攻击 能力;另一种是开辟新的方法,即象DES那样 加解密速度快,又具有抗差分攻击和其他方式 攻击的能力。
现代常规分组加密算法
• 1. Triple DES • 2. IDEA • 3. RC5 • 4. RC6 • 5. AES • 其他一些较实用的算法,如Blowfish,
对双重DES的中间相遇攻击 的分析
• 已知,给定一个明文P,经二重DES加密有264个可 能的密文。而二重DES所用密钥的长度应是112 bits,所以选择密钥有2112个可能性。于是对给定 一个明文P加密成一定的密文方式有2112/264=248种 可能。给定两个明密文对,虚警率降为248-64=2-16。 换句话说,对已知2个明文-密文对的中间相遇攻击 成功的概率为1-2-16。
分组密码的典型攻击方法
• 最可靠的攻击办法:强力攻击 • 最有效的攻击:差分密码分析,通过分析明文对的
差值对密文对的差值的影响来恢复某些密钥比特. • 线性密码分析:本质上是一种已知明文攻击方法,
通过寻找一个给定密码算法的有效的线性近似表 达式来破译密码系统 • 插值攻击方法 • 密钥相关攻击
现代常规分组加密算法
• 得到diffusion的途径 – 乘加(MA)结构
• 实现上的考虑
– 软件和硬件实现上的考虑
IDEA加 密算法
IDEA 每一轮
IDEA输出变换阶段
IDEA的子密钥
现代常规分组加密算法
• 1. Triple DES • 2. IDEA • 3. RC5 • 4. RC6 • 5. AES
用户鉴别,是大多系统的标准如 SSL、IPSec
密码反馈CFB
• CFB:分组密码流密码 Si 为移位寄存器,j为流单元宽度
加密: Ci =Pi(EK(Si)的高j位) Si+1=(Si<<j)|Ci
解密: Pi=Ci(EK(Si)的高j位) Si+1=(Si<<j)|Ci
CFB加密示意图
Ci =Pi(EK(Si)的高j位) ; Si+1=(Si<<j)|Ci
整个加密使用了下述3个基本运算和它们的逆运算: • 模2w加法运算,表示为“+”; • 逐比特异或运算,表示为“⊕”; • 字的循环左移运算:字x循环左移y比特,表示为
x<<<y 实际只有y的log2w个低位比特来确定x的循环数
它的逆为循环右移y比特,表示为 x>>>y
如(a0,a1,a2, …,an-1)<<<3=(a3,a4, …,an-1,a0,a1,a2)
RC5参数
• 三个参数
– 参数w:表示字长,RC5加密两字长分组,可用 值为16、32、64
– 参数r:表示轮数,可用值0,1,…,255 – 参数b:表示密钥K的字节数,可用值0,1,…,255
• RC5版本:RC5-w/r/b • 算法作者建议标定版本为RC5-32/12/16
RC5基本运算
的置换个数为 2561017。
• 直到1992年才有人证明了这个结果。
中间相遇(meet-in-the-middle) 攻击
C = EK2(EK1(P)) X = EK1(P) = DK2(C) • 给定明文密文对(P,C) 对所有256个密钥,加密P,对结果排序 对所有256个密钥,解密C,对结果排序 逐个比较,找出K1,K2使得EK1(P) = DK2(C)
对双密钥的三重DES的分析-ii
• 目前还没有针对两个密钥三重DES的实用攻击方法。 但对两个密钥三重DES的攻击有一些设想,以这些设 想为基础将来可能设计出更成功的攻击技术。
• Merkle R. and Hellman,M. “On the security of multiple encryption”. Communication of the ACM, July 1981
• 64位分组,128位密钥 • 运算: XOR ,模216(65536)加 ,模
(216+1)(65537)• 乘 • 三种运算均不满足分配律与结合律 • 有大量弱密钥 • 难以直接扩展到128位块
IDEA设计思想
• 得到confusion的途径
– 按位异或 – 以216(65536)为模的加法 – 以216+1 (65537)为模的乘法 – 互不满足分配律、结合律
运行模式总结
种类 有无 有无 P=> C=> 结构 主动 有无 安全 反馈 并行 C影 P影 相关 攻击 IV 性 算法 响 响 性
ECB
CBC
CFB
OFB
分组密码的分析方法
• 根据攻击者所掌握的信息,可将分组密码的攻击分为以 下几类: – 唯密文攻击 – 已知明文攻击 – 选择明文攻击
• 攻击的复杂度 – 数据复杂度:实施该攻击所需输入的数据量 – 处理复杂度:处理这些数据所需要的计算量
CFB解密示意图
Pi=Ci(EK(Si)的高j位); Si+1=(Si<<j)|Ci
CFB特点
• 分组密码流密码 • 没有已知的并行实现算法 • 隐藏了明文模式 • 需要共同的移位寄存器初始值IV • 对于不同的消息,IV必须唯一 • 误差传递:一个单元损坏影响多个单元
输出反馈OFB
• OFB:分组密码流密码 Si 为移位寄存器,j为流单元宽度
密码分组链接CBC
• Ci=EK(Ci-1Pi) Pi=EK(Ci ) Ci-1
CBC特点
• 没有已知的并行实现算法 • 能隐藏明文的模式信息 – 需要共同的初始化向量IV – 相同明文不同密文 – 初始化向量IV可以用来改变第一块 • 对明文的主动攻击是不容易的 – 信息块不容易被替换、重排、删除、重放 – 误差传递:密文块损坏两明文块损坏 • 安全性好于ECB • 适合于传输长度大于64位的报文,还可以进行
加密: Ci =Pi(EK(Si)的高j位) Si+1=(Si<<j)|(EK(Si)的高j位)
解密: Pi=Ci(EK(Si)的高j位) Si+1=(Si<<j)|(EK(Si)的高j位)
OFB加密示意图
Ci =Pi(EK(Si)的高j位);Si+1=(Si<<j)|(EK(Si)的高j位)
OFB解密示意图Fra Baidu bibliotek
• 从直观上看,上面的假设不可能为真。因为DES的加 密事实上就是做一个从64比特分组到一个64分组的置 换, 而64比特分组共有264可能的状态,因而可能的置 换个数为
26!4 13047308000000000 00 1010 0 200 0 0
• 另一方面, DES的每个密钥确定了一个置换,因而总
双密钥的三重DES (Triple DES with Two Keys)
• C=EK1(DK2(EK1(P))) P=DK1(EK2( DK1(C)))
对双密钥的三重DES的分析-i
• 该模式由IBM设计, 可与常规加密算法兼容 • 这种替代DES的加密较为流行并且已被采纳用于密钥
管理标准(The Key Manager Standards ANSX9.17和 ISO8732). • 交C=替EK使2(用EKK1(1E和KK1(P2可)))以,只抵需抗要中2间56+相2次遇加攻密击.如果 • 到目前为止,还没有人给出攻击三重DES的有效方法。 对其密钥空间中密钥进行蛮干搜索,那么由于空间太 大为2112=5×1033,这实际上是不可行的。若用差分攻 击的方法,相对于单一DES来说复杂性以指数形式增 长,要超过1052。
信息安全概论
密码学基础 2
计算机学院信息安全课题组
回顾上次课的内容
• 对称密码的两个基本运算
– 代替和置换(Substitution & permutation)
• 对称密码分析的两个基本方法
– 系统分析法(统计分析法) – 穷举法
• 对称密码的两个基本设计原则:
– 混乱和扩散
• 密码分析攻击的方式
国际数据加密IDEA(International Data Encryption Algorithm)算法
• 1990年瑞士联邦技术学院的来学嘉和 Massey提出,PES,91年修订,92公布 细节
• 设计目标从两个方面考虑
– 加密强度 – 易实现性
• 强化了抗差分分析的能力, PGP
IDEA算法特点
于是多重DES,尤其是三重DES还在普遍使用。
双重DES (Double DES)
• C = EK2(EK1(P)) P = DK1(DK2(C))
双重DES的讨论
• 假设对于 DES和所有56比特密钥,给定任意两个密钥 K(P1和) 。K2如,果都这能个找假到设一是个事密实钥,K3则使D得EESK的2(E两K重1(P加))密= 或EK者3 多 重加密都将等价于用一个56比特密钥的一次加密。
Pi=Ci(EK(Si)的高j位); Si+1=(Si<<j)|(EK(Si)的高j位)
OFB特点
• OFB:分组密码流密码
• 没有已知的并行实现算法 • 隐藏了明文模式
• 需要共同的移位寄存器初始值IV • 误差传递:一个单元损坏只影响对应单元 • 对明文的主动攻击是可能的 – 信息块可被替换、重排、删除、重放 • 安全性较CFB差
CAST,以及RC2。
1 . TRIPLE DES
• 由于已经证明DES不能成为群,见 K.W.Campbell and M.J.Wiener Proof that DES is not a group In Advances in Cryptology——Crpto’92. Springer-Verlag , New York,1993.
RC5
• 作者为Ron Rivest 1994设计、1995公开
1. 适用于软件或者硬件实现 2. 运算速度快 3. 能适应于不同字长的程序(一个字的bit数是RC5的一
个参数;) 4. 加密的轮数可变(轮数是RC5的第二个参数) 5. 密钥长度是可变的(密钥长度是RC5的第三个参数) 6. 对内存要求低 7. 依赖于数据的循环移位(增强抗攻击能力)
讨论议题
➢ 分组密码的操作模式 • 实用中数据格式的多样性 • 安全的工作模式 ➢ 分组密码的分析方法
➢ 现代常规分组加密算法 • Triple DES • RC5、RC6 • AES • …… ➢ 加密的位置: • 链路方式和端到端的方式
ECB特点
• 简单和有效 • 可以并行实现 • 不能隐藏明文的模式信息 – 相同明文相同密文 – 同样信息多次出现造成泄漏 • 对明文的主动攻击是可能的 – 信息块可被替换、重排、删除、重放 • 误差传递:密文块损坏仅对应明文块损坏 ➢ 适合于传输短信息
密钥扩展
• 总计产生 t=2r+2 个子密钥,每个密钥的长度为一个字 长(w bits)。
密钥的初始化
对于给定的参数r和w,开始初始化运算
Pw=Odd((e-2)2w) Qw=Odd((Φ -1)2w) 这里 e =2.718281828459…(自然对数的底) Φ =1.618033988749…(黄金分割比率) 并且Odd[x]表示最接近x且可左可右的奇整数。 例: Odd[e]=3, Odd[Φ ]=1 用上述两个常数,按下述方式得到初始化的阵列S: S[0]=Pw For i=1 to t-1 do
• C=EK3(DK2(EK1(P))) P=DK3(EK2( DK1(C)))
三密钥的三重DES分析
• 密钥的有效长度为168位 • 与DES的兼容性可以通过令K3=K2或
K1=K2得到 • 许多基于Internet的应用里用到:PGP和
S/MIME
现代常规分组加密算法
• 1. Triple DES • 2. IDEA • 3. RC5 • 4. RC6 • 5. AES
相关文档
最新文档