60 likes | 557 Views
Montgomery Modular Multiplication. By K. C. Cinnati Loi For EE 800: Circuit Elements in Digital Computations Project Proposal. Long Division Algorithm. 11111101111110 (mod) 100011011 ^100011011 1110000011110 ^100011011 110110101110 ^100011011 10101110110 ^100011011
E N D
Montgomery Modular Multiplication By K. C. Cinnati Loi For EE 800: Circuit Elements in Digital Computations Project Proposal
Long Division Algorithm 11111101111110 (mod) 100011011 ^100011011 1110000011110 ^100011011 110110101110 ^100011011 10101110110 ^100011011 0100011010 ^000000000 100011010 ^100011011 00000001 Reference: http://en.wikipedia.org/wiki/Finite_field_arithmetic
Montgomery Algorithm • TR-1 mod N Function REDC(T) m ← (T mod R)N’ mod R t ← (T + mN) / R if t ≥ N then return t – N else return t R: R = 2b, R > N and gcd(R, N) = 1 0 < R-1 < N, 0 < N’ < R and RR-1 – NN’ = 1
Montgomery Algorithm (cont.) • xy mod N REDC(x) = xR-1 mod N REDC(y) = yR-1 mod N Let z = REDC(xy) = (xy)R-1 mod N REDC(x) * REDC(y) = (xy)R-1R-1 mod N = zR-1 mod N REDC(x) * REDC(y) = REDC(z)
Project Proposal • FPGA Implementation of the processor proposed in: J. Huang, H. Li, P. Sweany, “An FPGA Implementation of Elliptic Curve Cryptography for Future Secure Web Transaction”, International Conference on Parallel and Distributed Computing Systems (PDCS 2007), pp. 296 – 301, Sept. 2007. • Explore performance improvements • Explore other coordinate systems