【密码分析学 笔记】 3.3 飞去来器攻击及矩形攻击

news2024/11/29 14:53:53

3.3 飞去来器攻击及矩形攻击

飞去来器攻击:

  • 轮数短但概率高的差分路线
  • 需要选择明文和密文

增强飞去来器攻击:

  • 通过加大选择明文量来去掉选择密文的要求
  • 只选择明文

矩形攻击:

  • 同时利用多条短轮路线提升区分器概率
  • 降低攻击复杂度

后续研究:

  • 更好在错位部分连接
  • 加长区分器路线
1.飞去来器攻击:

首先将加密算法分为三部分:

E k ( P ) = E b K b ( E m K m ( E f K f ( P ) ) ) {E_{k}(P)=E_{bK_{b}}(E_{mK_{m}}(E_{fK_{f}}(P)))} Ek(P)=EbKb(EmKm(EfKf(P)))

考虑 E m K m {E_{mK_{m}}} EmKm为基于密钥的线性或仿射变换的情况,不影响差分传播概率, 记为A

在这里插入图片描述

设有三条高概率差分:

  • 加密方向1 α → E f β , P r ( α → E f β ) = p 1 {\alpha \stackrel{E_{f}}\to \beta,Pr(\alpha \stackrel{E_{f}}\to \beta)=p_{1}} αEfβ,Pr(αEfβ)=p1
  • 解密方向1 β → E f − 1 α , P r ( β → E f − 1 α ) = p 2 {\beta \stackrel{E_{f}^{-1}}\to \alpha,Pr(\beta \stackrel{E_{f}^{-1}}\to \alpha)=p_{2}} βEf1α,Pr(βEf1α)=p2
  • 解密方向2 γ → E b − 1 ϕ , P r ( γ → E b − 1 ϕ ) = q {\gamma \stackrel{E_{b}^{-1}}\to \phi,Pr(\gamma \stackrel{E_{b}^{-1}}\to \phi)=q} γEb1ϕ,Pr(γEb1ϕ)=q

为了连接短轮数差分,采用"错位"相连,也就是中间差分值 β ≠ ϕ {\beta \ne \phi} β=ϕ,即一对明文满足中间差分值β,另一对满足Φ

过程:

基于下面的流程:

密文对的平行四边形

⇒ {\Rightarrow } 中间状态的平行四边形

⇒ {\Rightarrow } 明文对的平行四边形

在这里插入图片描述

  1. 选择 ( m 1 , m 2 ) (m_{1},m_{2}) (m1,m2) 满足 m 1 ⊕ m 2 = α {m_{1} \oplus m_{2}=\alpha} m1m2=α

    ⇒ x 1 ⊕ x 2 = β {\Rightarrow x_{1} \oplus x_{2}=\beta} x1x2=β P r ( x 1 ⊕ x 2 = β ) = p 1 {Pr(x_{1} \oplus x_{2}=\beta)=p_{1}} Pr(x1x2=β)=p1

  2. 选择 c 3 = c 1 ⊕ γ ,   c 4 = c 2 ⊕ γ {c_{3} = c_{1} \oplus \gamma , \ c_{4}=c_{2} \oplus \gamma } c3=c1γ, c4=c2γ

    ⇒ y 1 ⊕ y 3 = ϕ , y 2 ⊕ y 4 = ϕ {\Rightarrow y_{1} \oplus y_{3}=\phi,y_{2} \oplus y_{4}=\phi} y1y3=ϕ,y2y4=ϕ

    ⇒ y 1 ⊕ y 3 ⊕ y 2 ⊕ y 4 = 0 ,   P r ( y 1 ⊕ y 3 ⊕ y 2 ⊕ y 4 = 0 ) = q 2 {\Rightarrow y_{1} \oplus y_{3}\oplus y_{2} \oplus y_{4}=0,\ Pr(y_{1} \oplus y_{3}\oplus y_{2} \oplus y_{4}=0)=q^{2}} y1y3y2y4=0, Pr(y1y3y2y4=0)=q2

    ⇒ x 1 ⊕ x 3 ⊕ x 2 ⊕ x 4 = 0 {\Rightarrow x_{1} \oplus x_{3}\oplus x_{2} \oplus x_{4}=0} x1x3x2x4=0 //A为仿射变换,概率不改变

    ⇒ x 3 ⊕ x 4 = β ,   P r ( x 3 ⊕ x 4 = β ) = p 1 q 2 {\Rightarrow x_{3} \oplus x_{4}=\beta ,\ Pr(x_{3} \oplus x_{4}=\beta)=p_{1}q^{2}} x3x4=β, Pr(x3x4=β)=p1q2 // x 1 ⊕ x 2 = β {x_{1} \oplus x_{2}=\beta} x1x2=β

  3. 所以 m 3 ⊕ m 4 = α {m_{3} \oplus m_{4}=\alpha} m3m4=α 的概率为 p 1 p 2 q 2 {p_{1}p_{2}q^{2}} p1p2q2

