{"id":13532180,"url":"https://github.com/paritytech/libsecp256k1","last_synced_at":"2025-03-17T06:01:33.673Z","repository":{"id":36914698,"uuid":"113135482","full_name":"paritytech/libsecp256k1","owner":"paritytech","description":"Pure Rust Implementation of secp256k1.","archived":false,"fork":false,"pushed_at":"2024-08-17T20:01:27.000Z","size":3607,"stargazers_count":184,"open_issues_count":34,"forks_count":92,"subscribers_count":16,"default_branch":"master","last_synced_at":"2025-03-06T16:52:38.008Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"Rust","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/paritytech.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2017-12-05T05:09:29.000Z","updated_at":"2025-02-17T14:30:40.000Z","dependencies_parsed_at":"2024-01-13T23:18:22.203Z","dependency_job_id":"866c77fb-7aa0-4bc8-9db1-cf8e0b325d67","html_url":"https://github.com/paritytech/libsecp256k1","commit_stats":{"total_commits":282,"total_committers":27,"mean_commits":"10.444444444444445","dds":"0.26241134751773054","last_synced_commit":"48dabd8821852c5fe00b846f6c37e1f6b05c3d8c"},"previous_names":["sorpaas/libsecp256k1-rs"],"tags_count":7,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/paritytech%2Flibsecp256k1","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/paritytech%2Flibsecp256k1/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/paritytech%2Flibsecp256k1/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/paritytech%2Flibsecp256k1/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/paritytech","download_url":"https://codeload.github.com/paritytech/libsecp256k1/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":243982140,"owners_count":20378605,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-08-01T07:01:08.812Z","updated_at":"2025-03-17T06:01:33.648Z","avatar_url":"https://github.com/paritytech.png","language":"Rust","funding_links":[],"categories":["Cryptography","Rust"],"sub_categories":["Theorem"],"readme":"_Please note that this repository is no longer maintained. You can use [k256](https://crates.io/crates/k256) instead._\n\n# SECP256K1 implementation in pure Rust\n\n* [Cargo](https://crates.io/crates/libsecp256k1)\n* [Documentation](https://docs.rs/libsecp256k1)\n\nSECP256K1 implementation with `no_std` support. Currently we have implementation for:\n\n* Convert a private key to a public key.\n* Sign messages.\n* Signature verification.\n* Public key recovery from signed messages.\n* Shared secrets.\n\n## Feature flags\n\n* `std`: If disabled, works in `no_std` environment. Enabled by default.\n* `hmac`: Add certain features that requires the HMAC-DRBG. This includes\n  signing. Enabled by default.\n* `static-context`: To speed up computation, the library uses a pre-computed\n  table context for many `ecmult` operations. This feature flag puts the context\n  directly as static variables. If disabled, the context must be created from\n  heap manually. Increases binary size, enabled by default.\n* `lazy-static-context`: Instead of storing the pre-computed table context as\n  static variables, store it as a variable that dynamically allocates the\n  context in heap via `lazy_static`. It overwrites `static-context`. Impact\n  bootstrap performance and only available in `std`, disabled by default.\n\n## Development workflow\n\n### Branch\n\nThis repository uses `develop` branch for development. Changes are periodically\nmerged to `master` branch.\n\n### Pull request\n\nAll changes (except new releases) are handled through pull requests. Please open\nyour PR against `develop` branch.\n\n### Versioning\n\n`libsecp256k1` follows [Semantic Versioning](https://semver.org/). An unreleased crate\nin the repository will have the `-dev` suffix in the end, and we do rolling\nreleases.\n\nWhen you make a pull request against this repository, please also update the\naffected crates' versions, using the following rules. Note that the rules should\nbe applied recursively -- if a change modifies any upper crate's dependency\n(even just the `Cargo.toml` file), then the upper crate will also need to apply\nthose rules.\n\nAdditionally, if your change is notable, then you should also modify the\ncorresponding `CHANGELOG.md` file, in the \"Unreleased\" section.\n\nIf the affected crate already has `-dev` suffix:\n\n* If your change is a patch, then you do not have to update any versions.\n* If your change introduces a new feature, please check if the local version\n  already had its minor version bumped, if not, bump it.\n* If your change modifies the current interface, please check if the local\n  version already had its major version bumped, if not, bump it.\n\nIf the affected crate does not yet have `-dev` suffix:\n\n* If your change is a patch, then bump the patch version, and add `-dev` suffix.\n* If your change introduces a new feature, then bump the minor version, and add\n  `-dev` suffix.\n* If your change modifies the current interface, then bump the major version,\n  and add `-dev` suffix.\n\nIf your pull request introduces a new crate, please set its version to\n`1.0.0-dev`.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fparitytech%2Flibsecp256k1","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fparitytech%2Flibsecp256k1","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fparitytech%2Flibsecp256k1/lists"}