OpenCores

Montgomery modular multiplier and exponentiator

Project maintainers

Details

Name: mod_mult_exp
Created: Dec 23, 2014
Updated: Aug 17, 2019
SVN Updated: Aug 17, 2019
SVN: Browse
Latest version: download (might take a bit to start...)
Statistics: View
Bugs: 0 reported / 0 solved
Star4you like it: star it!

Other project properties

Category:Crypto core
Language:VHDL
Development status:Stable
Additional info:Design done, FPGA proven
WishBone compliant: No
WishBone version: n/a
License: LGPL

Description

Modular multiplication and modular exponentiation play an important role in the most
of existing cryptographic systems. In fact these are time and hardware consuming
operations.
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 exponentiation
  • Upload some testing software

TODO:

  • Write documentation

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