随机置换构造的 ( m 3 , m 4 ) (m_{3},m_{4}) (m3,m4) P r ( m 3 ⊕ m 4 = α ) = 2 − n {Pr(m_{3} \oplus m_{4}=\alpha)=2^{-n}} Pr(m3m4=α)=2n

只要 p 1 p 2 q 2 > 2 − n {p_{1}p_{2}q^{2} \gt 2^{-n}} p1p2q2>2n就可以区分

提高概率:

要使得 y 1 ⊕ y 3 ⊕ y 2 ⊕ y 4 = 0 ,  只需要 y 1 ⊕ y 3 = y 2 ⊕ y 4 {y_{1} \oplus y_{3}\oplus y_{2} \oplus y_{4}=0,\ 只需要y_{1} \oplus y_{3}= y_{2} \oplus y_{4}} y1y3y2y4=0, 只需要y1y3=y2y4 ,所以 ϕ {\phi} ϕ可以有多种取值,同理β

  • p 1 p 2 = ∑ ∀ β   P r ( α → E f β ) P r ( β → E f − 1 α ) {p_{1}p_{2}=\sum \limits_{\forall \beta}\ Pr(\alpha \stackrel{E_{f}}\to\beta )Pr(\beta \stackrel{E_{f}^{-1}}\to\alpha )} p1p2=β Pr(αEfβ)Pr(βEf1α)
  • q 2 = ∑ ∀ ϕ P r ( γ → E b − 1 ϕ ) 2 {q^{2}=\sum \limits_{\forall \phi}Pr(\gamma \stackrel{E_{b}^{-1}}\to\phi )^{2}} q2=ϕPr(γEb1ϕ)2
2.增强的飞去来器攻击模型

(AMPLIFIED BOOMERANG ATTACK)

区别:只选择明文,只能控制 ( x 1 , x 2 ) (x_{1},x_{2}) (x1,x2)的差分,无法控制中间状态 ( y 1 , y 2 ) (y_{1},y_{2}) (y1,y2)的差分

思路:

利用加密方向的高概率差分

  • 加密方向1 α → E f β , P r ( α → E f β ) = p {\alpha \stackrel{E_{f}}\to \beta,Pr(\alpha \stackrel{E_{f}}\to \beta)=p} αEfβ,Pr(αEfβ)=p
  • 加密方向2 ϕ → E b γ , P r ( ϕ → E b γ ) = q {\phi \stackrel{E_{b}}\to \gamma,Pr(\phi \stackrel{E_{b}}\to \gamma)=q} ϕEbγ,Pr(ϕEbγ)=q

过程:

