《Dragon流密码的设计、分析与实现问题解读》
1. 布尔函数与S盒特性
在密码学领域,布尔函数的特性对于流密码的设计至关重要。Dragon流密码所涉及的布尔函数具有一些显著特点。其要求具备低自相关性、不同的等价类,并且所有异或对需满足特定条件,如非线性度优于随机情况(最小值为102)、几乎平衡(不平衡度不超过16)、具有不同的等价类以及与组件相同的最优次数。
采用标准符号 (n, t, d, x, y) 来描述布尔函数的性质。其中,n 表示变量的数量,t 是弹性阶数(t = 0 表示平衡函数),d 是代数次数,x 是非线性度,y 是自相关函数中的最大幅值。S1 的所有组件函数为 (8, 1, 6, 116, y),其中 32 ≤ y ≤ 48,这被认为是足够低的自相关性。S1 函数实现了弹性函数可能达到的最高非线性度。S2 的所有组件函数为 (8, 0, 7, 116, 24),这里实现的自相关性 24 是目前已知该规模平衡函数中的最低值。
S 盒是通过启发式技术创建的。具体操作步骤如下:
1. 采用现有方法生成单个布尔函数。
2. 将这些函数与现有的 S 盒函数进行比较。
3. 检查异或对是否满足上述列出的要求。
4. 如果满足要求,将可接受的候选函数添加到 S 盒中;否则,丢弃该函数并重新创建和测试。
Dragon 的 G 和 H 函数构造简单,其输出位的布尔函数非线性度可以从 S1 和 S2 精确计算得出。Dragon 虚拟 S 盒 G 和 H 的非线性度为 116,高于 AES 的 SBOX/MIXCOL 操作和 Mugi 等使用的函数(非线性度为 112)。此外,Dragon S 盒还避免了基于有限域操作的
超级会员免费看
订阅专栏 解锁全文
1万+

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



