RSA Public Key Encryption and Signing (32bit)

Basic RSA Public Key encryption and signing to demonstrate the principle.
2.3K Downloads
Updated 11 Oct 2015

View License

This submission was created to learn a bit about RSA Public Key encryption and signing. It consists of the following files:
GenerateKeyPair (Generates the public and private key)
Encrypt (using the public key)
Decrypt (using the private key)
Sign (using the private key)
Verify (using the public key)
Test (giving an example how these functions are used)

and two helper functions:

ExtendedEuclideanAlgorithm
ModularExponentiation

Unfortunately the randseed command of the Communications System Toolbox ist required at the moment. To remove this dependency it is possible to enter the two random prime numbers manually in the GenerateKeyPair script.

Since the purpose of this small framework is to understand the basic principle of RSA, I did not implement a biginteger type and also did not optimize the helper functions for huge numbers (2048 bit). The randseed command provides prime numbers up to 1000 or ~2^10.

Cite As

Vincent Wilms (2024). RSA Public Key Encryption and Signing (32bit) (https://www.mathworks.com/matlabcentral/fileexchange/53457-rsa-public-key-encryption-and-signing-32bit), MATLAB Central File Exchange. Retrieved .

MATLAB Release Compatibility
Created with R2013a
Compatible with any release
Platform Compatibility
Windows macOS Linux
Categories
Find more on Encryption / Cryptography in Help Center and MATLAB Answers

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!
Version Published Release Notes
1.0.0.0

Updated description.
Updated preview image.