序列、DFT与抗快速代数攻击分析
1. 算法步骤
在处理矩阵相关问题时,有如下算法步骤:
1. 对矩阵 $\begin{bmatrix}D_d \ S_e\end{bmatrix}$ 应用高斯消元法。
2. 若该矩阵的秩等于 $t + s$(其中 $|D_d| = t$ 且 $|S_e| = s$),则设置 $g = 0$ 和 $h = 0$,然后进入步骤 6。
3. 否则,找到 $c_i$($i = 1, \ldots, t$),使得 $\sum_{i = 1}^{t} c_i f_{g_i} + \sum_{i = 1}^{s} c_{t + i} h_i = 0$。
4. 设置 $g = \sum_{i = 1}^{t} c_i g_i$ 和 $h = \sum_{i = 1}^{s} c_{t + i} h_i$。
5. 返回 $g$ 和 $h$。
该算法也可应用于布尔函数 $f$ 的表示。不过,使用多项式基来建立 $S_m$ 比使用布尔函数基更高效,布尔函数基为 $1, x_1, \ldots, x_n, x_1x_2, \ldots, x_c, \ldots, x_{i_1}x_{i_2} \ldots x_{i_m}$(对于所有 $c \in F_2^n$ 且 $w(c) \leq m$)。这是因为步骤 3 对于每个 $k \in \Gamma(n)$ 且 $w(k) \leq m$,仅需对 $S_m$ 的 $n^k - 1$ 行进行移位操作。
此外,当步骤 5 替换为步骤 5’时,该算法可用于寻找 $f$ 的零化子 $g$(即 $fg = 0$):若 $|D| = |S_d|$,则返回 $g = 0$,表示不存在次
超级会员免费看
订阅专栏 解锁全文
40

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



