All Projects → brycx → Orion

brycx / Orion

Licence: mit
Usable, easy and safe pure-Rust crypto

Programming Languages

rust
11053 projects

Projects that are alternatives of or similar to Orion

Forge
A native implementation of TLS in Javascript and tools to write crypto-based and network-heavy webapps
Stars: ✭ 4,204 (+1751.98%)
Mutual labels:  cryptography, crypto, hmac
Securitydriven.inferno
✅ .NET crypto done right. Professionally audited.
Stars: ✭ 501 (+120.7%)
Mutual labels:  cryptography, crypto, hmac
Nsec
A modern and easy-to-use cryptographic library for .NET Core based on libsodium
Stars: ✭ 217 (-4.41%)
Mutual labels:  cryptography, crypto, hmac
Branca
🔑 Secure alternative to JWT. Authenticated Encrypted API Tokens for Go.
Stars: ✭ 147 (-35.24%)
Mutual labels:  cryptography, crypto
Padding Oracle Attacker
🔓 CLI tool and library to execute padding oracle attacks easily, with support for concurrent network requests and an elegant UI.
Stars: ✭ 136 (-40.09%)
Mutual labels:  cryptography, crypto
Tink
Tink is a multi-language, cross-platform, open source library that provides cryptographic APIs that are secure, easy to use correctly, and hard(er) to misuse.
Stars: ✭ 11,855 (+5122.47%)
Mutual labels:  cryptography, crypto
Password4j
Password4j is a user-friendly cryptographic library that supports Argon2, Bcrypt, Scrypt, PBKDF2 and various cryptographic hash functions.
Stars: ✭ 124 (-45.37%)
Mutual labels:  cryptography, argon2
Memguard
Secure software enclave for storage of sensitive information in memory.
Stars: ✭ 2,036 (+796.92%)
Mutual labels:  cryptography, crypto
Argon2rs
The pure-Rust password hashing library running on Argon2.
Stars: ✭ 157 (-30.84%)
Mutual labels:  cryptography, argon2
Armadillo
A shared preference implementation for confidential data in Android. Per default uses AES-GCM, BCrypt and HKDF as cryptographic primitives. Uses the concept of device fingerprinting combined with optional user provided passwords and strong password hashes.
Stars: ✭ 226 (-0.44%)
Mutual labels:  cryptography, crypto
Pkcs11interop
Managed .NET wrapper for unmanaged PKCS#11 libraries
Stars: ✭ 170 (-25.11%)
Mutual labels:  cryptography, crypto
Botan
Cryptography Toolkit
Stars: ✭ 1,798 (+692.07%)
Mutual labels:  cryptography, crypto
Demo Twilio Backend Nodejs
A sample backend that demonstrates how to generate a Virgil JWT and Twilio token used for authentication with the Virgil and Twilio services
Stars: ✭ 128 (-43.61%)
Mutual labels:  cryptography, crypto
Simon Speck
The SIMON and SPECK families of lightweight block ciphers. #nsacyber
Stars: ✭ 146 (-35.68%)
Mutual labels:  cryptography, crypto
Torchbear
🔥🐻 The Speakeasy Scripting Engine Which Combines Speed, Safety, and Simplicity
Stars: ✭ 128 (-43.61%)
Mutual labels:  cryptography, crypto
Practical Cryptography For Developers Book
Practical Cryptography for Developers: Hashes, MAC, Key Derivation, DHKE, Symmetric and Asymmetric Ciphers, Public Key Cryptosystems, RSA, Elliptic Curves, ECC, secp256k1, ECDH, ECIES, Digital Signatures, ECDSA, EdDSA
Stars: ✭ 2,400 (+957.27%)
Mutual labels:  cryptography, hmac
Pwnshop
Exploit Development, Reverse Engineering & Cryptography
Stars: ✭ 167 (-26.43%)
Mutual labels:  cryptography, crypto
Jssha
A JavaScript/TypeScript implementation of the complete Secure Hash Standard (SHA) family (SHA-1, SHA-224/256/384/512, SHA3-224/256/384/512, SHAKE128/256, cSHAKE128/256, and KMAC128/256) with HMAC.
Stars: ✭ 2,089 (+820.26%)
Mutual labels:  cryptography, hmac
Cryptogotchas
A collection of common (interesting) cryptographic mistakes.
Stars: ✭ 118 (-48.02%)
Mutual labels:  cryptography, crypto
Noise
.NET Standard 1.3 implementation of the Noise Protocol Framework (revision 33 of the spec)
Stars: ✭ 124 (-45.37%)
Mutual labels:  cryptography, crypto

orion

Tests Daily tests dudect Security Audit codecov Documentation Crates.io Safety Dance MSRV Matrix

About

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.

Currently supports:

  • AEAD: (X)ChaCha20Poly1305.
  • Stream ciphers: (X)ChaCha20.
  • KDF: HKDF-HMAC-SHA512, PBKDF2-HMAC-SHA512, Argon2i.
  • MAC: HMAC-SHA512, Poly1305.
  • Hashing: BLAKE2b, SHA512.

Security

This library has not undergone any third-party security audit. Usage is at own risk.

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.

Minimum Supported Rust Version

Rust 1.43 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.

Crate Features

By default Orion targets stable Rust with std. To use Orion in a no_std context, you need to specify the dependency as such:

orion = { version = "*", default-features = false }
# Replace * with the most recent version

When Orion is used in a no_std context, the high-level API is not available, since it relies on access to the systems random number generator.

Argon2i is not available with no_std by default, but can be by enabling the alloc feature:

[dependencies.orion]
version = "*" # Replace * with the most recent version
default-features = false
features = ["alloc"]

Documentation

Can be viewed here or built with:

cargo doc --no-deps

Tests and Fuzzing

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.

Benchmarks

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

Changelog

Please refer to the CHANGELOG.md list.

Contributing

Please refer to the guidelines in CONTRIBUTING.md for information on how to contribute to Orion.

License

Orion is licensed under the MIT license. See the LICENSE file for more information.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].