# Legrandin/pycryptodome

A self-contained cryptographic library for Python

Repository: https://github.com/Legrandin/pycryptodome
Canonical: https://ross.abutalabs.com/products/pycryptodome
Homepage: https://www.pycryptodome.org
Language: C
License: NOASSERTION
License Family: other
Topics: cryptography, security, python
Last push: 2026-07-18T07:43:51+00:00

## Health v2 (maintenance only)
Score: 76/100 (v2, computed 2026-09-02T17:46:02.011165+00:00)
- activity 93, release rhythm 40, longevity 100
- inputs: {"age_days": 4506, "days_push": 46, "days_rel": 473, "gap_med": 0, "n_releases_24m": 6}
- flags: no_license
- formula: round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)

## Adoption (not part of the score)
Stars 3261, forks 568 (observed 2026-08-28T04:07:52.605953+00:00)

## What it is
PyCryptodome is a self-contained Python package of low-level cryptographic primitives, forked from PyCrypto with an almost drop-in compatible API. It implements symmetric ciphers, authenticated encryption modes, hashes, MACs, key derivation, and asymmetric cryptography in C extensions without wrapping an external crypto library.

## Use cases
- encrypt and decrypt data with AES in Python
- generate RSA or ECC key pairs
- sign and verify digital signatures
- compute SHA-3 or BLAKE2 hashes
- replace the old PyCrypto library
- do authenticated encryption with GCM or ChaCha20-Poly1305
- derive keys with PBKDF2 or scrypt
- implement HPKE encryption

## When to choose
- you need low-level cryptographic primitives in Python with no external C library dependency
- you are migrating legacy code from PyCrypto
- you need modern algorithms like Ed25519, XChaCha20, SHA-3, or HPKE
- you need PyPy support for crypto workloads

## When to avoid
- you want a high-level, misuse-resistant API rather than raw primitives
- you prefer a library wrapping OpenSSL like pyca/cryptography
- you need FIPS-validated cryptography

## Facets
- artifact type: library
- maturity: active
- function: cryptography, security, sdk
- domain: security, developer-tools, privacy
- platform: python, cross-platform, windows
- tags: pycrypto-fork, aes, rsa, ecc, sha-3, authenticated-encryption, chacha20, ed25519, hpke, self-contained, linux, macos

## Member repositories
- Legrandin/pycryptodome (main) score 76

## Provenance
- Observed fields: from GitHub, fetched 2026-08-28T04:07:52.605953+00:00.
- Health v2: computed from the inputs above; adoption is never an input.
- Inferred fields (summary, facets, guidance): AI-extracted, prompt v1, taxonomy v1, on 2026-08-30T07:23:12.800538+00:00, confidence not recorded.
  - readme: https://github.com/Legrandin/pycryptodome (fetched 2026-08-28T04:07:52.605953+00:00, sha c18f6b136c04)
  - homepage: https://www.pycryptodome.org (fetched 2026-08-29T09:36:45.960125+00:00, sha 13eb2c87e263)
  - site_page: https://www.pycryptodome.org/src/features.html (fetched 2026-08-29T09:36:45.969526+00:00, sha 6347217a51b7)
  - site_page: https://www.pycryptodome.org/src/installation.html (fetched 2026-08-29T09:36:45.971478+00:00, sha babb53e60191)
  - site_page: https://www.pycryptodome.org/src/api.html (fetched 2026-08-29T09:36:45.973351+00:00, sha 6824730dcd92)
  - site_page: https://www.pycryptodome.org/src/faq.html (fetched 2026-08-29T09:36:45.975011+00:00, sha bed292aa6e1d)
  - site_page: https://www.pycryptodome.org/src/changelog.html (fetched 2026-08-29T09:36:45.976790+00:00, sha 0de3e1922780)
- Data as of 2026-08-30T08:39:29.467469+00:00.
