Crates.io | crypto_proto |
lib.rs | crypto_proto |
version | 0.4.0 |
source | src |
created_at | 2018-08-30 14:58:47.957566 |
updated_at | 2018-09-13 14:22:44.997789 |
description | This library provides abstractions for cryptographic primitives and higher-level implementations based on them |
homepage | |
repository | https://github.com/KizzyCode/crypto_proto |
max_upload_size | |
id | 82121 |
size | 1,743,701 |
Welcome to my crypto_proto
-library 🎉
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.3Most algorithms can be disabled independently from each other by using a custom feature-set (see Cargo.toml
).
libsodium for the cryptographic algorithms,
pkg-config to find libsodium and my
etrace
-crate for error-handling.
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.