在这里插入图片描述

  • 首先选择四元组 ( m 1 , m 2 , m 3 , m 4 ) (m_{1},m_{2},m_{3},m_{4}) (m1,m2,m3,m4),满足 m 1 ⊕ m 2 = α , m 3 ⊕ m 4 = α {m_{1} \oplus m_{2}=\alpha,m_{3} \oplus m_{4}=\alpha} m1m2=αm3m4=α
  • 得到相应的密文对 ( c 1 , c 2 ) , ( c 3 , c 4 ) {(c_{1},c_{2}),(c_{3},c_{4})} (c1,c2),(c3,c4)
  • x 1 ⊕ x 3 ⊕ x 2 ⊕ x 4 = 0 ,   P r ( x 1 ⊕ x 3 ⊕ x 2 ⊕ x 4 = 0 ) ≥ p 2 { x_{1} \oplus x_{3}\oplus x_{2} \oplus x_{4}=0,\ Pr(x_{1} \oplus x_{3}\oplus x_{2} \oplus x_{4}=0) \ge p^{2}} x1x3x2x4=0, Pr(x1x3x2x4=0)p2
    • P r ( y 1 ⊕ y 3 ⊕ y 2 ⊕ y 4 = 0 ) ≥ p 2 {Pr(y_{1} \oplus y_{3}\oplus y_{2} \oplus y_{4}=0) \ge p^{2}} Pr(y1y3y2y4=0)p2 //A为仿射变换
  • 设以随机概率 2 − n {2^{-n}} 2n满足 y 1 ⊕ y 3 = ϕ {y_{1} \oplus y_{3}=\phi} y1y3=ϕ,同理 y 2 ⊕ y 4 = ϕ {y_{2} \oplus y_{4}=\phi} y2y4=ϕ
    • P r ( y 1 ⊕ y 3 = ϕ , y 2 ⊕ y 4 = ϕ ) ≥ 2 − n p 2 {Pr(y_{1} \oplus y_{3}=\phi,y_{2} \oplus y_{4}=\phi) \ge 2^{-n}p^{2}} Pr(y1y3=ϕ,y2y4=ϕ)2np2
    • 则密文对 P r ( c 1 ⊕ c 3 = c 2 ⊕ c 4 = γ ) ≥ 2 − n p 2 q 2 {Pr(c_{1} \oplus c_{3}=c_{2} \oplus c_{4}=\gamma) \ge 2^{-n}p^{2}q^{2}} Pr(c1c3=c2c4=γ)2np2q2
  • 随机置换 P r ( c 1 ⊕ c 3 = c 2 ⊕ c 4 = γ ) = 2 − 2 n {Pr(c_{1} \oplus c_{3}=c_{2} \oplus c_{4}=\gamma) = 2^{-2n}} Pr(c1c3=c2c4=γ)=22n
  • 只要 p q > 2 − n / 2 {pq>2^{-n/2}} pq>2n/2,就可以区分

提高概率的方法同上。

3.矩形攻击

选择明文攻击,但是区分器包含了更多差分形式。

x 1 ⊕ x 3 ⊕ x 2 ⊕ x 4 = 0 放宽为 x 1 ⊕ x 3 ⊕ x 2 ⊕ x 4 = ϵ { x_{1} \oplus x_{3}\oplus x_{2} \oplus x_{4}=0放宽为 x_{1} \oplus x_{3}\oplus x_{2} \oplus x_{4}=\epsilon} x1x3x2x4=0放宽为x1x3x2x4=ϵ

