线性密码分析

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
11
DES的差分密码分析原理
❖ 由于DES中的初始置换IP及其逆置换IP-1是公开的,所以在密码分析 时可以忽略。设n轮DES,L0R0为明文,LnRn为密文,差分分析的基 本观点是比较两个明文的异或与相应的两个密文的异或。
❖ 定义6 设Sj是一个特定的S-盒(1j 8),(Bj, Bj*)是一对长度为6比特的 串。我们说Sj的输入异或是BjBj*, Sj的输出异或是Sj(Bj) Sj(Bj*)。
第二章 信息加密技术(4)
❖ 本节学习目标:
掌握常用密码分析相关知识
❖对称密码分析:DES ❖非对称密码分析:RSA
1
基本概念
❖ Kerckhoff假设
通常假定密码分析者或敌手知道所使用的密码系统
❖ 攻击类型(攻击强度递增)
唯密文攻击:密码分析者有一个或多个密文 已知明文攻击:密码分析者有一些明文以及相应的密文 选择明文攻击:密码分析者有机会使用密码机,因此可
12
DES的差分密码分析原理
差分密码分析
对分组长度为n的r轮跌代密码,设Y0和Y0*是明文对,Yi和Yi*(1ir)是 第i轮的输出,第i+1轮的输入,第i轮的子密钥为Ki,轮函数为F,即 Yi=F(Yi-1,Ki) ❖ 定义1 差分:Yi=YiYi*-1,其中表示n比特串集上的一个特定群运 算, Yi*-1表示Yi*在此群中的逆元 ❖ 研究结果表明,对于Yi=F(Yi-1,Ki)和Yi*=F(Yi-1*,Ki),若三元组(Yi-1, Yi, Yi*)的一个或多个值是已知的,则确定子密钥Ki是容易的。从而,若 密文对已知,并且最后一轮的输入对的差分能够得到,则一般来说, 确定最后一轮的子密钥或其一部分是可行的。在差分密码分析中,通 过选择具有特定差分值a0的明文对(Y0, Y0*),使得最后一轮的输入差 分Yr-1以很高的概率取特定值ar-17来达到这一点
❖ 定义4 1=a0,a1,…,am和2=b0,b1,…,bl分别是m轮和l轮特征,如 果am=b0,则1和2可以串联为一个m+l的轮特征 3=a0,a1,…,am, b0,b1,…,bl。3称为1和2的串联
8
差分密码分析
❖ 定义5 在r-轮特征=a0,a1,…,ar中,定义pi=P(F(Y)=ai | Y=ai-1),即pi表示在输入差分为ai-1的条件下,轮函数F的 输出差分为ai的概率
攻击者试用密钥空间中的所有密钥解密一个或多个密文, 直至得到一个或多个有意义的明文。
❖ 字典攻击:
攻击者搜集明密文对,编排成字典,遇到密文时查找字 典获得明文
4
强力攻击
❖ 查表攻击:
采用选择明文攻击,对给定明文,用所有可能的密钥, 计算密文,并建立密钥和密文的表,通过密文Hale Waihona Puke Baidu表获得 密钥
❖ 时间-存储权衡攻击:
❖ 对于任何Bj’Z26,记(Bj’)={(Bj,Bj*)|BjBj*=Bj’}。易知,|(Bj’)| =26 =64,且(Bj’)={(Bj, BjBj’)|BjZ26}。对(Bj’)中的每一对,我们能计 算出Sj的一个输出异或,共可计算出64个输出异或,它们分布在 24=16个可能的值上,将这些分布列成表。这些分布的不均匀性将是 差分密码攻击的基础。
是一种选择明文攻击,由穷尽密钥搜索攻击和查表攻击 两种方法混合而成,在选择明文攻击中以时间换空间, 比穷尽密钥搜索攻击时间复杂度小,比查表攻击空间复 杂度小
5
差分密码分析
1. 差分密码分析基本原理 差分密码分析是已知的攻击跌代密码(所谓 跌代密码就是以跌代一个简单的轮函数为基 础的密码,即通过选择某个较简单的密码变 换,在密钥控制下以跌代方式多次利用它进 行加密变换)最有效的方法之一,其基本思 想是:通过分析明文6对的差值对密文对的差 值的影响来恢复某些密钥比特
❖ 注意:由于轮函数F与子密钥有关,所以pi是对所有可能的 子密钥而言的。对某些密码体制,选取合适的群运算能保 证对所有可能的子密钥值,此概率是常值。
❖ 实际中,r-轮特征=a0,a1,…,ar的概率可用pi来近似替代, 因此r-轮特征可以看作r个单轮特征的串联,它的概率是r个 单轮特征概率的乘积。
选择一些明文,并产生密文 选择密文攻击:密码分析者有机会使用密码机,因此可
2
选择一些密文,并产生明文
分组密码的分析方法
❖ 典型的攻击方法
强力攻击方法 差分密码分析 线性密码分析 差分-线性密码分析
3
强力攻击
强力攻击可用于任何分组密码,攻击复杂度只依赖于分 组长度和密码长度 ❖ 穷尽密钥搜索攻击:
9
差分密码分析
❖ R轮迭代密码的差分攻击算法 ❖ 第1步:找出一个(r-1)轮特征=a0,a1,…,ar-1,使得它的概率达到最大
或几乎最大
❖ 第2步:均匀随机地选择明文Y0并计算Y0*,使得Y0和Y0*的差分为a0, 找出Y0和Y0*在实际密钥加密下所得的密文Yr和Yr*。若最后一轮的子 密钥Kr(或Kr的部分比特)有2m个可能值Krj(1j2m),设置相应的2m个 计数器j(1j2m);用每个Krj解密密文Yr和Yr*,得到Yr-1和Yr-1*,如果 Yr-1和Yr-1*的差分是ar-1,则给相应的计数器j加1。
❖ 第3步:重复第2步,直到一个或几个计数器的值明显高于其他计数 器的值,输出它们所对应的子密钥(或部分比特)
10
DES的差分密码分析
❖ 差分密码分析最初是针对DES提出的一种攻 击方法,它虽然未能破译16-轮的DES,但是 破译轮数低的DES是很成功的(8轮的在个人 计算机上只要几分钟)。
❖ 属于选择明文攻击
差分密码分析
❖ 定义2 r-轮特征是一个差分序列a0,a1,…,ar,其中ai是Yi和 Yi*(0ir)的差分。 r-轮特征=a0,a1,…,ar的概率是指在明文Y0 和子密钥K1,…,Kr独立、均匀随机时,明文对Y0和Y0*的差分为 a0的条件下,Yi和Yi* *(0ir)的差分为ai的概率
❖ 定义3 如果 r-轮特征=a0,a1,…,ar满足条件: Y0和Y0*的差分为 a0,第i轮输出Yi和Yi*的差分为ai(1ir),则称明文对Y0和Y0*为特 征的一个正确对,否则称为特征的错误对
相关文档
最新文档