rsa

Python-RSA is a pure-Python RSA implementation.

https://github.com/sybrenstuvel/python-rsa

Science Score: 36.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
    Found .zenodo.json file
  • DOI references
  • Academic publication links
  • Committers with academic emails
    1 of 42 committers (2.4%) from academic institutions
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (13.3%) to scientific vocabulary

Keywords

python python-rsa rsa rsa-cryptography

Keywords from Contributors

distribution templates asgi parsing packaging autograd apps pillow asyncio tensors
Last synced: 6 months ago · JSON representation

Repository

Python-RSA is a pure-Python RSA implementation.

Basic Info
  • Host: GitHub
  • Owner: sybrenstuvel
  • License: other
  • Language: Python
  • Default Branch: main
  • Homepage: https://stuvel.eu/rsa
  • Size: 1020 KB
Statistics
  • Stars: 491
  • Watchers: 11
  • Forks: 117
  • Open Issues: 28
  • Releases: 0
Archived
Topics
python python-rsa rsa rsa-cryptography
Created about 10 years ago · Last pushed 11 months ago
Metadata Files
Readme Changelog License Security

README.md

Python-RSA has been archived

Hi folks,

I'm Sybren, one of the original authors and the maintainer of this project. Unfortunately I don't have the time and brain space left to properly maintain Python-RSA. As you can see from the lack of activity on the open issues, and the lack of commits, that has been the case for a while now.

As Python-RSA is included as a dependency in quite a few high-profile projects, I don't feel comfortable handing over the project to someone else. It's just too big of a risk.

Thanks for having used this little library for so long, and in so many projects. I truely didn't expect that when I started working on it. Also big thanks to all the people helping out and improving the project.

There are improvements that haven't made it into a new release. As I said, I don't have the time and the brain space to really investigate and oversee the security impact of all those changes. It's not a decision I've made lightly.

So that's it. If you want to keep the project alive, please fork it. Give it the love it deserves, investigate those yet-unreleased improvements, and have a project that's then already better than how I left this one.

Cheers, Sybren


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. For all changes, check the changelog.

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

Security

Because of how Python internally stores numbers, it is not possible to make a pure-Python program secure against timing attacks. This library is no exception, so use it with care. See https://github.com/sybrenstuvel/python-rsa/issues/230 and https://securitypitfalls.wordpress.com/2018/08/03/constant-time-compare-in-python/ for more info.

For instructions on how to best report security issues, see our Security Policy.

Setup of Development Environment

python3 -m venv .venv . ./.venv/bin/activate pip install poetry poetry install

Publishing a New Release

Since this project is considered critical on the Python Package Index, two-factor authentication is required. For uploading packages to PyPi, an API key is required; username+password will not work.

First, generate an API token at https://pypi.org/manage/account/token/. Then, use this token when publishing instead of your username and password.

As username, use __token__. As password, use the token itself, including the pypi- prefix.

See https://pypi.org/help/#apitoken for help using API tokens to publish. This is what I have in ~/.pypirc:

``` [distutils] index-servers = rsa

Use twine upload -r rsa to upload with this token.

[rsa] repository = https://upload.pypi.org/legacy/ username = token password = pypi-token ```

``` . ./.venv/bin/activate

poetry build twine check dist/rsa-4.10-dev0.tar.gz dist/rsa-4.10-dev0-.whl twine upload -r rsa dist/rsa-4.10-dev0.tar.gz dist/rsa-4.10-dev0-.whl ```

Owner

  • Name: Sybren A. Stüvel
  • Login: sybrenstuvel
  • Kind: user
  • Location: Amsterdam, The Netherlands
  • Company: Blender Institute

GitHub Events

Total
  • Issues event: 2
  • Watch event: 12
  • Push event: 1
  • Pull request review event: 2
  • Pull request event: 5
  • Fork event: 5
  • Create event: 1
Last Year
  • Issues event: 2
  • Watch event: 12
  • Push event: 1
  • Pull request review event: 2
  • Pull request event: 5
  • Fork event: 5
  • Create event: 1

Committers

Last synced: 7 months ago

All Time
  • Total Commits: 593
  • Total Committers: 42
  • Avg Commits per committer: 14.119
  • Development Distribution Score (DDS): 0.315
Past Year
  • Commits: 1
  • Committers: 1
  • Avg Commits per committer: 1.0
  • Development Distribution Score (DDS): 0.0
Top Committers
Name Email Commits
Sybren A. Stüvel s****n@s****u 406
adamantike m****e@f****r 39
Yesudeep Mangalapilly y****p@g****m 35
Barry Mead b****d@c****t 31
Hugo van Kemenade h****k 18
myheroyuki m****i@o****m 6
Sybren Stüvel s****l@c****l 5
Jon Dufresne j****e@g****m 5
Joost Rijneveld j****t@j****l 5
Andrey Semakin a****n@y****u 3
Diogo Teles Sant'Anna d****s@g****m 3
Fabio Alessandro Locati f****o@l****c 3
Daniel Ziegenberg d****l@z****t 2
Ram Rachum r****m@r****m 2
Richard Vodden r****d@v****m 2
Saif Hakim s****f@b****m 2
Alexandr a****x@p****h 1
yjqiang 1****5@f****n 1
Wyatt Anderson w****t@h****m 1
Roy Kokkelkoren r****n@g****m 1
Alexey Sveshnikov a****v@g****m 1
dependabot[bot] 4****] 1
Tim Heckman t****e@t****t 1
Shengkai Sun s****1@g****m 1
Moritz Fischer m****f@g****m 1
Michał Górny m****y@g****g 1
Max Smolens m****s@g****m 1
Kian-Meng, Ang k****g@c****g 1
Justin Simon j****7@g****m 1
Jon Banafato j****o@g****m 1
and 12 more...

