蒙哥马利乘法:从低基到高基的并行化与硬件实现
1. 位并行蒙哥马利乘法
位并行蒙哥马利乘法(Bit - Parallel Montgomery Multiplication)基于特定的电路架构展开。其执行始于计算余数 $Xn_i \pmod{F(n)}$,其中 $i \in [−u, −u + m − 1]$,用 $X′(i)$ 表示 $Xn_i \pmod{F(n)}$ 的值。这一计算借助矩阵 $M$ 完成,矩阵 $M$ 为 $m \times m$ 大小,其行由 $i \in [−u, −u + m − 1]$ 的值构成,列则是 $X′(i)$ 对应的多项式基表示。
基于此,在有限域 $F_{2^m}$ 上,与Mastrovito乘法类似的蒙哥马利模乘(MMM)方程可重新表述为:
[
[r_0,r_1, \cdots,r_{m - 1}]^T = M \times [y_0, y_1, \cdots, y_{m - 1}]^T
]
构建位并行蒙哥马利乘法器的步骤可参考相关算法。
2. 基 - 2 蒙哥马利乘法的并行化
为实现蒙哥马利乘法的并行化,需找到一种方法同时执行两个相互依赖的乘法步骤。Orup提出的一种方法是对这些步骤进行重新排序,使其能够同时执行。
在硬件上实现公钥密码系统(PKCs)时,许多研究人员和组织在现场可编程门阵列(FPGAs)上实现了蒙哥马利模乘。设计基于脉动阵列的PKC的主要目标是最小化运行时间。脉动阵列的基本单元是处理元素(PE),它们以阵列形式排列,每个PE或一组PE共同执行加法或乘法运算。
在蒙哥马利算法的并行化过程中,引入了一个新的预
蒙哥马利乘法:低基到高基并行化与硬件实现
超级会员免费看
订阅专栏 解锁全文
5474

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



