Clone this repo:
  1. 000e84a Ceiling division implementation (#88) by Michael Manganiello · 6 days ago master
  2. 7ebae9f Updated changelog by Sybren A. Stüvel · 14 days ago
  3. 395b8d6 Feature request #78: Expose function to find the hash method of a signature by Sybren A. Stüvel · 14 days ago
  4. a478d4c Don't print in unit tests by Sybren A. Stüvel · 14 days ago
  5. 736444c Removed easy_install from installation documentation by Sybren A. Stüvel · 14 days ago

Pure Python RSA implementation

PyPI [Build Status] ( [Coverage Status] ( [Code Climate] (

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. It can be used as a Python library as well as on the commandline. The code was mostly written by Sybren A. Stüvel.

Documentation can be found at the Python-RSA homepage.

Download and install using:

pip install rsa

or download it from the Python Package Index.

The source code is maintained at Github and is licensed under the Apache License, version 2.0

Plans for the future

Version 3.4 is the last version in the 3.x range. Version 4.0 will drop the following modules, as they are insecure:

  • rsa._version133
  • rsa._version200
  • rsa.bigfile
  • rsa.varblock

Those modules are marked as deprecated in version 3.4.

Furthermore, in 4.0 the I/O functions will be streamlined to always work with bytes on all supported versions of Python.

Version 4.0 will drop support for Python 2.6, and possibly for Python 3.3.