多项式基算术:乘法、约简、幂运算、求逆与除法
在多项式基算术领域,乘法、约简、幂运算、求逆和除法是核心的运算操作。下面将详细介绍这些运算的相关算法和实现方法。
1. 乘法与平方运算
在多项式基算术中,元素 $a = (a_{n - 1}a_{n - 1} \cdots a_1a_0)$ 的模平方计算如下:
[
a(\alpha)^2 = \left(\sum_{i = 0}^{n - 1} a_i\alpha^i\right)^2 \bmod r(\alpha) = \left(\sum_{i = 0}^{n - 1} a_i\alpha^{2i}\right) \bmod r(\alpha)
]
这里的“乘法”部分实际上没有太多计算,约简部分将在后续讨论。
1.1 Montgomery 乘法与平方
整数 Montgomery 乘法算法用于计算 $z = xyR^{-1} \bmod m$,其中 $m^{-1}$ 是 $m$ 关于 $R$ 的乘法逆元,$-m^{-1}$ 是其加法逆元,$R^{-1}$ 是 $R$ 关于 $m$ 的乘法逆元。算法步骤如下:
1. $m = -m^{-1}$
2. $u = xy$
3. $\hat{q} = u\hat{m} \bmod R$
4. $\hat{y} = \frac{u + \hat{q}m}{R}$
5. $y = \begin{cases} \hat{y}, & \text{if } \hat{y} < m \ \hat{y} - m, & \text{otherwise} \end{cases
超级会员免费看
订阅专栏 解锁全文
38

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



