{"adoption": {"forks": 145, "observed_at": "2026-08-28T04:04:14.755601+00:00", "stars": 1285}, "canonical_url": "https://ross.abutalabs.com/products/crypto-attacks", "card": {"archived": false, "artifact_type": "library", "description": "Python implementations of cryptographic attacks and utilities.", "domain": ["security"], "enriched": true, "function": ["cryptography", "security", "developer-tools"], "health_score": 57, "homepage": null, "language": "Python", "license": "MIT", "license_family": "permissive", "maturity": "active", "member_repos": ["jvdsn/crypto-attacks"], "name": "jvdsn/crypto-attacks", "platform": ["python"], "pushed_at": "2026-01-08T04:58:27+00:00", "repo": "jvdsn/crypto-attacks", "stars": 1285, "tags": ["ctf-tools", "cryptanalysis", "rsa-attacks", "lattice-reduction", "elliptic-curves", "sagemath", "lattice-attacks", "small-roots", "cryptography", "algorithms", "linux", "macos"], "topics": ["cryptography", "ctf", "ctf-tools", "lll", "elliptic-curves", "rsa"], "urls": [], "use_cases": ["solve RSA CTF challenges with Boneh-Durfee or Wiener attacks", "run lattice reduction attacks like LLL on cryptographic parameters", "recover private keys from weak elliptic curve parameters", "find small roots of polynomial equations modulo N", "experiment with cryptanalytic algorithms in Python", "learn how classical cryptographic attacks work by reading implementations"], "what_it_is": "A collection of Python implementations of cryptographic attacks and utilities, built on SageMath and PyCryptodome. It covers attacks against RSA, elliptic curves, lattices, and other primitives, primarily aimed at CTF players and cryptanalysis researchers.", "when_to_avoid": ["you need a production cryptography library for encrypting or signing data", "you want a turnkey CLI tool that attacks targets without writing code", "your environment cannot install SageMath", "you need audited, side-channel-safe cryptographic primitives"], "when_to_choose": ["you are solving CTF crypto challenges involving RSA, ECC, or lattices", "you need reference implementations of published cryptanalytic attacks", "you already use SageMath and want ready-made attack scripts", "you are studying or teaching cryptanalysis with runnable code"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/crypto-attacks", "repo": "jvdsn/crypto-attacks", "role": "main", "score": 60}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:04:14.755601+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-30T04:56:40.076308+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "e28ccc82fcb4d55f4fc8d0a641c417126857539206668f4592b17d88cc18380a", "fetched_at": "2026-08-28T04:04:14.755601+00:00", "kind": "readme", "missing": false, "url": "https://github.com/jvdsn/crypto-attacks"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:04:14.755601+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-30T04:56:40.076308+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "e28ccc82fcb4d55f4fc8d0a641c417126857539206668f4592b17d88cc18380a", "fetched_at": "2026-08-28T04:04:14.755601+00:00", "kind": "readme", "missing": false, "url": "https://github.com/jvdsn/crypto-attacks"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-30T04:56:40.076308+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "e28ccc82fcb4d55f4fc8d0a641c417126857539206668f4592b17d88cc18380a", "fetched_at": "2026-08-28T04:04:14.755601+00:00", "kind": "readme", "missing": false, "url": "https://github.com/jvdsn/crypto-attacks"}], "taxonomy_version": 1}, "health_score": {"inputs": ["days_since_push", "days_since_release", "archived"], "kind": "computed", "method": "health_v1"}, "homepage": {"kind": "observed", "observed_at": "2026-08-28T04:04:14.755601+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:04:14.755601+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:04:14.755601+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-30T04:56:40.076308+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "e28ccc82fcb4d55f4fc8d0a641c417126857539206668f4592b17d88cc18380a", "fetched_at": "2026-08-28T04:04:14.755601+00:00", "kind": "readme", "missing": false, "url": "https://github.com/jvdsn/crypto-attacks"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:04:14.755601+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:04:14.755601+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-30T04:56:40.076308+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "e28ccc82fcb4d55f4fc8d0a641c417126857539206668f4592b17d88cc18380a", "fetched_at": "2026-08-28T04:04:14.755601+00:00", "kind": "readme", "missing": false, "url": "https://github.com/jvdsn/crypto-attacks"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:04:14.755601+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:04:14.755601+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:04:14.755601+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-30T04:56:40.076308+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "e28ccc82fcb4d55f4fc8d0a641c417126857539206668f4592b17d88cc18380a", "fetched_at": "2026-08-28T04:04:14.755601+00:00", "kind": "readme", "missing": false, "url": "https://github.com/jvdsn/crypto-attacks"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:04:14.755601+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:04:14.755601+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-30T04:56:40.076308+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "e28ccc82fcb4d55f4fc8d0a641c417126857539206668f4592b17d88cc18380a", "fetched_at": "2026-08-28T04:04:14.755601+00:00", "kind": "readme", "missing": false, "url": "https://github.com/jvdsn/crypto-attacks"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-30T04:56:40.076308+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "e28ccc82fcb4d55f4fc8d0a641c417126857539206668f4592b17d88cc18380a", "fetched_at": "2026-08-28T04:04:14.755601+00:00", "kind": "readme", "missing": false, "url": "https://github.com/jvdsn/crypto-attacks"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-30T04:56:40.076308+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "e28ccc82fcb4d55f4fc8d0a641c417126857539206668f4592b17d88cc18380a", "fetched_at": "2026-08-28T04:04:14.755601+00:00", "kind": "readme", "missing": false, "url": "https://github.com/jvdsn/crypto-attacks"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-30T04:56:40.076308+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "e28ccc82fcb4d55f4fc8d0a641c417126857539206668f4592b17d88cc18380a", "fetched_at": "2026-08-28T04:04:14.755601+00:00", "kind": "readme", "missing": false, "url": "https://github.com/jvdsn/crypto-attacks"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 61, "longevity": 100, "rhythm": 35}, "computed_at": "2026-09-03T02:20:16.233290+00:00", "flags": ["no_releases"], "formula": "round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)", "inputs": {"age_days": 2266, "days_push": 237, "days_rel": null, "gap_med": null, "n_releases_24m": 0}, "score": 60, "version": 2}, "staleness": {"enrichment_outdated": false, "low_confidence": false, "scrape_days": 9, "stale_scrape": false}}