Skip to main content

Crate vitaminc

Crate vitaminc 

Source
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,random

Or, if you only need a specific capability, you can install a crate directly:

cargo add vitaminc-protected

§Testing

Prerequisites:

To run the tests:

  • Start localstack (typically done by running localstack start from the shell)
  • cargo test

§Features and sub-crates

FeatureSourceCrates.ioDocumentation
aeadvitaminc-aeadcrates.iodocs.rs
async-traitsvitaminc-async-traitscrates.iodocs.rs
encryptvitaminc-encryptcrates.iodocs.rs
kmsvitaminc-kmscrates.iodocs.rs
passwordvitaminc-passwordcrates.iodocs.rs
permutationvitaminc-permutationcrates.iodocs.rs
protectedvitaminc-protectedcrates.iodocs.rs
randomvitaminc-randomcrates.iodocs.rs
traitsvitaminc-traitscrates.iodocs.rs

Re-exports§

pub use vitaminc_aead as aead;aead
pub use vitaminc_async_traits as async_traits;async-traits
pub use vitaminc_encrypt as encrypt;encrypt
pub use vitaminc_kms as aws_kms;aws-kms
pub use vitaminc_permutation as permutation;permutation
pub use vitaminc_protected as protected;protected
pub use vitaminc_random as random;random
pub use vitaminc_traits as traits;traits