Home - gavincabbage/grsa GitHub Wiki


Functions | Data Structures | Tools


Complete RSA functionality built on the GNU Multiple Precision (GMP) library.

The GRSA library is intended to provide a convenient and flexible collection of the core functions necessary to implement an public key cryptosystem based on the RSA algorithm. Built as an abstraction on the GNU Multiple Precision (GMP) library, the data structures and functions included are designed to easily integrate secure encryption in a variety of applications. The simple 'gcrypt' encryption tool using the library is also included, primarily to serve as a usage example.

Please note that this library exists for learning purposes only and it's security is not even remotely verified. Do not use this library for any critical applications. See the included MIT license for a formal disclaimer.


Key Features

  • Support for a range of key sizes.
  • Simple keypair generation and validation.
  • Encrypt or decrypt of a data buffer with a single function.
  • Digital signing and signature verification.
  • Export and import keys to and from data buffers for storage and transfer.

Future Plans

  • Implement OAEP pre-encryption encoding for better security.
  • Upgrade built in hash function to use a cryptographically secure algorithm, such as SHA-2.
  • More robust administrative functions for better control of data structures.
  • Continue to search for and correct security vulnerabilities and memory management issues.

Functions | Data Structures | Tools


Gavin Cabbage, 2013.

Please see the included MIT License for more details.