asn1_der
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-512Kdf
: 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 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.