Expand description
§Vitamin C
Vitamin C is like vitamins for your Rust code, especially code dealing with cryptography and managing sensitive data. It is actually a suite of crates that you can use individually or via this top-level crate via features.
Vitamin C is in active development and aims to address the following:
-
Misuse Resistance: it aims to make it difficult to write code that is insecure.
-
Verified: be verified using formal methods and testing and selects dependencies that are verified.
-
Vetted: be vetted by security experts and selects dependencies that are vetted.
-
Minimal: be minimal and only include what is necessary.
-
Consistent: have a consistent interface with everything in one place.
-
Compatible: support embedded (
no_std) and WASM targets. -
Fast: speed and security can be friends!
§Usage
You can install the top-level vitaminc crate and enable specific features:
cargo add vitaminc --features protected,randomOr, if you only need a specific capability, you can install a crate directly:
cargo add vitaminc-protected§Testing
Prerequisites:
- localstack is installed
To run the tests:
- Start localstack (typically done by running
localstack startfrom the shell) cargo test
§Features and sub-crates
| Feature | Source | Crates.io | Documentation |
|---|---|---|---|
aead | vitaminc-aead | ||
async-traits | vitaminc-async-traits | ||
encrypt | vitaminc-encrypt | ||
kms | vitaminc-kms | ||
password | vitaminc-password | ||
permutation | vitaminc-permutation | ||
protected | vitaminc-protected | ||
random | vitaminc-random | ||
traits | vitaminc-traits |
Re-exports§
pub use vitaminc_aead as aead;aeadpub use vitaminc_async_traits as async_traits;async-traitspub use vitaminc_encrypt as encrypt;encryptpub use vitaminc_kms as aws_kms;aws-kmspub use vitaminc_permutation as permutation;permutationpub use vitaminc_protected as protected;protectedpub use vitaminc_random as random;randompub use vitaminc_traits as traits;traits