12、蒙哥马利乘法:概念、方法与RNS算法解析

蒙哥马利乘法:概念、方法与RNS算法解析

1. 蒙哥马利乘法概述

蒙哥马利乘法(MMM)在模乘(MM)中极为有用,至今在提升效率方面表现卓越。在计算蒙哥马利乘法时,我们需要计算蒙哥马利积。给定两个数 (X) 和 (Y)((X, Y < m)),要计算 (X\cdot Y \pmod{m})。我们引入蒙哥马利约化元素 (p),满足 (\gcd(m, p) = 1),则蒙哥马利积可表示为:
[MonProd(X, Y) = X \times Y \times p^{-1} \pmod{m}]
若 (p) 选为2的幂次方,将有助于提高数学运算(如除法和乘法)的速度,因为蒙哥马利乘法可以通过简单的移位和加法操作高效执行。

执行蒙哥马利乘法的方法可分为两类:
- 乘法和约化分开进行。
- 乘法和约化集成进行。

集成程度取决于乘法和约化之间的切换频率,同时,扫描操作数和乘积的方式也是一个重要因素。扫描方式有以下几种:
1. 独立操作数扫描
2. 少切换操作数扫描
3. 高切换操作数扫描
4. 高切换乘积扫描
5. 少切换混合扫描

蒙哥马利积常用于密码系统中的蒙哥马利乘法。当选择 (p = 2^k),且 (m) 为 (k) 位整数((2^{k - 1} \leq m < 2^k)),且 (p) 和 (m) 互质时,从相关算法步骤可得:
[R’ = (X’Y’)p^{-1} \pmod{m}]
[T p^{-1} = (T + T (-m)^{-1}(\pmod{p}) m)/p \pmod{m}]
设 (T p^{-1} = u),则

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值