差分密码分析

article/2025/10/4 0:35:35

差分密码分析是针对SPN结构中的S盒(通过测试可以探测出结构)进行分析的方法,最后目标是破解出异或密钥k.

准备工作

对于一个4位一组的S盒的输入 x x x输出 y y y输入 x ∗ x^* x输出 y ∗ y^* y,
计差分为 x ′ = x ⊕ x ∗ x'=x\oplus x^* x=xx, y ′ = y ⊕ y ∗ y'=y\oplus y^* y=yy.
则4位下 x ′ x' x y ′ y' y各有 2 4 2^4 24种.差分分析就基于 x ⊕ x ∗ x\oplus x^* xx相等的明文对的集合对应的密文对 y ⊕ y ∗ y\oplus y^* yy 2 4 2^4 24下的不均匀分布有关.
定义 Δ ( x ′ ) \Delta (x') Δ(x)为包含所有异或为 x ′ x' x的明文对的集合.y亦然.
在本篇文章种如果没有特殊说明,明文指S盒加密前的比特,密文指加密后的.

主要流程

确定 x ′ x' x
计算该集合下的每一对的 y ′ y' y
定义 N D ( x ′ , y ′ ) N_D(x',y') ND(x,y)为明文异或为x’.密文异或为y’的对数.
计算每一个可能的x’的情况,打表如下
在这里插入图片描述
a’为明文的异或,b’为密文的异或.

注意到,对于SPN的加密规则,下一轮S的输入等于上一轮P盒的输出异或子密钥.
x ⊕ x ∗ = w ⊕ w ∗ x\oplus x^*=w\oplus w^* xx=ww,因为作为同一位置上的输入,密钥被抵消.
在这里插入图片描述
但y’仍然和密钥有关.
定义扩散率为x’=a下y’=b的概率.即
R p ( a ′ , b ′ ) = N D ( a ′ , b ′ ) 2 m R_p(a',b')=\frac{N_D(a',b')}{2^m} Rp(a,b)=2mND(a,b)
和线性分析一样,要找到一个差分链使得下一轮的差分输入异或是上一轮的输出异或置换之后的结果,这样就能得到整个差分链的扩散率.
注意:这要求了明文的差分应该是固定的.这一条链中x’应该是0000 1011 0000 0000.
差分链示例

实现

差分分析和线性分析类似,当输出的异或满足差分链要求时counter+1,然后筛选出最大的.
比如上面的差分链,简单的代码思路如下:

generate_plain_chiper_pairs(T);
if pairs is Correct:
for each possible key:generate v_4_2generate v_4_4generate u_4_2generate u_4_4#v is output,u is input.4_2 means 4th rounds and 2nd part.'''part2'''generate v*_4_2generate v*_4_4generate u*_4_2generate u*_4_4calculate u'_4_2calculate u'_4_4if u'_4_2 is 0110 and u'_4_4 is 0110:counter+1
Select the max

Correct

也就是为了排除噪音的干扰并加强效率,一个可用的明文对应该满足
( u &lt; 1 &gt; 4 ) ′ = ( u &lt; 3 &gt; 4 ) ′ = 0 (u^4_{&lt;1&gt;})&#x27;=(u^4_{&lt;3&gt;})&#x27;=0 (u<1>4)=(u<3>4)=0

y &lt; 1 &gt; = y &lt; 1 &gt; ∗ y &lt; 3 &gt; = y &lt; 3 &gt; ∗ y_{&lt;1&gt;}=y^*_{&lt;1&gt;}\\y_{&lt;3&gt;}=y^*_{&lt;3&gt;} y<1>=y<1>y<3>=y<3>
否则就要丢弃.

T

一般取T=50-100.


http://chatgpt.dhexx.cn/article/hqFXpQY9.shtml

相关文章

SPN线性密码分析【附code】

综述 SPN线性密码分析&#xff1a; 基于S盒子逼近的分析方法&#xff1b;是已知明文的分析方法&#xff0c;需要较多的名密文对&#xff1b;此方法只能分析最后一轮子密钥&#xff0c;缩小了密钥穷举范围&#xff08;当分析出最后一轮密钥时&#xff0c;由于密钥生成算法固定…

序列密码分析——BM算法

一、 算法原理 1. 概念引入 生成与特征多项式 2. BM算法流程 二、 编程思路 1. 编程思路&#xff1a; BM算法整体流程较为清晰&#xff0c;其中包含几个核心判断&#xff1a;fnx 能否生成序列a的前n1位&#xff0c;各l值是否全相等&#xff0c;以及当l值出现不等情况下m-lm和…

第五讲 密码分析学

密码学学科分支 两个分支形成既对立又统一的矛盾体 1 安全的定义 安全的概念&#xff1a; “如果把一封信锁在保险柜中&#xff0c;把保险柜藏起来&#xff0c;然后告诉你 去看这封信&#xff0c;这并不是安全&#xff0c;而是隐藏&#xff1b; 相反&#xff0c;如果把一封信…

代换密码的密码分析—详细分析过程

代换密码的密码分析 使用单表代换密码&#xff0c;对于给出的密文进行分析并得到结果&#xff0c;了解加密解密过程 密文信息如下&#xff1a;AHNFCROACOAHNISEFLCIASFVCNWOSEAHNWSRLDWCAHCEIRNTONDATRCFFOSEOANNLTEDTLUMCEUMFRSMAHNNUITETDTTEDJTPTEAHNUOWCNLDOCAOATRCFFBTAS…

密码分析之单表代换原理详解与算法实现

【密码分析&#xff08;单表代换&#xff09;】 1. Equipment &#xff08;1&#xff09; operating system version &#xff1a;WIN 10 &#xff08;2&#xff09; CPU instruction set: x 64 &#xff08;3&#xff09; software&#xff1a;MATLAB R2020a 2.process P…

搞懂差分密码分析,看这篇文章就够了!!

搞懂差分密码分析&#xff0c;这篇文章就够了&#xff01;&#xff01; 关注我&#xff01;我会不定期发一些学习信安的心得体会 文章目录 **搞懂差分密码分析&#xff0c;这篇文章就够了&#xff01;&#xff01;**一、概述二、流密码的线性特性三、差分分析四、toy cipher-差…

线性密码分析(简单笔记)

线性密码分析(简单笔记) 关于差分密码分析的可以看差分密码分析读书报告。欢迎大家讨论留言。 1、发现 在1993年的欧洲密码年会上&#xff0c;日本学者Matsui提出了对DES算法的一种新的攻击方法&#xff0c;即线性密码分析.同年的国际密码年会上&#xff0c;Matsui发现了DES…

密码分析

破译密码体制的一般思路 经典密码分析 古典密码分析可以理解为从密文y中得到明文x&#xff0c;或者是密钥k。密码分析可以分为两类&#xff1a;一类是发现加密方法内部结构的分析攻击&#xff0c;一类是将加密算法看作是黑盒&#xff0c;试图测试所有可能密钥进行破解蛮力攻击…

密码分析(一):差分密码分析

文章目录 一、选择明文攻击&#xff08;chosen-plaintext attack, CPA&#xff09;二、差分密码分析&#xff08;differential cryptanalysis&#xff09;1.原理2.过程2.1 S盒差分分布表2.2 S盒的差分分析 总结参考文献 差分分析是一种选择明文攻击&#xff0c;其基本思想是&am…

密码分析(二):线性密码分析

​ 线性密码分析 一、已知明文攻击&#xff08;known-plaintext attack&#xff09;二、线性密码分析基本原理三、实例3.1 S盒线性逼近表3.2 例题分析3.2.1 分析算法的过程3.2.2 攻击过程加密攻击分析 具体过程 总结参考文献 在1993年欧洲密码年会上&#xff0c;日本学者Matsu…

Bluehost注册流程与问题

Bluehost注册流程与问题 第一步 进入Bluehost官方网站&#xff0c;点击下图中粉色的 Sign Up Now 进行注册 第二步 进入下一个界面后&#xff0c;你可以免费获得一个新的域名&#xff0c;BlueHost 对第一年是免费赠送一个域名&#xff0c;所以输入你想要的域名&#xff0c;然后…

BlueHost主机从零开始使用笔记,我踩过的坑你就不要踩了.

一:购买时,使用官方优惠码BH可以优惠30% 二:登陆后:点击可以显示你购买的主机,点击列表中的域名即可进入管理界面! 三:特别提醒!面板中的部分功能"比如在线文件 管理上传文件",只有使用chrome浏览器才可以,使用360浏览器的时候会出现上传不了的情况. 这里就是坑1 …

hosts文件 (屏蔽网站)

hosts文件 hosts文件是什么 Hosts是一个没有扩展名的系统文件&#xff0c;可以用记事本等工具打开。它是将一些常用的网址域名与其对应的IP地址建立一个关联“数据库”&#xff0c;当用户在浏览器中输入一个需要登录的网址时&#xff0c;系统会首先自动从Hosts文件中寻找对应…

2018年最新bluehost主机(中文站)购买教程,送30%优惠码!

Bluehost是一家老牌的美国主机商&#xff0c;行业经验达18年&#xff0c;以稳定性强&#xff0c;速度快著称&#xff0c;是国内使用较多主机之一&#xff0c;在个人站长中的口碑、使用流行度都很高。作为电子商务首选主机的BlueHost主机也深受国内外贸网站、仿牌产品等公司的喜…

bluehost虚拟主机有什么用?适合做什么网站呢?

bluehost作为比较知名的美国主机商&#xff0c;在国内也是非常的受欢迎&#xff0c;并且为了更好的服务国内用户&#xff0c;更是推出了中文站以及中文客服&#xff0c;为 国内用户提供更加本土化以及更加完善的服务&#xff0c;而且而且其机房专门对国内线路进行了优化&#x…

siteground主机和Bluehost主机哪个好,看完这篇你就有自己确定的答案

Siteground主机和Bluehost主机&#xff0c;哪个更好&#xff1f;哪个更适合外贸建站&#xff1f;读完这篇&#xff0c;你就有答案&#xff01; 说实话......我花了太多的时间来做决定。在决定买什么相机、加入什么健身房、甚至选择什么衣服时&#xff0c;都是如此。我花了一下…

linux虚拟主机建站程序,bluehost中国Linux虚拟主机建站过程

无论是我们初次接触海外主机服务商的&#xff0c;还是已经有过使用国内主机商建站经验的&#xff0c;可能初次接触BlueHost(无论是英文或者是中文官方网站产品)可能在应用上稍微有一些困惑。 因为大部分海外主机都使用的cPanel面板(Linux系统主机)&#xff0c;普通的用户肯定是…

蓝色主机 bluehost主机 启用CloudFlare的cdn加速服务

启用CloudFlare的cdn加速服务 1.到CDN官网&#xff08;www.cloudflare.com&#xff09;&#xff0c;注册账号并登陆进入。 2.点击页面右上角 Add Site,输入您的域名。 3.选择CDN套餐&#xff0c;一般用户选择FREE版本的 4.修改DNS记录&#xff0c;选择之后会自动扫描域名的DNS…

Siteground和Bluehost对比,我花了7天时间研究出了结果

Siteground主机和Bluehost主机&#xff0c;哪个更好&#xff1f;哪个更适合外贸建站&#xff1f;读完这篇&#xff0c;你就有答案&#xff01; 说实话......我花了太多的时间来做决定。在决定买什么相机、加入什么健身房、甚至选择什么衣服时&#xff0c;都是如此。我花了一下…

美国主机BlueHost vs HostEase

网站备案对于大部分个人站长而言&#xff0c;花费成本高、程序复杂&#xff0c;因此在挑选主机时&#xff0c;常选择免备案IDC服务商&#xff0c;如美国、香港主机&#xff0c;且前几日国内某免备案机房因个别网站涉及非法言论而配合相关部门采取停网整顿等&#xff0c;为此站长…