利用如下加密方向高概率差分

  • α → E f β {\alpha \stackrel{E_{f}}\to \beta} αEfβ
  • α → E f β ′ {\alpha \stackrel{E_{f}}\to \beta'} αEfβ
  • ϕ → E b γ {\phi \stackrel{E_{b}}\to \gamma} ϕEbγ
  • ϕ ⊕ A ( β ⊕ β ′ ) → E b γ {\phi \oplus A(\beta\oplus \beta')\stackrel{E_{b}}\to \gamma} ϕA(ββ)Ebγ

内部状态满足 x 1 ⊕ x 2 = β , x 3 ⊕ x 4 = β ′ { x_{1} \oplus x_{2}=\beta,x_{3} \oplus x_{4}=\beta'} x1x2=β,x3x4=β,令 ϵ = β ⊕ β ′ {\epsilon = \beta \oplus \beta'} ϵ=ββ

则有 x 1 ⊕ x 3 ⊕ x 2 ⊕ x 4 = ϵ ⇔ y 1 ⊕ y 3 ⊕ y 2 ⊕ y 4 = A ( ϵ ) { x_{1} \oplus x_{3}\oplus x_{2} \oplus x_{4}=\epsilon \Leftrightarrow y_{1} \oplus y_{3}\oplus y_{2} \oplus y_{4}=A(\epsilon )} x1x3x2x4=ϵy1y3y2y4=A(ϵ)

y 1 ⊕ y 2 = ϕ , y 3 ⊕ y 4 = ϕ ⊕ A ( β ⊕ β ′ ) {y_{1} \oplus y_{2}=\phi,y_{3} \oplus y_{4}= \phi \oplus A(\beta \oplus \beta')} y1y2=ϕ,y3y4=ϕA(ββ)

所以不随机现象的概率为

P r ( c 1 ⊕ c 3 = c 2 ⊕ c 4 = γ ) = ∑ ∀ β , β ′ [ P r ( α → E f β ) P r ( α → E f β ′ ) ⋅ 2 − n ∑ ∀ ϕ P r ( ϕ → E b γ ) P r ( ϕ ⊕ A ( β ⊕ β ′ ) → E b γ ) ] Pr(c_{1} \oplus c_{3}=c_{2} \oplus c_{4}=\gamma) \\= \sum \limits_{\forall\beta,\beta'}\big [Pr(\alpha \stackrel{E_{f}}\to \beta)Pr(\alpha \stackrel{E_{f}}\to \beta')·2^{-n} \sum \limits_{\forall \phi}Pr(\phi \stackrel{E_{b}}\to \gamma)Pr(\phi \oplus A(\beta\oplus \beta')\stackrel{E_{b}}\to \gamma) \big ] Pr(c1c3=c2c4=γ)=β,β[Pr(αEfβ)Pr(αEfβ)2nϕPr(ϕEbγ)Pr(ϕA(ββ)Ebγ)]

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2222042.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【面试题】什么是SpringBoot以及SpringBoot的优缺点

什么是SpringBoot以及SpringBoot的优缺点 什么是SpringBoot SpringBoot是基于Spring的一个微框架,其设计目的是用来简化新Spring应用的初始搭建以及开发过程。 SpringBoot的优点 可以创建独立的Spring应用程序,并且基于其Maven或Gradle插件,可以创建可执…

SpringCloudAlibaba-Nacos

概述和版本说明 <spring.boot.version>3.2.0</spring.boot.version> <spring.cloud.version>2023.0.0</spring.cloud.version> <spring.cloud.alibaba.version>2022.0.0.0</spring.cloud.alibaba.version>注册中心&#xff0c;配置中心及…

Docker 安装Postgres和PostGIS,并制作镜像

1. 查找postgres和postgis现有的镜像和版本号 镜像搜索网站&#xff1a;https://docker.aityp.com/ 测试使用的是postgres:15.4 和 postgis:15-3.4 2、镜像拉取 docker pull postgres:15.4docker pull postgis/postgis:15-3.4镜像下载完成&#xff0c;docker images 查看如…

【C++】拆分详解 - 模板

文章目录 一、泛型编程二、函数模板1. 概念2. 语法3. 函数模板的原理4. 函数模板的实例化5. 模板参数的匹配原则 三、类模板1. 语法2. 实例化 四、模板的特化1. 概念2. 函数模板特化3. 类模板特化3.1 全特化3.2 偏特化 / 半特化3.3 应用示例 4. 小结 五、模板的分离编译1. 分离…

秋招面试题记录_半结构化面试

c八股(可能问的多一点) 1.简单说说C11语法特性 答&#xff1a; 1.auto以及decltype自动类型推导&#xff0c;避免手动声明复杂类型&#xff0c;减少冗长代码提升了可读性和安全性。 2.智能指针 自动释放内存 (具体说说) 有shared和unique 差异主要体现在所有权、内存开销、…

微积分复习笔记 Calculus Volume 1 - 3.4 Derivatives as Rates of Change

3.4 Derivatives as Rates of Change - Calculus Volume 1 | OpenStax

京东 北京 java 中级: 哪些情况下的对象会被垃圾回收机制处理掉? 哪些对象可以被看做是 GC Roots 呢?对象不可达,一定会被垃圾收集器回收么?

我同学最近在面试java的岗位, 这是他遇到的某些关于java的JVM中垃圾回收相关的部分的问题, 他来问我, 我特以此文章来解答. 公司 京东 base 北京 面试时间 2024年10月23日16:00:00 他跟我说, 面试官一上来就问了一个关于JVM的问题, 直接就给他难住了, 问题是 : 哪些情况下…

数据结构《顺序表》

文章目录 前言一、什么是顺序表&#xff1f;1.1 顺序表的概念1.2 顺序表的建立 二、MyArrayList的实现三、顺序表的方法四、关于顺序表的例子总结 前言 提示&#xff1a;这里涉及到的ArrayList类是一个泛型类&#xff0c;同时后面的很多内容都会涉及到泛型&#xff0c;如果不了…

【蓝队技能】【内网隧道工具流量分析】FRPNPSreGeorgVenom

蓝队技能 FRP&NPS&reGeorg&Venom 蓝队技能总结前言一、FRP1.1 流量分析1.2 特征提取 二 NPS1.1 流量分析1.2 特征提取 三、reGeor1.1 特征提取 四、Venom1.1 特征提取 总结 前言 本文聚焦内网隧道代理技术&#xff0c;涵盖Frp、Nps、Neo-reGeorg及Venom等工具。这些…

潜水定位通信系统的功能和使用方法_鼎跃安全

潜水定位通信系统是保障潜水安全与作业高效的关键设备。它利用先进的声呐、无线电等技术&#xff0c;可精准定位潜水员位置。在水下能实现潜水员之间以及与水面的双向通信&#xff0c;确保信息及时传递。具备高可靠性和稳定性&#xff0c;即使在复杂水环境中也能正常运行。 一、…

Git Push(TODO)

最近经常碰到GIT push不上去的问题。到处求人解决也真是尴尬&#xff0c;想自己看看&#xff0c;所以刚刚在github上建了一个仓&#xff0c;试了下。结果如下&#xff1a; 暂时可能还不行&#xff0c;因为数据都是加密的&#xff0c;没法看到具体GIT的交互信息。。。 后面再想办…

算法的学习笔记—两个链表的第一个公共结点(牛客JZ52)

&#x1f600;前言 在链表问题中&#xff0c;寻找两个链表的第一个公共结点是一个经典问题。这个问题的本质是在两个单链表中找到它们的相交点&#xff0c;或者说它们开始共享相同节点的地方。本文将详细讲解这个问题的解题思路&#xff0c;并提供一种高效的解决方法。 &#x…

WPFDeveloper正式版发布

WPFDeveloper WPFDeveloper一个基于WPF自定义高级控件的WPF开发人员UI库&#xff0c;它提供了众多的自定义控件。 该项目的创建者和主要维护者是现役微软MVP 闫驚鏵: https://github.com/yanjinhuagood 该项目还有众多的维护者&#xff0c;详情可以访问github上的README&…

Golang | Leetcode Golang题解之第497题非重叠矩形中的随机点

题目&#xff1a; 题解&#xff1a; type Solution struct {rects [][]intsum []int }func Constructor(rects [][]int) Solution {sum : make([]int, len(rects)1)for i, r : range rects {a, b, x, y : r[0], r[1], r[2], r[3]sum[i1] sum[i] (x-a1)*(y-b1)}return Sol…

SpringBoot项目ES6.8升级ES7.4.0

SpringBoot项目ES6.8.15 升级到 ES7.4.0 前言 由于公司内部资产统一整理&#xff0c;并且公司内部部署有多个版本的es集群&#xff0c;所以有必要将目前负责项目的ES集群升级到公司同一版本7.4.0。es6到es7的升级变化还是挺大的&#xff0c;因此在这里做一下简单记录&#xf…

从新手到高手:map和set的使用技巧全攻略(C++)

✨✨小新课堂开课了&#xff0c;欢迎欢迎~✨✨ &#x1f388;&#x1f388;养成好习惯&#xff0c;先赞后看哦~&#x1f388;&#x1f388; 所属专栏&#xff1a;C&#xff1a;由浅入深篇 小新的主页&#xff1a;编程版小新-CSDN博客 前言&#xff1a; 本章节讲解的map和set底层…

C++新基础类型(C++11~C++20)

本文章记录C11~C20的新基础类型。 1.整数类型long long long long类型是C11引入的。在C标准中规定&#xff0c;long long是一个至少为64位的整数类型。可以使用LL和ULL字面量后缀进行初始化。格式化打印时分别用%lld和%llu。 long long x 12345LL; unsigned long long y 4…

简单的windows java -jar 无法启动jar包解决方法

简单的windows java -jar 无法启动jar包解决方法 1. 问题 我们项目是使用nacos作为注册中心以及配置中心&#xff0c;我们本地使用idea 进行服务配置以及启动发现没有问题&#xff0c;然后我们的服务经过maven install 打包后发布到LINUX服务启动也没有问题&#xff0c;但是我…

Artistic Oil Paint 艺术油画着色器插件

只需轻轻一点&#xff0c;即可将您的视频游戏转化为艺术品&#xff01;&#xff08;也许更多…&#xff09;。 ✓ 整个商店中最可配置的选项。 ✓ 六种先进算法。 ✓ 细节增强算法。 ✓ 完整的源代码&#xff08;脚本和着色器&#xff09;。 ✓ 包含在“艺术包”中。 &#x1f…

上拉电阻和下拉电阻在电路中的作用(一)

上拉电阻和下拉电阻在电路中的作用&#xff08;一&#xff09; 1.什么是上下拉电阻2.上下拉电阻的作用&#xff1a;2.1.维持输入引脚处于稳定状态。2.2.配合三极管和MOS进行电平转换电路设计2.3.OC、OD电路&#xff08;Open Collector集电极开路、Open Drain漏电极开路&#xf…