特殊类型的不动点与完整GOST密码分析
1. 引言
在密码分析领域,对于完整GOST算法的研究一直是热点。本文将介绍一种针对完整GOST算法的改进攻击方法,其核心在于利用特殊类型的不动点来降低攻击的复杂度。
2. 基本原理
2.1 密钥候选获取
已知Fk6和Fk7是双射且其输出已知,通过求Fk6和Fk7的逆,可得到输入,进而得到k6和k7。通过求解FK 1, 8 = (x, x),可得到2192个密钥候选。随后,通过大约2192次加密搜索所有候选,有望恢复正确密钥。不过,如果不存在FK[1, 8]具有相等两半的不动点,那么UE很可能为空。另一方面,预期的不动点数量为1,任意值是S的不动点的概率为2−32。因此,满足∃x使得FK 1, 8 = (x, x)的密钥数量大约为2224。
2.2 改进攻击思路
我们改进了Kara对完整GOST的攻击,利用额外的不动点,并采用了Dinur等人提出的攻击思路。Dinur等人表明,对于给定的8轮的两个输入/输出对,使用236的内存和2128次GOST加密,密钥空间可缩小到2128。通过使用完整GOST的其他一些明文/密文对搜索这2128个候选,可恢复正确密钥。由于找到8轮GOST的两个正确输入/输出对的概率为2−64,所以总复杂度为2192。一个输入/输出对仅为8轮GOST的两对产生一个猜测,因此他们使用整个码本来生成一个正确的对。
2.3 定理1
假定存在(x, x)和(y, y
超级会员免费看
订阅专栏 解锁全文
2693

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



