MITM variant No.OnE (partial matching)

MITM variant No.OnE (partial matching)

在进行经典 MITM 时,大多数情况不能在中间匹配到等于分组长度的状态,即 n=sn=s 往往不能满足。

所以更多情况下,往往只对分组长的部分比特进行匹配,也即部分匹配。

这是一种匹配的技巧,在中间相遇攻击中都会用到,如经典 MITM 的 MITM stage 中,步骤 2. 的得到的 U and VU\ and\ V 的长度往往比分组长度小,但这样部分匹配也引发了一定的问题:

见经典 MITM NOTE 1. 匹配到的概率会变小,如果状态长度为 s (s<n)s\ (s<n) 那么匹配到的概率就是 2s2^{-s} ,留下的密钥数量就是2K1+K2s2^{|K_1|+|K_2|-s} ,在后面测试阶段就需要更多的明密文对来筛选候选密钥集。当然也可以利用并行搜索的办法,减少留下的候选密钥数量,并行 NN 个明密文对来进行 MITM ,留下的密钥数量就是2K1+K2Ns2^{|K_1|+|K_2|-N*s} ,MITM 阶段和测试阶段的操作没有实质性的变换,但复杂度需要重新考虑:

复杂度分析:

时间复杂度:并行 N 个明密文对,所以时间复杂度变为:

T=max(2K1,2K2)NT = max(2^{K_1},2^{K_2})*N

空间复杂度:同样的,并行 N 个明密文对,所以空间复杂度变为:

M=min(2K1,2K2)NM = min(2^{K_1},2^{K_2})*N

数据复杂度:MITM 阶段和测试阶段都使用了多个明密文对,取较大的作为数据复杂度量级:

D=max(K1+K2sNn,N)D = max(\frac{|K_1|+|K_2|-s*N}{n},N)
全部评论

相关推荐

06-19 14:58
门头沟学院 Java
点赞 评论 收藏
分享
05-30 18:54
武汉商学院 Java
湫湫湫不会java:先投着吧,大概率找不到实习,没实习的时候再加个项目,然后把个人评价和荣誉奖项删了,赶紧成为八股战神吧,没实习没学历,秋招机会估计不多,把握机会。或者说秋招时间去冲实习,春招冲offer,但是压力会比较大
点赞 评论 收藏
分享
06-23 18:25
沈阳大学 Java
HR已读不回,是我说话方式不对吗?
大白之主:你是串子吗? hr: 我们不招人了,把岗位挂着boss只是因为我闲得慌
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务