对 Grain v1 差分密码分析的深入洞察
1. 引言
Grain v1 流密码是在 2005 年由 Hell、Johansson 和 Meier 设计的,属于 eStream 组合的硬件配置文件。它是一种同步的面向比特的密码,在增加额外硬件的情况下可以实现更高的吞吐量,并且其物理结构简单优雅,硬件复杂度较低。在最初设计的密码遭受两次攻击后,推出了修改版本 Grain v1,之后又有了使用 128 位密钥的 Grain - 128 以及用于消息认证和加密双重目的的 Grain - 128a。
Cube 攻击最早由 Dinur 和 Shamir 提出,并被广泛用于攻击 Grain 家族的约减轮数变体。不过,由于 Grain v1 组件函数的相对复杂性,针对它的进展较少。Knellwolf 等人的工作是目前关于 Grain v1 最好的已发表成果,其攻击可描述为单维立方体上的动态 Cube 攻击,实现了以下目标:
- 使用 227 个选定的 IV,为在密钥调度过程中采用 97 轮(而非 160 轮)的 Grain v1 变体检索 5 个秘密密钥位的表达式。
- 使用 235 个选定的 IV,为在密钥调度过程中采用 104 轮的变体检索 1 个秘密密钥位的表达式。
这些秘密密钥表达式的值是通过观察选定 IV 生成的密钥流位中的某些非随机性得到的,但这些偏差只是通过实验观察到的,没有提供理论依据,这也成为该领域的一个开放问题。本文将尝试为这些问题提供答案。
2. Grain v1 描述
Grain v1 由一个 80 位的线性反馈移位寄存器(LFSR)和一个 80 位的非线性反馈移位寄存器(NFSR)组成。LFSR 和 N
超级会员免费看
订阅专栏 解锁全文
1万+

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



