Clone this repo:
  1. 801504f Fix Shield links (#94) by Florian Motlik · 6 weeks ago master
  2. c0b7bff Declare Python 3.6 support (#93) by Jon Banafato · 7 weeks ago
  3. d008525 PKCS#1 2.0: Implementation of MGF1 (#89) by Michael Manganiello · 10 weeks ago
  4. 425eb24 Support signing a pre-calculated hash (#87) by Justin Simon · 3 months ago
  5. 000e84a Ceiling division implementation (#88) by Michael Manganiello · 4 months 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.