Orion 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.
Experimental support (with experimental feature enabled):
This library has not undergone any third-party security audit. Usage is at own risk.
Orion uses formally verified arithmetic, generated by Fiat Crypto, for the X25519 and Poly1305 implementations.
See the SECURITY.md regarding recommendations on correct use, reporting security issues and more. Additional information about security regarding Orion is available in the wiki.
Rust 1.87 or later is supported however, the majority of testing happens with latest stable Rust.
MSRV may be changed at any point and will not be considered a SemVer breaking change.
default/safe_api: All functionality, requires std.serde: Automatically enables the alloc feature.alloc: Argon2 in hazardous when default/safe_api is not available.no_std: Implicit feature that represents no heap allocations. Enabled by disabling default features and not selecting any additional features.zeroize: Toggles whether sensitive key material is zeroized internally. Enabled by default.experimental: These APIs may contain breaking changes in any non SemVer-breaking crate releases.ct-test: Exposes some internal functionality that is only relevant for test (used in orion-dudect).More detailed explanation of the features in the wiki.
Can be viewed here or built with:
RUSTDOCFLAGS='--cfg docsrs' cargo +nightly doc --no-deps --all-features
The wiki has details on how Orion is tested. To run all tests:
cargo test
Fuzzing is done using honggfuzz-rs in orion-fuzz. See orion-fuzz on how to start fuzzing Orion.
Constant-time execution tests can be found at orion-dudect and orion-sidefuzz.
An overview of the performance that can be expected from Orion can be seen here.
The library can be benchmarked with Criterion as below. All benchmarking tests are located in benches/.
cargo bench
Please refer to the CHANGELOG.md list.
Please refer to the guidelines in CONTRIBUTING.md for information on how to contribute to Orion.
Orion is licensed under the MIT license. See the LICENSE file for more information.
Overall
Maintained
Code review
crates.io
Latest release
Releases this year
(top 24 of 25)
9,818 followers · starred Dec 2024
619 followers · starred Apr 2025
7,962 followers · starred Nov 2021
707 followers · starred Oct 2023
Orion 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.
Experimental support (with experimental feature enabled):
This library has not undergone any third-party security audit. Usage is at own risk.
Orion uses formally verified arithmetic, generated by Fiat Crypto, for the X25519 and Poly1305 implementations.
See the SECURITY.md regarding recommendations on correct use, reporting security issues and more. Additional information about security regarding Orion is available in the wiki.
Rust 1.87 or later is supported however, the majority of testing happens with latest stable Rust.
MSRV may be changed at any point and will not be considered a SemVer breaking change.
default/safe_api: All functionality, requires std.serde: Automatically enables the alloc feature.alloc: Argon2 in hazardous when default/safe_api is not available.no_std: Implicit feature that represents no heap allocations. Enabled by disabling default features and not selecting any additional features.zeroize: Toggles whether sensitive key material is zeroized internally. Enabled by default.experimental: These APIs may contain breaking changes in any non SemVer-breaking crate releases.ct-test: Exposes some internal functionality that is only relevant for test (used in orion-dudect).More detailed explanation of the features in the wiki.
Can be viewed here or built with:
RUSTDOCFLAGS='--cfg docsrs' cargo +nightly doc --no-deps --all-features
The wiki has details on how Orion is tested. To run all tests:
cargo test
Fuzzing is done using honggfuzz-rs in orion-fuzz. See orion-fuzz on how to start fuzzing Orion.
Constant-time execution tests can be found at orion-dudect and orion-sidefuzz.
An overview of the performance that can be expected from Orion can be seen here.
The library can be benchmarked with Criterion as below. All benchmarking tests are located in benches/.
cargo bench
Please refer to the CHANGELOG.md list.
Please refer to the guidelines in CONTRIBUTING.md for information on how to contribute to Orion.
Orion is licensed under the MIT license. See the LICENSE file for more information.
Overall
Maintained
Code review
crates.io
Latest release
Releases this year
(top 24 of 25)
9,818 followers · starred Dec 2024
619 followers · starred Apr 2025
7,962 followers · starred Nov 2021
707 followers · starred Oct 2023