Issues and Pull Requests

Last synced: 6 months ago

All Time
  • Total issues: 69
  • Total pull requests: 62
  • Average time to close issues: 7 months
  • Average time to close pull requests: 6 months
  • Total issue authors: 49
  • Total pull request authors: 38
  • Average comments per issue: 3.87
  • Average comments per pull request: 2.18
  • Merged pull requests: 23
  • Bot issues: 0
  • Bot pull requests: 6
Past Year
  • Issues: 3
  • Pull requests: 5
  • Average time to close issues: N/A
  • Average time to close pull requests: 6 months
  • Issue authors: 3
  • Pull request authors: 4
  • Average comments per issue: 0.0
  • Average comments per pull request: 0.0
  • Merged pull requests: 0
  • Bot issues: 0
  • Bot pull requests: 0
Top Authors
Issue Authors
  • tomato42 (7)
  • myheroyuki (4)
  • kloczek (3)
  • sybrenstuvel (3)
  • John-Oula (3)
  • and-semakin (3)
  • yjqiang (3)
  • diogoteles08 (2)
  • achieve-dream1221 (1)
  • thewh1teagle (1)
  • Abhijeetbyte (1)
  • zjuchenyuan (1)
  • alvaroabascar (1)
  • Satohsi0Amadeus0XDS0Stars (1)
  • t0xic0der (1)
Pull Request Authors
  • dependabot[bot] (6)
  • myheroyuki (6)
  • hugovk (6)
  • and-semakin (4)
  • diogoteles08 (2)
  • cool-RR (2)
  • kodzonko (2)
  • cclauss (2)
  • mylapallilavanyaa (2)
  • Kristofy (2)
  • saifelse (2)
  • tvalentyn (2)
  • ziegenberg (2)
  • RichardThiessen (2)
  • joycebrum (1)
Top Labels
Issue Labels
critical (3) enhancement (2) bug (2) minor (1) waiting-for-upstream-release (1) trivial (1)
Pull Request Labels
dependencies (6) waiting-for-information (4) unit tests needed (3) improvements needed (2) documentation needed (2)

Packages

  • Total packages: 1
  • Total downloads:
    • pypi 341,284,263 last-month
  • Total docker downloads: 4,835,326,951
  • Total dependent packages: 531
  • Total dependent repositories: 69,170
  • Total versions: 37
  • Total maintainers: 1
  • Total advisories: 3
pypi.org: rsa

Pure-Python RSA implementation

  • Versions: 37
  • Dependent Packages: 531
  • Dependent Repositories: 69,170
  • Downloads: 341,284,263 Last month
  • Docker Downloads: 4,835,326,951
Rankings
Downloads: 0.0%
Docker downloads count: 0.0%
Dependent repos count: 0.0%
Dependent packages count: 0.1%
Average: 1.5%
Stargazers count: 3.8%
Forks count: 5.2%
Maintainers (1)
Last synced: 6 months ago

Dependencies

poetry.lock pypi
  • alabaster 0.7.12 develop
  • atomicwrites 1.4.0 develop
  • attrs 21.2.0 develop
  • babel 2.9.1 develop
  • backports.entry-points-selectable 1.1.1 develop
  • certifi 2021.10.8 develop
  • charset-normalizer 2.0.7 develop
  • colorama 0.4.4 develop
  • coverage 6.1.2 develop
  • coveralls 3.3.1 develop
  • distlib 0.3.3 develop
  • docopt 0.6.2 develop
  • docutils 0.17.1 develop
  • filelock 3.4.0 develop
  • flake8 3.9.2 develop
  • idna 3.3 develop
  • imagesize 1.3.0 develop
  • importlib-metadata 4.8.2 develop
  • importlib-resources 5.4.0 develop
  • iniconfig 1.1.1 develop
  • jinja2 3.0.3 develop
  • markupsafe 2.0.1 develop
  • mccabe 0.6.1 develop
  • mypy 0.910 develop
  • mypy-extensions 0.4.3 develop
  • packaging 21.3 develop
  • platformdirs 2.4.0 develop
  • pluggy 1.0.0 develop
  • py 1.11.0 develop
  • pycodestyle 2.7.0 develop
  • pyflakes 2.3.1 develop
  • pygments 2.10.0 develop
  • pyparsing 3.0.6 develop
  • pytest 6.2.5 develop
  • pytest-cov 2.12.1 develop
  • pytz 2021.3 develop
  • requests 2.26.0 develop
  • six 1.16.0 develop
  • snowballstemmer 2.2.0 develop
  • sphinx 4.3.0 develop
  • sphinxcontrib-applehelp 1.0.2 develop
  • sphinxcontrib-devhelp 1.0.2 develop
  • sphinxcontrib-htmlhelp 2.0.0 develop
  • sphinxcontrib-jsmath 1.0.1 develop
  • sphinxcontrib-qthelp 1.0.3 develop
  • sphinxcontrib-serializinghtml 1.1.5 develop
  • toml 0.10.2 develop
  • tox 3.24.4 develop
  • typed-ast 1.4.3 develop
  • typing-extensions 4.0.0 develop
  • urllib3 1.26.7 develop
  • virtualenv 20.10.0 develop
  • zipp 3.6.0 develop
  • pyasn1 0.4.8
pyproject.toml pypi
  • Sphinx ^4.3.0 develop
  • coveralls ^3.0.0 develop
  • flake8 ^3.8.4 develop
  • mypy ^0.910 develop
  • pytest ^6.2.2 develop
  • pytest-cov ^2.11.1 develop
  • tox ^3.22.0 develop
  • pyasn1 >=0.1.3
  • python >=3.6, <4