加密算法攻击技术解析
1. 插值攻击
插值攻击是一种针对分组密码的代数攻击方法。当密码组件具有紧凑的代数表达式,并且这些表达式能够组合成复杂度可控的形式时,这种攻击才可行。其核心原理在于,如果构造的多项式次数较低,那么只需少量的密码输入/输出对,就能够求解出多项式中(与密钥相关的)系数。
以SRD(Substitute, Rotate, and Diffuse)操作为例,它以字节为输入和输出,可表示为GF(28)上的多项式。例如,通过拉格朗日插值技术可得到SRD的多项式表达式:
SRD[x] = 63 + 8Fx127 + B5x191 + 01x223 + F4x239
+ 25x247 + F9x251 + 09x253 + 05x254.
不过,SRD在GF(28)中的复杂表达式,再加上混合和置换步骤的影响,使得插值攻击难以应用于超过几轮的Rijndael算法。
插值攻击技术还可以进行扩展,比如使用有理表达式或其他类型的表达式。虽然目前尚未找到SRD的简单有理表达式,但也无法证明不存在可用的表达式。此外,还可以使用近似表达式,但能否通过这种方式导出有用的表达式仍是一个待解决的问题。
2. 相关密钥攻击
2.1 相关密钥攻击概述
相关密钥攻击由E. Biham引入,后来J. Kelsey等人证明了多种密码算法存在相关密钥弱点。在相关密钥攻击中,攻击者向分组密码提交包含输入x或输出y的查询,并为每个查询指定一个需要应用于秘密密钥k的函数G。相关密钥攻击的密钥访问方案(KAS)定义了攻击者
超级会员免费看
订阅专栏 解锁全文

2404

被折叠的 条评论
为什么被折叠?



