1 unstable release

0.1.0-pre2 Sep 17, 2024

#2273 in Cryptography


Used in 2 crates

MIT license

75KB
1.5K SLoC

Vitamin C Traits

Crates.io Workflow Status

This crate is part of the Vitamin C framework to make cryptography code healthy.

This crate provides traits for hashing and encryption algorithms. These are very similar to the traits provided by the digest and other crates in the RustCrypto project with some key differences:

  • The Update trait takes a specific input type. This allows us to reason about the input type and its sensitivity.
  • The Output traits are generic over the output type. This allows us to reason about the output type and its sensitivity.
  • All types have a trait bound of [Controlled]
  • const generics are used to specify the output size of the hash instead of GenericArray.

Async versions of some of these traits are provided in the async-traits crate.

Acknowledgements

Shoutout to Tony Arcieri, Artyom Pavlov and all the contributors to the Rust Crypto project which was the inspiration for this crate.

CipherStash

Vitamin C is brought to you by the team at CipherStash.

License: MIT

Dependencies

~1.6–2.3MB
~54K SLoC