布尔函数高阶非线性研究
1. 布尔函数高阶非线性的基础理论
1.1 布尔函数导数与非线性下界
布尔函数的高阶非线性在密码学等领域有着重要的应用。首先,我们定义布尔函数 (f) 在方向 (a \in F_2^n) 上的导数 (D_af(x) = f(x) + f(x + a)),这里的加法是模 2 运算,所以 (D_af) 也是布尔函数。多次应用这种离散求导,就得到高阶导数 (D_{a_1} \cdots D_{a_k}f(x) = \sum_{u \in F_2^k} f(x + \sum_{i = 1}^k u_ia_i))。
关于布尔函数 (f) 的 (r) 阶非线性,有以下重要的下界结论:
- 若已知 (f) 的至少一个非零方向导数的 ((r - 1)) 阶非线性下界,那么 (f) 的 (r) 阶非线性有简单的紧下界:(nl_r(f) \geq \frac{1}{2} \max_{a \in F_2^n} nl_{r - 1}(D_af))。多次应用此式可得 (nl_r(f) \geq \frac{1}{2^i} \max_{a_1, \cdots, a_i \in F_2^n} nl_{r - i}(D_{a_1} \cdots D_{a_i}f)),但这个下界无法达到 (2^{n - 1}),相对较弱。
- 当已知 (f) 的所有非零方向导数的 ((r - 1)) 阶非线性下界时,有更强的结论:设 (f) 是 (n) 变量函数,(r) 是小于 (n) 的正整数,则 (nl_r(f) \geq 2^{n - 1} - \frac{1}{2} \sqrt{2^{2n} - 2 \sum_{a \in F_2^n} nl_{r - 1}(D_af)}),此界也是紧的。
1.2 推论与具体函数应用
基于上述结论,还有如下推论:设 (f) 是 (n) 变量函数,(r) 是小于 (n) 的正整数,若对于所有非零 (a \in F_2^n) 有 (nl_{r - 1}(D_af) \geq 2^{n - 1} - K 2^k),则 (nl_r(f) \geq 2^{n - 1} - \frac{1}{2}((2^n - 1)K2^{k + 1} + 2^n) \approx 2^{n - 1} - \sqrt{K} 2^{(n + k - 1)/2})。
这些下界在一些具体函数中有着重要应用,例如在高级加密标准(AES)中用作 S 盒的乘法逆函数 (F_{inv}(x) = x^{2^n - 2})。其相关布尔函数 (f_{\lambda}(x) = tr(\lambda x^{2^n - 2}))((\lambda \in F_{2^n}^*))的一阶非线性较好,当 (n) 为偶数时,(f_{inv}(x) = tr(F_{inv}(x))) 的一阶非线性下界为 (2^{n - 1} - 2^{n/2})。
对于 (F_{inv}) 的二阶非线性,有 (nl_2(F_{inv}) \geq 2^{n - 1} - \frac{1}{2}((2^n - 1)2^{n/2 + 2} + 3 \cdot 2^n) \approx 2^{n - 1} - 2^{3n/4})。以下是不同 (n) 值下该下界与实际值的对比表格:
| (n) | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 |
| — | — | — | — | — | — | — | — | — | — |
| 下界 | 0 | 2 | 9 | 25 | 63 | 147 | 329 | 718 | 1534 |
| 实际值 | 2 | 6 | 14 | 36 | 82 | 182 | 392 | 842 | 1760 |
| 比例 | 0 | 33 | 52 | 69 | 76 | 80 | 84 | 85 | 87 |
当使用快速傅里叶变换(FFT)算法精确计算逆函数导数的非线性时,命题 3 给出的结果比命题 4 更好,具体数值如下表:
| (n) | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 |
| — | — | — | — | — | — | — | — | — | — |
| 命题 3 下界 | 2 | 5 | 12 | 30 | 69 | 156 | 340 | 731 | 1551 |
对于 (F_{inv}) 的三阶非线性,有 (nl_3(F_{inv}) \geq 2^{n - 1} - \frac{1}{2}((2^n - 1) \sqrt{2^{3n/2 + 3} + 3 \cdot 2^{n + 1} - 2^{n/2 + 3} + 16}) \approx 2^{n - 1} - 2^{7n/8 - 1/4})。不同 (n) 值下该下界如下表:
| (n) | 7 | 8 | 9 | 10 | 11 | 12 | 13 |
| — | — | — | — | — | — | — | — |
| 命题 5 下界 | 5 | 20 | 58 | 149 | 358 | 827 | 1859 |
通过不断迭代上述过程,可以得到 (F_{inv}) 的 (r) 阶非线性下界 (nl_r(F_{inv}) \geq 2^{n - 1} - l_r),其中 (l_1 = 2^{n/2}),(l_r = \sqrt{(2^n - 1)(l_{r - 1} + 1) + 2^{n - 2}})。(l_r) 近似为 (2^{k_r}),(k_r = (1 - 2^{-r})n),所以 (nl_r(F_{inv})) 近似下界为 (2^{n - 1} - 2^{(1 - 2^{-r})n}),渐近等价于 (2^{n - 1})。
下面是计算 (F_{inv}) 高阶非线性下界的流程:
graph TD;
A[输入 n, r] --> B[初始化 l_1 = 2^(n/2)];
B --> C{是否 r > 1};
C -- 是 --> D[计算 l_r = sqrt((2^n - 1)(l_{r - 1} + 1) + 2^(n - 2))];
D --> E[计算 nl_r(F_{inv}) >= 2^(n - 1) - l_r];
C -- 否 --> E;
E --> F[输出 nl_r(F_{inv}) 下界];
2. S 盒高阶非线性的推广
2.1 高阶非线性的扩展定义
对于 S 盒 (F: F_2^n \to F_2^m),有两种自然的高阶非线性扩展定义:
- (nl_{s, r}(F) = \min{nl_r(f \circ F); f \in B_m, d \circ f \leq s, f \neq cst} = \min{d_H(g, f \circ F); f \in B_m, d \circ f \leq s, f \neq cst, g \in B_n, d \circ g \leq r})
- (NL_t(F) = \min{w_H(h(x, F(x))); h \in B_{n + m}, d \circ h \leq t, h \neq cst})
其中 (w_H) 表示汉明重量,(d_H) 表示汉明距离,(B_n) 表示 (n) 变量布尔函数集合。当 (s \cdot d \circ (F))、(r) 和 (t \cdot d \circ (F)) 严格小于 (n) 时,(f \circ F)、(g) 和 (h(x, F)) 的重量为偶数,(nl_{s, r}(F)) 和 (NL_t(F)) 也为偶数。
2.2 相关性质与攻击应用
- 已有研究表明,某些 DES 子 S 盒的 (NL_2) 和 (nl_{2, 2}) 非线性为零,基于此可进行“高阶非线性”攻击,相比 Matsui 的线性攻击可减少 26% 的数据需求,但实际改进效果不太显著。不过,一些未发表的研究显示 (NL_t) 和 (nl_{s, r}) 可能与更强大的攻击相关。
- 有不等式 (NL_{\max(s, r)}(F) \leq nl_{s, r}(F)),当 (s > 1) 或 (r > 1) 时,该不等式可能严格成立。例如 AES 的 S 盒在 (s = 1),(r = 2) 时就是如此。目前尚不清楚 (h) 变量分离时是否能实现更好的攻击,所以需要同时研究这两个概念。
- 对于 (nl_{s, r}(F)),有上界结论:对于正整数 (m)、(n),(s \leq m),(r \leq n) 和 ((n, m)) - 函数 (F),有 (NL_s(F) \leq 2^{n - s}) 和 (nl_{s, r}(F) \leq 2^{n - s})。若 (F) 不平衡,这些不等式严格成立。
2.3 逆 S 盒的高阶非线性
对于逆 S 盒 (F_{inv}(x) = x^{2^n - 2}),有以下结论:
- (NL_1(F_{inv}) = nl(f_{inv})) 在 (n) 为偶数时等于 (2^{n - 1} - 2^{n/2}),(n) 为奇数时接近该值。
- 当 (t \geq 2) 时,(NL_t(F_{inv}) = 0),因为存在双线性函数 (h(x, y) = tr(axy))((a) 是零迹非零元素)使得 (w_H(h(x, F_{inv}(x))) = 0)。
对于 (nl_{s, r}(F_{inv})):
- 若 (r + s \geq n),则 (nl_{s, r}(F_{inv}) = 0)。
- 若 (r + s < n),则 (nl_{s, r}(F_{inv}) > 0)。
- 特别地,当 (r + s = n - 1) 时,(nl_{s, r}(F_{inv}) = 2)。
下面是判断 (nl_{s, r}(F_{inv})) 值的流程:
graph TD;
A[输入 n, s, r] --> B{r + s >= n};
B -- 是 --> C[输出 nl_{s, r}(F_{inv}) = 0];
B -- 否 --> D{r + s = n - 1};
D -- 是 --> E[输出 nl_{s, r}(F_{inv}) = 2];
D -- 否 --> F[输出 nl_{s, r}(F_{inv}) > 0];
综上所述,布尔函数的高阶非线性及其在 S 盒中的推广在密码学中有着重要的理论和实际意义,通过对这些概念和性质的研究,可以更好地评估密码系统的安全性。
3. 高阶非线性在密码分析中的意义与展望
3.1 高阶非线性与密码系统安全性
高阶非线性在密码系统的安全性评估中扮演着至关重要的角色。从前面的讨论可知,布尔函数的高阶非线性值越高,意味着该函数越难以被线性或低阶非线性函数逼近。在密码系统中,这就增加了攻击者通过线性近似或低阶非线性近似来破解密码的难度。
例如,在 AES 中使用的逆 S 盒 (F_{inv}),其高阶非线性的研究有助于我们了解 AES 抵抗各种攻击的能力。当 (nl_{s, r}(F_{inv})) 较大时,说明攻击者很难找到低阶的布尔函数 (f) 和 (g),使得 (f \circ F_{inv}) 与 (g) 接近,从而难以利用这种近似关系进行攻击。
3.2 未来研究方向
- 更精确的界估计 :目前虽然已经得到了一些布尔函数高阶非线性的下界和上界,但这些界在某些情况下还不够精确。未来可以进一步研究如何得到更精确的界,特别是对于一些特殊的布尔函数和 S 盒,如 AES 中的逆 S 盒。
- 攻击方法的研究 :虽然已经有一些基于高阶非线性的攻击方法,但效果还不够显著。未来可以深入研究如何利用 (NL_t) 和 (nl_{s, r}) 等概念设计更强大的攻击方法,特别是研究 (h) 变量分离和不分离时攻击效果的差异。
- 新函数的构造 :可以尝试构造具有更高阶非线性的布尔函数和 S 盒,以提高密码系统的安全性。例如,通过对现有函数进行变形或组合,寻找新的函数形式,使其高阶非线性满足更优的性质。
3.3 应用场景拓展
除了密码学领域,布尔函数的高阶非线性还可能在其他领域有应用。例如,在通信领域,高阶非线性的布尔函数可以用于设计更抗干扰的编码方案;在机器学习领域,可用于特征提取和数据分类等任务,提高模型的鲁棒性。
4. 总结
4.1 核心要点回顾
- 布尔函数的高阶非线性可以通过其导数的非线性来进行递归下界估计,如 (nl_r(f) \geq \frac{1}{2} \max_{a \in F_2^n} nl_{r - 1}(D_af)) 和 (nl_r(f) \geq 2^{n - 1} - \frac{1}{2} \sqrt{2^{2n} - 2 \sum_{a \in F_2^n} nl_{r - 1}(D_af)}) 等。
- S 盒的高阶非线性有两种扩展定义 (nl_{s, r}(F)) 和 (NL_t(F)),它们在密码分析中有着重要的应用,如用于设计“高阶非线性”攻击。
- 逆 S 盒 (F_{inv}) 的高阶非线性具有一些特殊的性质,如 (NL_1(F_{inv})) 的值与 (n) 的奇偶性有关,(nl_{s, r}(F_{inv})) 的值与 (r + s) 和 (n) 的关系有关。
4.2 重要性强调
布尔函数的高阶非线性及其在 S 盒中的推广是密码学中一个重要的研究方向。通过对这些概念的深入研究,可以更好地理解密码系统的安全性,设计更安全的密码算法,同时也为其他领域的应用提供了理论基础。
4.3 展望未来
随着密码学和其他相关领域的不断发展,布尔函数高阶非线性的研究也将不断深入。未来有望在界估计、攻击方法、新函数构造和应用场景拓展等方面取得更多的成果,为信息安全和其他领域的发展做出更大的贡献。
以下是一个总结性的表格,对比不同函数和参数下的高阶非线性情况:
| 函数/参数 | 非线性指标 | 具体情况 |
| — | — | — |
| (F_{inv}) | (nl_2(F_{inv})) | 下界约为 (2^{n - 1} - 2^{3n/4}),与实际值对比见前文表格 |
| (F_{inv}) | (nl_3(F_{inv})) | 下界约为 (2^{n - 1} - 2^{7n/8 - 1/4}) |
| (F_{inv}) | (nl_{s, r}(F_{inv})) | (r + s \geq n) 时为 0;(r + s < n) 时大于 0;(r + s = n - 1) 时为 2 |
| 一般 S 盒 (F) | (NL_s(F)) | 上界为 (2^{n - s}),(F) 不平衡时严格小于该值 |
| 一般 S 盒 (F) | (nl_{s, r}(F)) | 上界为 (2^{n - s}),(F) 不平衡时严格小于该值 |
下面是一个整体的研究流程 mermaid 流程图:
graph LR;
A[布尔函数高阶非线性研究] --> B[导数与下界计算];
B --> C[具体函数应用(如 F_{inv})];
C --> D[S 盒高阶非线性扩展];
D --> E[攻击方法研究];
D --> F[界估计优化];
D --> G[新函数构造];
E --> H[密码系统安全性评估];
F --> H;
G --> H;
H --> I[应用场景拓展];
通过以上的研究和分析,我们对布尔函数的高阶非线性有了更深入的理解,也为未来的研究和应用提供了方向。在实际应用中,可以根据具体的需求和场景,选择合适的布尔函数和 S 盒,以确保系统的安全性和性能。同时,不断探索新的研究方法和技术,推动该领域的发展。
布尔函数高阶非线性研究及应用
超级会员免费看
45

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



