1 min read

Python-RSA is a pure-Python RSA implementation. It supports encryption and decryption, signing and verifying signatures, and key generation according to PKCS#1 version 1.5.

If you have the time and skill to improve the implementation, by all means be my guest. The best way is to clone the Github repository and send me a pull request when you’ve got something worth merging.

Download and install using “pip install rsa”, visit the rsa package on the Python Package Index, or check the installation documentation.

The code is licenced under the Apache Licence version 2.0


Python-RSA has extensive documentation with plenty of code examples, interoperation with OpenSSL and more goodies.


This software was originally written by Sybren Stüvel, Marloes de Boer, and Ivo Tamboer. It was subsequenty improved by Sybren Stüvel, Barry Mead, Yesudeep Mangalapilly, and others.

Usage Statistics

According to the PyPi Stats page, at least at the moment of writing, this library is downloaded just under two million times per day!