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

差分分析是一种选择明文攻击,其基本思想是:通过分析特定明文差分对相对应密文差分影响来获得尽可能大的密钥。它可以用来攻击任何由迭代一个固定的轮函数的结构的密码以及很多分组密码(包括DES),它是由Biham和Shamir于1991年提出的选择明文攻击。


一、选择明文攻击(chosen-plaintext attack, CPA)

通过选择对攻击有利的特定明文及对应的密文,求解密钥或从截获的密文求解相应明文的密码分析方法。

在选择明文攻击时,密码分析者对明文有选择或控制的能力,可选择他认为有利于攻击的任何明文及其对应的密文,是一种比已知明文攻击更强的攻击方式。如果一个密码系统能够抵抗选择明文攻击,那么必然能够抵抗唯密文攻击和已知明文攻击。

选择明文攻击较难实现。一种情形是假设密码分析者临时获得加密机器的访问权,但加密密钥被安全嵌入在设备中,分析者得不到密钥,此时可通过加密大量选择的明文,然后利用产生的密文来推测密钥。

已知: P 1 , C 1 = E k ( P 1 ) , P 2 , C 2 = E k ( P 2 ) , . . . , P i , C i = E k ( P i ) P_1,C_1=E_k(P_1),P_2,C_2=E_k(P_2),...,P_i,C_i=E_k(P_i) P1,C1=Ek(P1),P2,C2=Ek(P2),...,Pi,Ci=Ek(Pi),其中, P 1 , P 2 , . . . , P i P_1,P_2,...,P_i P1,P2,...,Pi可由密码分析者选择。
推导出:密钥K,或从 C i + 1 = E k ( P i + 1 ) C_{i+1}=E_k(P_{i+1}) Ci+1=Ek(Pi+1) 推导出 P i + 1 P_{i+1} Pi+1的算法。

典型的选择明文攻击方法有碰撞攻击和差分攻击等。本篇主要讲解差分攻击的原理,过程以及实例。

二、差分密码分析(differential cryptanalysis)

1.原理

差分分析的目标是获得加密的子密钥。
差分分析最早由Murphy于1990年提出,随后 Biham 和 Shamir 又在一系列研究里对该技术进行了发展,适用于过度使用异或操作的分组密码算法。

所谓差分分析,是指追踪明文对的“差异”的传播。这里的“差异”由我们根据目标进行定义,可以是异或值,也可以是其它。针对DES,使用的就是异或值定义“差异”,或者称之为“距离”,有些地方也称为“特征”(characteristic)。

比如说,选定明文 P 1 P_1 P1,明文之间的“差值”(differential)为 δ \delta δ,于是另一个明文就是 P 1 + δ P_1+\delta P1+δ,明文 P 1 P_1 P1对应的密文为 C 1 C_1 C1,明文 P 1 + δ P_1+\delta P1+δ对应的密文与 C 1 C_1 C1的“距离”是 ε \varepsilon ε
P 1 → C 1 P 1 + δ → C 1 + ε P_1 \rarr C_1 \newline P_1+\delta \rarr C_1+\varepsilon P1C

评论 10
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

网安小蔡不辅

在千山万水人海里相遇是缘分

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值