Go Back

Source code


Name: mod_mult_exp
Created: Dec 23, 2014
Updated: Feb 1, 2015
SVN Updated: Feb 1, 2015

Other project properties

Category: Crypto core
Language: VHDL
Development status: Alpha
Additional info:
WishBone Compliant: No
License: LGPL


Modular multiplication and modular exponentiation play an important role in the most
of existing cryptographic systems. In fact these are time and hardware consuming
Up to now there were proposed modular multiplication and modular exponentiation
implementations. One of them, Montgomery method, is very efficient especially if
modulus is coprime integer with the word length in which it is operated, what is
always true in binary systems
In this project Montgomery multiplier and Montgomery exponentiation blocks was
developed. They were prepared for Spartan 3ES500 FPGA in Spartan 3E Starter Board
developed by DIGILENT, but can be easily suited in another cores. In its basic
they were prepared for 64 bit and 512 bit word length (due to the FPGA capacity),
and the way of the cores expanding was presented.

Task done:

  • Uploaded working Montgomery multiplier
  • Uploaded working Montgomery exponentiator (with one variable input)
  • Upload working example for multiplying
  • Upload working example for exponentiation
  • Write documentation

If You have any questions write me an email gajos@opencores.org .