Go Back

Source code


Name: radixrsa
Created: Sep 25, 2001
Updated: Oct 14, 2001
SVN Updated: Mar 10, 2009

Other project properties

Category: Crypto core
Development status: Planning
Additional info:
WishBone Compliant: No

Thanks to Mr. Thomas Blum (tblum@ece.wpi.edu) who provide his documentation about High Radix Montgomery modular exponentiation.


RSA Cryptosystem is widely used in information technology. It encrypts
and decrypts messages using public key mechanism. The security of this
cryptosystem is based on the fact that it's very difficult to factorize
large prime number.
RSA algorithm was proposed in 1978 by Rivest, Shamir, and
Adleman. Since 1978 its algorithm has changed to get an efficient
cryptosystem. The high radix Montgomery algorithm is used to get the
faster calculation of modular exponential which used in RSA algorithm.
This algorithm was proposed by Peter Montgomery in 1985 and now widely used in modern RSA cryptosystem.


- Uses public key and private key to encrypt and decrypt messages
- Uses 512 bit private key exponent(the minimum size recommended by RSA Laboratories)
- Uses Fermat prime as public key exponent(as recommended by International Telecommunications Union)
- Uses 512 bit modulus n
- Blocks 512 bit to encrypt plaintext and decrypt ciphertext
- Uses Radix 256 Montgomery reduction modul and Radix 256 Blakley multiplication modul to calculate the modular exponential

Design stages

- Making core specification
- Designing behavioral and structural
- Converting to symbolic layout
- Verifying and simulating
- Making full report


- see Download section

The cores

1. Montgomery modular multiplication module
2. Montgomery modular exponentiation module