Research Article

Revisiting Sum of Residues Modular Multiplication

Algorithm 4

Tomlinson's sum of residues modular multiplication.
Ensure: 𝐢 ≑ 𝐴 Γ— 𝐡 m o d 𝑀 , 𝐢 < 2 𝑛 + 1
  𝐢 = 0
  π‘ž = 0
 for 𝑖 = 𝑛 βˆ’ 1 downto 0 do
   𝐢 = 2 𝐢 + π‘Ž 𝑖 𝐡
   𝐢 = 𝐢 + ( π‘ž Γ— 2 𝑛 + 1 m o d 𝑀 ) { T h e r e s i d u e ( π‘ž Γ— 2 𝑛 + 1 m o d 𝑀 ) i s p r e c o m p u t e d . }
   π‘ž = ⌊ 𝐢 / 2 𝑛 βŒ‹ { π‘ž i s t h e u p p e r 2 b i t s o f 𝐢 }
   𝐢 = 𝐢 βˆ’ π‘ž Γ— 2 𝑛 { S e t t h e u p p e r 2 b i t s o f 𝐢 t o z e r o }
 end for
  𝐢 = 2 𝐢 + ( π‘ž Γ— 2 𝑛 + 1 m o d 𝑀 )