Research Article

Revisiting Sum of Residues Modular Multiplication

Algorithm 3

Montgomery modular multiplication.
Require: 𝑅 = π‘Ÿ 𝑛
Require: π‘š 0 βˆ’ 1 s . t . π‘š 0 Γ— π‘š 0 βˆ’ 1 ≑ 1 m o d π‘Ÿ
Ensure: 𝐢 ≑ 𝐴 Γ— 𝐡 Γ— 𝑅 βˆ’ 1 m o d 𝑀
  𝐢 = 0
 for 𝑖 = 0 to 𝑛 βˆ’ 1 do
   𝐢 = 𝐢 + π‘Ž 𝑖 𝐡 { P a r t i a l p r o d u c t a c c u m u l a t i o n }
   π‘ž 𝑖 = βˆ’ 𝑐 0 Γ— π‘š 0 βˆ’ 1 m o d 𝑀 { Q u o t i e n t d i g i t s e l e c t i o n }
   𝐢 = ( 𝐢 + π‘ž 𝑖 𝑀 ) / π‘Ÿ { R e d u c t i o n s t e p }
 end for