27、优化的蒙哥马利乘法硬件架构解析

优化的蒙哥马利乘法硬件架构解析

1. 多字基 - 2 蒙哥马利乘法算法

多字基 - 2 蒙哥马利乘法算法(MWR2MM)是实现蒙哥马利乘法的一个重要算法。该算法的输入要求为奇数 $M$,$n = ⌊log_2 M⌋ + 1$,字长为 $w$,$e = ⌈(n + 1) / w⌉$,以及满足 $0 ≤ X, Y < M$ 的操作数 $X$ 和 $Y$。算法的目标是计算 $Z = MP(X, Y, M) ≡ X · Y · 2^{-n} (mod M)$,且 $0 ≤ Z < 2M$。

以下是该算法的伪代码:

Require: odd M, n = ⌊log2 M⌋+ 1, word size w, e = ⌈n+1 / w ⌉, X = ∑(i = 0 to n - 1) xi · 2^i,
Y = ∑(j = 0 to e - 1) Y(j) · 2^(w·j), M = ∑(j = 0 to e - 1) M(j) · 2^(w·j), with 0 ≤X, Y < M
Ensure: Z = ∑(j = 0 to e - 1) S(j) · 2^(w·j) = MP(X, Y, M) ≡X · Y · 2−n (mod M), 0 ≤Z < 2M
1: S = 0
# initialize all words of S
2: for i = 0 to n - 1 step 1 do
3:
    qi = (xi · Y(0)[0]) ⊕ S(0)[0]
4:
    (C(1), S(0)) = xi · Y(0) + qi · M(0) + S(0)
5:
    for j = 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值