(10)插值攻击由Jakobsen和Knudsen提出,如果一个密码算法对于固定的密钥是低次多项式函数,或者这个多项式的项数较少,可以估算出来,则通过插值的方法可以得到其代数表达式,从而有可能恢复出密钥;孙兵等在FSE 2009上改进了插值攻击的方法,在改进的插值攻击中,多项式函数的某些项的系数可以精确计算出来,从而利用有限域上的Fourier变换也可以求出相应的密钥。另外,如果密文可以写作两个多项式的商,且这两个多项式的项数可以估计出来,那么同样可以恢复出相应的密钥。
(11)非满射攻击首先由Rilmen,Preneel和Win给出,当Feisel结构密码的轮函数不是满射时,就可以利用其输出分布的不均匀性对算法实施攻击。由于SPN结构密码采用的函数均是单射,因此非满射攻击对SPN结构密码一般无效。针对n-Cell结构算法,李瑞林等提出了一种如何在各个组件都是满射的密码算法中构造非满射区分器的方法。
(12)代数攻击由Courtoi和Pieprzyk提出,该攻击方法主要通过求解一个多变元的代数方程组来恢复密钥。尽管部分密码学者认为这可能是对。AES算法最具威胁的攻击,但这一方法目前仍受到很多密码学者的质疑。该攻击对序列密码比较有效,由此推动了密码学界对布尔函数的代数免疫度的研究。
(13)滑动攻击由Biryukov和Wagnei提出,该方法对分析轮函数比较弱且密钥扩展方案呈现某种周期性的迭代分组密码时较为有效,若将算法的轮变换向前或向后平移若干轮后,所得的算法与另一个算法几乎相同,则对该密码可实施滑动攻击。这个攻击方法的最大特点就是攻击方法与密码加密轮数无关。
(14)相关密钥攻击由Biham和Knudsen研究LOKL法时分别独立提出,该方法与其他密码分析方法不同之处在于它更多地考虑了密钥扩展算法的性质,攻击的假设更加苛刻,该思想提出后,人们对一系列分组密码的密钥扩展算法进行了研究,并将其推广至相关密钥差分攻击。一般而言,若密钥扩展算法的密码学性质强,如不同轮密钥之间不具有简单的递归性质、线性逼近,甚至相等的情况,算法可以抵抗相关密钥攻击。
(15)相关密码攻击是伍宏军提出的攻击方法,如果一个密码算法有不同轮数的输出,且采用相同的密钥扩展算法,则低轮密码的输出可以看作高轮密码的中间状态,据此攻击者可以获得密钥信息。
……
展开