{"id":13438840,"url":"https://github.com/orion-rs/orion","last_synced_at":"2026-01-15T22:20:24.043Z","repository":{"id":39962819,"uuid":"120498667","full_name":"orion-rs/orion","owner":"orion-rs","description":"Usable, easy and safe pure-Rust crypto","archived":false,"fork":false,"pushed_at":"2026-01-08T19:15:10.000Z","size":17429,"stargazers_count":709,"open_issues_count":18,"forks_count":54,"subscribers_count":8,"default_branch":"master","last_synced_at":"2026-01-13T03:35:53.018Z","etag":null,"topics":["aead","argon2","blake2b","chacha20-poly1305","crypto","cryptography","fips203","hmac","hpke","kem","key-committing","ml-kem","orion","pqc","pure-rust","rust","sha3","x-wing","x25519","xchacha20-poly1305"],"latest_commit_sha":null,"homepage":"","language":"Rust","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/orion-rs.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":"SECURITY.md","support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2018-02-06T17:45:01.000Z","updated_at":"2026-01-12T16:46:32.000Z","dependencies_parsed_at":"2023-02-05T23:02:26.971Z","dependency_job_id":"629c700c-e601-469b-a726-5144c2c4e577","html_url":"https://github.com/orion-rs/orion","commit_stats":{"total_commits":1465,"total_committers":18,"mean_commits":81.38888888888889,"dds":0.04436860068259385,"last_synced_commit":"cb71e59d0b5e6ce26409acd4690033d084c0a919"},"previous_names":["brycx/orion"],"tags_count":58,"template":false,"template_full_name":null,"purl":"pkg:github/orion-rs/orion","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/orion-rs%2Forion","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/orion-rs%2Forion/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/orion-rs%2Forion/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/orion-rs%2Forion/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/orion-rs","download_url":"https://codeload.github.com/orion-rs/orion/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/orion-rs%2Forion/sbom","scorecard":{"id":712394,"data":{"date":"2025-08-11","repo":{"name":"github.com/orion-rs/orion","commit":"3458003621ce52b96e430117a4492038ede6cf20"},"scorecard":{"version":"v5.2.1-40-gf6ed084d","commit":"f6ed084d17c9236477efd66e5b258b9d4cc7b389"},"score":8.8,"checks":[{"name":"Dangerous-Workflow","score":10,"reason":"no dangerous workflow patterns detected","details":null,"documentation":{"short":"Determines if the project's GitHub Action workflows avoid dangerous patterns.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#dangerous-workflow"}},{"name":"Maintained","score":10,"reason":"30 commit(s) and 1 issue activity found in the last 90 days -- score normalized to 10","details":null,"documentation":{"short":"Determines if the project is \"actively maintained\".","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#maintained"}},{"name":"Security-Policy","score":10,"reason":"security policy file detected","details":["Info: security policy file detected: SECURITY.md:1","Info: Found linked content: SECURITY.md:1","Info: Found disclosure, vulnerability, and/or timelines in security policy: SECURITY.md:1","Info: Found text in security policy: SECURITY.md:1"],"documentation":{"short":"Determines if the project has published a security policy.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#security-policy"}},{"name":"Code-Review","score":8,"reason":"Found 11/13 approved changesets -- score normalized to 8","details":null,"documentation":{"short":"Determines if the project requires human code review before pull requests (aka merge requests) are merged.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#code-review"}},{"name":"CII-Best-Practices","score":0,"reason":"no effort to earn an OpenSSF best practices badge detected","details":null,"documentation":{"short":"Determines if the project has an OpenSSF (formerly CII) Best Practices Badge.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#cii-best-practices"}},{"name":"Packaging","score":-1,"reason":"packaging workflow not detected","details":["Warn: no GitHub/GitLab publishing workflow detected."],"documentation":{"short":"Determines if the project is published as a package that others can easily download, install, easily update, and uninstall.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#packaging"}},{"name":"Binary-Artifacts","score":10,"reason":"no binaries found in the repo","details":null,"documentation":{"short":"Determines if the project has generated executable (binary) artifacts in the source repository.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#binary-artifacts"}},{"name":"Token-Permissions","score":10,"reason":"GitHub workflow tokens follow principle of least privilege","details":["Info: jobLevel 'contents' permission set to 'read': .github/workflows/workflow_audit.yml:18","Info: jobLevel 'actions' permission set to 'read': .github/workflows/workflow_audit.yml:19","Info: topLevel 'contents' permission set to 'read': .github/workflows/audit_check.yml:4","Info: topLevel 'contents' permission set to 'read': .github/workflows/code_coverage.yml:11","Info: topLevel 'contents' permission set to 'read': .github/workflows/daily_tests.yml:3","Info: topLevel 'contents' permission set to 'read': .github/workflows/lints.yml:5","Info: topLevel 'contents' permission set to 'read': .github/workflows/test.yml:14","Info: found token with 'none' permissions: .github/workflows/workflow_audit.yml:1","Info: no jobLevel write permissions found"],"documentation":{"short":"Determines if the project's workflows follow the principle of least privilege.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#token-permissions"}},{"name":"License","score":10,"reason":"license file detected","details":["Info: project has a license file: LICENSE:0","Info: FSF or OSI recognized license: MIT License: LICENSE:0"],"documentation":{"short":"Determines if the project has defined a license.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#license"}},{"name":"Signed-Releases","score":-1,"reason":"no releases found","details":null,"documentation":{"short":"Determines if the project cryptographically signs release artifacts.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#signed-releases"}},{"name":"Fuzzing","score":0,"reason":"project is not fuzzed","details":["Warn: no fuzzer integrations found"],"documentation":{"short":"Determines if the project uses fuzzing.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#fuzzing"}},{"name":"Branch-Protection","score":-1,"reason":"internal error: error during branchesHandler.setup: internal error: githubv4.Query: Resource not accessible by integration","details":null,"documentation":{"short":"Determines if the default and release branches are protected with GitHub's branch protection settings.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#branch-protection"}},{"name":"Vulnerabilities","score":10,"reason":"0 existing vulnerabilities detected","details":null,"documentation":{"short":"Determines if the project has open, known unfixed vulnerabilities.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#vulnerabilities"}},{"name":"Pinned-Dependencies","score":10,"reason":"all dependencies are pinned","details":["Info:  14 out of  14 GitHub-owned GitHubAction dependencies pinned","Info:  14 out of  14 third-party GitHubAction dependencies pinned"],"documentation":{"short":"Determines if the project has declared and pinned the dependencies of its build process.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#pinned-dependencies"}},{"name":"SAST","score":10,"reason":"SAST tool is run on all commits","details":["Info: all commits (30) are checked with a SAST tool"],"documentation":{"short":"Determines if the project uses static code analysis.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#sast"}}]},"last_synced_at":"2025-08-22T08:31:45.104Z","repository_id":39962819,"created_at":"2025-08-22T08:31:45.104Z","updated_at":"2025-08-22T08:31:45.104Z"},"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28472626,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-15T22:13:38.078Z","status":"ssl_error","status_checked_at":"2026-01-15T22:12:11.737Z","response_time":62,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.6:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"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":["aead","argon2","blake2b","chacha20-poly1305","crypto","cryptography","fips203","hmac","hpke","kem","key-committing","ml-kem","orion","pqc","pure-rust","rust","sha3","x-wing","x25519","xchacha20-poly1305"],"created_at":"2024-07-31T03:01:08.896Z","updated_at":"2026-01-15T22:20:24.038Z","avatar_url":"https://github.com/orion-rs.png","language":"Rust","readme":"# orion\n[![Daily tests](https://github.com/orion-rs/orion/actions/workflows/daily_tests.yml/badge.svg)](https://github.com/orion-rs/orion/actions/workflows/daily_tests.yml) [![dudect](https://github.com/orion-rs/orion-dudect/actions/workflows/weekly.yml/badge.svg)](https://github.com/orion-rs/orion-dudect/actions/workflows/weekly.yml) [![Audit](https://github.com/orion-rs/orion/actions/workflows/audit_check.yml/badge.svg)](https://github.com/orion-rs/orion/actions/workflows/audit_check.yml) [![codecov](https://codecov.io/gh/orion-rs/orion/branch/master/graph/badge.svg)](https://codecov.io/gh/orion-rs/orion) [![Documentation](https://docs.rs/orion/badge.svg)](https://docs.rs/orion/) [![Crates.io](https://img.shields.io/crates/v/orion.svg)](https://crates.io/crates/orion) [![Safety Dance](https://img.shields.io/badge/unsafe-forbidden-success.svg)](https://github.com/rust-secure-code/safety-dance/) [![MSRV](https://img.shields.io/badge/MSRV-1.86-informational.svg)](https://img.shields.io/badge/MSRV-1.86-informational) [![Matrix](https://img.shields.io/matrix/orion-rs:matrix.org.svg?logo=matrix)](https://matrix.to/#/#orion-rs:matrix.org)\n\n### About\nOrion is a cryptography library written in pure Rust. It aims to provide easy and usable crypto while trying to minimize the use of unsafe code. You can read more about Orion in the [wiki](https://github.com/orion-rs/orion/wiki).\n\nCurrently supports:\n* **AEAD**: (X)ChaCha20-Poly1305.\n* **Hashing**: BLAKE2b, SHA2, SHA3.\n* **XOF**: SHAKE128, SHAKE256.\n* **KDF**: HKDF, PBKDF2, Argon2i, scrypt.\n* **ECDH**: X25519.\n* **MAC**: HMAC, Poly1305.\n* **Stream ciphers**: (X)ChaCha20.\n* **KEM**: X-Wing, ML-KEM, DHKEM(X25519, HKDF-SHA256).\n* **HPKE**: \n    - DHKEM(X25519, HKDF-SHA256), HKDF-SHA256, ChaCha20Poly1305\n\nExperimental support (with `experimental` feature enabled):\n* **Committing AEAD**: (X)ChaCha20-Poly1305-BLAKE2b.\n\n### Security\nThis library has **not undergone any third-party security audit**. Usage is at **own risk**.\n\nOrion uses formally verified arithmetic, generated by Fiat Crypto, for the X25519 and Poly1305 implementations.\n\nSee the [SECURITY.md](https://github.com/orion-rs/orion/blob/master/SECURITY.md) regarding recommendations on correct use, reporting security issues and more. Additional information about security regarding Orion is available in the [wiki](https://github.com/orion-rs/orion/wiki/Security).\n\n### Minimum Supported Rust Version\nRust 1.86 or later is supported however, the majority of testing happens with latest stable Rust.\n\nMSRV may be changed at any point and will not be considered a SemVer breaking change.\n\n### Crate Features\n\n- `default`/`safe_api`: All functionality, requires `std`.\n- `serde`: Automatically enables the `alloc` feature.\n- `alloc`: Argon2i in `hazardous` when `default`/`safe_api` is not available.\n- `no_std`: Implicit feature that represents no heap allocations. Enabled by disabling default features and not selecting any additional features.\n- `experimental`: These APIs may contain breaking changes in any non SemVer-breaking crate releases.\n\nMore detailed explanation of the features in the [wiki](https://github.com/orion-rs/orion/wiki/Crate-features).\n\n### Documentation\nCan be viewed [here](https://docs.rs/orion) or built with:\n\n```\nRUSTDOCFLAGS='--cfg docsrs' cargo +nightly doc --no-deps --all-features\n```\n\n### Tests and Fuzzing\nThe [wiki](https://github.com/orion-rs/orion/wiki/Testing-suite) has details on how Orion is tested. To run all tests:\n```\ncargo test\n```\n\nFuzzing is done using [honggfuzz-rs](https://github.com/rust-fuzz/honggfuzz-rs) in [orion-fuzz](https://github.com/orion-rs/orion-fuzz). See [orion-fuzz](https://github.com/orion-rs/orion-fuzz) on how to start fuzzing Orion.\n\nConstant-time execution tests can be found at [orion-dudect](https://github.com/orion-rs/orion-dudect) and [orion-sidefuzz](https://github.com/orion-rs/orion-sidefuzz).\n\n### Benchmarks\nAn overview of the performance that can be expected from Orion can be [seen here](https://github.com/orion-rs/orion/wiki/Benchmarks).\n\nThe library can be benchmarked with [Criterion](https://github.com/bheisler/criterion.rs) as below. All benchmarking tests are located in `benches/`.\n```\ncargo bench\n```\n### Changelog\nPlease refer to the [CHANGELOG.md](https://github.com/orion-rs/orion/blob/master/CHANGELOG.md) list.\n\n### Contributing\nPlease refer to the guidelines in [CONTRIBUTING.md](https://github.com/orion-rs/orion/blob/master/CONTRIBUTING.md) for information on how to contribute to Orion.\n\n### License\nOrion is licensed under the MIT license. See the [`LICENSE`](LICENSE) file for more information.\n","funding_links":[],"categories":["Libraries","库和框架","Rust","库 Libraries","Frameworks and Libs","Cryptography"],"sub_categories":["Cryptography","Rust","密码学 Cryptography"],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Forion-rs%2Forion","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Forion-rs%2Forion","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Forion-rs%2Forion/lists"}