• Home
Name Date Size #Lines LOC

..--

doc/03-May-2024-1,274806

rsa/03-May-2024-2,7811,754

tests/03-May-2024-1,475928

.codeclimate.ymlD03-May-2024382 2827

.coveragercD03-May-2024158 65

.gitignoreD03-May-2024181 2116

.travis.ymlD03-May-2024729 3421

Android.bpD03-May-2024992 3229

CHANGELOG.mdD03-May-20247.6 KiB213145

LICENSED03-May-2024577 1410

MANIFEST.inD03-May-2024131 76

METADATAD03-May-2024479 2019

MODULE_LICENSE_APACHE2D03-May-20240

OWNERSD03-May-2024212 54

PipfileD03-May-2024424 2117

Pipfile.lockD03-May-202426.6 KiB525524

README.mdD03-May-20242.3 KiB5535

create_timing_table.pyD03-May-20241.3 KiB4318

setup.cfgD03-May-2024243 1713

setup.pyD03-May-20242.9 KiB7148

speed.shD03-May-20241.4 KiB4422

tox.iniD03-May-2024395 1915

update_version.shD03-May-2024476 1913

README.md

1Pure Python RSA implementation
2==============================
3
4[![PyPI](https://img.shields.io/pypi/v/rsa.svg)](https://pypi.org/project/rsa/)
5[![Build Status](https://travis-ci.org/sybrenstuvel/python-rsa.svg?branch=master)](https://travis-ci.org/sybrenstuvel/python-rsa)
6[![Coverage Status](https://coveralls.io/repos/github/sybrenstuvel/python-rsa/badge.svg?branch=master)](https://coveralls.io/github/sybrenstuvel/python-rsa?branch=master)
7[![Code Climate](https://api.codeclimate.com/v1/badges/a99a88d28ad37a79dbf6/maintainability)](https://codeclimate.com/github/codeclimate/codeclimate/maintainability)
8
9[Python-RSA](https://stuvel.eu/rsa) is a pure-Python RSA implementation. It supports
10encryption and decryption, signing and verifying signatures, and key
11generation according to PKCS#1 version 1.5. It can be used as a Python
12library as well as on the commandline. The code was mostly written by
13Sybren A.  Stüvel.
14
15Documentation can be found at the [Python-RSA homepage](https://stuvel.eu/rsa). For all changes, check [the changelog](https://github.com/sybrenstuvel/python-rsa/blob/master/CHANGELOG.md).
16
17Download and install using:
18
19    pip install rsa
20
21or download it from the [Python Package Index](https://pypi.org/project/rsa/).
22
23The source code is maintained at [GitHub](https://github.com/sybrenstuvel/python-rsa/) and is
24licensed under the [Apache License, version 2.0](https://www.apache.org/licenses/LICENSE-2.0)
25
26Security
27--------
28
29Because of how Python internally stores numbers, it is very hard (if not impossible) to make a pure-Python program secure against timing attacks. This library is no exception, so use it with care. See https://securitypitfalls.wordpress.com/2018/08/03/constant-time-compare-in-python/ for more info.
30
31
32Major changes in 4.1
33--------------------
34
35Version 4.0 was the last version to support Python 2 and 3.4. Version 4.1 is compatible with Python 3.5+ only.
36
37
38Major changes in 4.0
39--------------------
40
41Version 3.4 was the last version in the 3.x range. Version 4.0 drops the following modules,
42as they are insecure:
43
44- `rsa._version133`
45- `rsa._version200`
46- `rsa.bigfile`
47- `rsa.varblock`
48
49Those modules were marked as deprecated in version 3.4.
50
51Furthermore, in 4.0 the I/O functions is streamlined to always work with bytes on all
52supported versions of Python.
53
54Version 4.0 drops support for Python 2.6 and 3.3.
55