Clone this repo:
  1. 83e273b Updated for pull request #104 by Sybren A. Stüvel · 3 weeks ago master
  2. da7145a Changed unittest to cover the new SHA-224 hash method by Sybren A. Stüvel · 3 weeks ago
  3. 173be1f Add support for SHA224 for PKCS1 signatures by Joost Rijneveld · 3 weeks ago
  4. b738e66 Remove keysize requirements / recommendations by Joost Rijneveld · 3 weeks ago
  5. 2a020f3 Add support for Python 3.6 by Hugo · 3 weeks 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 3.3.