蒙哥马利乘法:从基础到高阶实现
1. 位并行蒙哥马利乘法与平方
位并行蒙哥马利乘法(MM)从计算余数 (Xn_i \pmod{F(n)}) 开始,其中 (i \in [-u, -u + m - 1]),(X’(i)) 表示 (Xn_i \pmod{F(n)}) 的值。这一计算借助矩阵 (M) 完成,矩阵 (M) 为 (m \times m) 大小,其行由 (i) 的值((i \in [-u, -u + m - 1]))组成,列则是 (X’(i)) 对应的多项式基表示。
基于此,在有限域 (F_{2^m}) 上,类似于 Mastrovito 乘法的蒙哥马利模乘(MMM)方程可重新表述为:
[
[r_0, r_1, \ldots, r_{m - 1}]^T = M \times [y_0, y_1, \ldots, y_{m - 1}]^T
]
下面是构建位并行蒙哥马利乘法器的相关步骤:
1. 计算余数 (Xn_i \pmod{F(n)})。
2. 构建矩阵 (M)。
3. 利用矩阵 (M) 计算 MMM 方程。
2. 基 - 2 蒙哥马利乘法的并行化
为了在蒙哥马利乘法(MMM)中实现并行性,需要找到一种方法来同时执行两个相互依赖的乘法步骤。Orup 提出的一种方法是对这些步骤进行重新排序,使其能够同时执行。
在并行化 MMM 算法的过程中,引入了一个新的预计算参数 (\hat{m}),其目的是重新排列蒙哥马利算法的乘法和结果步骤,以便能够同时执行。以下是一些需要考虑的符号:
| 符号 | 含义 |
| ---- | ---- |
超级会员免费看
订阅专栏 解锁全文
78

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



