Uses old Rust 2015
0.4.0 |
|
---|---|
0.3.5 |
|
0.3.0 |
|
0.2.6 |
|
#21 in #sha-512
1.5MB
2K
SLoC
crypto_proto
Welcome to my crypto_proto
-library 🎉
What this library is:
This library provides some abstractions for cryptographic primitives and high-level primitives based upon them. The low-level implementations are provided by libsodium.
These traits and algorithms are implemented:
Cipher
/AeadCipher
: ChaCha20 IETF, ChaCha20Poly1305 IETF, AES-GCMCipherStream
: NoiseSocket (only the symmetric-encrypted payloads) (with either AES-GCM or ChaCha20Poly1305)Hash
: SHA-256, SHA-512, Blake2bKdf
: HKDF Extract & Expand (with either HMAC-SHA-256 or HMAC-SHA-512)Mac
: HMAC (with either SHA-256 or SHA-512), Poly1305Pbkdf
: Argon2i v1.3, Argon2id v1.3
Most algorithms can be disabled independently from each other by using a custom feature-set (see Cargo.toml
).
Dependencies
libsodium for the cryptographic algorithms,
pkg-config to find libsodium and my
etrace
-crate for error-handling.
Build Documentation and Library:
To build and open the documentation, go into the project's root-directory and run cargo doc --release --open
To build this library, change into the projects root-directory and run cargo build --release
; you can find the build
in target/release
.
You should also always run the tests using cargo test
. Use cargo test -- --ignored
to also run the expensive
tests.