20、线性与差分密码分析技术详解

线性与差分密码分析技术详解

多重线性逼近

要增强线性密码分析的威力,有两种明确的方法:一是收集更多的明文 - 密文对;二是对相同的明文 - 密文对使用更多的线性表达式。多重线性逼近技术聚焦于第二种方法。

该概念可与松井算法 1 或算法 2 结合使用。其核心思想是,在每一步尝试使用多个线性逼近,而非一味增加明文 - 密文对的数量。这样做能降低线性表达式的方差,使结果更准确,或者在保证相同精度的情况下,减少所需的明文 - 密文对数量。

在常规的线性密码分析中,我们关注特定形式的方程。接着收集大量明文 - 密文对,像之前那样对密钥进行暴力破解,即针对每个可能的密钥,计算方程左侧的值。

当使用多重线性逼近时,我们可能首先想到用全新的线性逼近对密码进行同样的处理。但更好的做法是,尝试获取与其他逼近右侧相同的线性逼近,也就是精确相交相同的密钥位。若两个线性表达式受完全相同的密钥位影响,那么这两个线性逼近就能更好地匹配并“组合”。

在组合两个线性逼近时,我们使用加权和将从明文 - 密文对中获得的计数相加。若两个线性表达式的右侧不同,可能会导致整体偏差反转,从而使它们无法正确对齐。权重是表达式的偏差与所有被测量表达式的偏差之和的比值。

多重线性逼近在一定程度上很有意义。因为我们的大部分工作是遍历每个密钥和每对明文 - 密文对,而实际计算线性表达式值的代码只有一行,且并非计算量最大的部分。因此,很容易在此处添加另一个计算,而不会使算法的运行时间接近翻倍。总体而言,多重线性表达式虽不能大幅节省时间,但能提高相同数量明文 - 密文对的使用效果,提高成功率并降低误报率。不过,使用这种方法的主要困难在于,要想出几个涉及相同密钥位的良好线性表达式。

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符  | 博主筛选后可见
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值