3 releases
| 0.1.0 |
|
|---|---|
| 0.1.0-pre4 | Nov 23, 2025 |
| 0.1.0-pre3 | Nov 20, 2025 |
| 0.1.0-pre2 | Sep 17, 2024 |
#402 in Cryptography
79 downloads per month
Used in 5 crates
(3 directly)
67KB
744 lines
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:
- 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 |
Dependencies
~0–13MB
~311K SLoC