| Crates.io | crypto_proto |
| lib.rs | crypto_proto |
| version | 0.4.0 |
| created_at | 2018-08-30 14:58:47.957566+00 |
| updated_at | 2018-09-13 14:22:44.997789+00 |
| 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.