加速XTR算法:提升计算效率的方法
1. 算法2.5概述
算法2.5主要用于计算特定的数值,其步骤如下:
1. 确定 $r$,使得 $2r < q < 2r+1$。
2. 计算 $d = b/2r+1 \mod q$ 和 $t = a/d \mod q$。
3. 计算 $S_{2r+1k+t}$:
- 利用事实2a和2e,基于 $S_k$ 计算 $S_{2k+1}$。
- 若 $t$ 为奇数,令 $t′ = t$;否则,令 $t′ = t - 1$。
- 令 $t′ = 2v + 1$。
- 设 $v = \sum_{i=0}^{r - 1} v_i2^i$,其中 $v_i \in {0, 1}$。
- 对 $S_{2k+1}$、$c_1$ 以及 $v_{r - 1}, v_{r - 2}, \cdots, v_0$ 应用算法2.4,得到 $S_{2r+1k+t′}$。
- 若 $t$ 为奇数,则 $S_{2r+1k+t} = S_{2r+1k+t′}$;否则,利用事实2c基于 $S_{2r+1k+t′}$ 计算 $S_{2r+1k+t} = S_{2r+1k+t′+1}$。
4. 令 $\tilde{c} 1 = c {2r+1k+t}$。
5. 计算 $\tilde{S} 1 = (\tilde{c}_0, \tilde{c}_1, \tilde{c}_2) = (3, \tilde{c}_1, \tilde{c}_1^2 - 2\tilde{c}_1^p)$。
6. 对 $\tilde{S}_1$、$\tilde{c}_1$ 以及包含 $d$ 的二进制
超级会员免费看
订阅专栏 解锁全文
1038

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



