tink-rust
tink-rust copied to clipboard
Rust port of Tink cryptography library
As per [RUSTSEC-2022-0071](https://rustsec.org/advisories/RUSTSEC-2022-0071) > The maintainers of Rusoto advise that all its crates are deprecated. This includes the common crates `rusoto_core`, `rusoto_signature`, `rusoto_credential`, and service crates such as `rusoto_s3` and...
Although it's not yet included in a released version, the upstream [Tink Go code](https://github.com/google/tink/blob/master/go) has recently added [HPKE support to its hybrid implementation](https://github.com/google/tink/tree/master/go/hybrid/hpke). Also, [RFC 9180](https://datatracker.ietf.org/doc/html/rfc9180) was just published covering...
FYI, there's an open PR to add a `stream` module to the RustCrypto `aead` crate which [`StreamingAead`](https://github.com/project-oak/tink-rust/blob/main/tink/src/streamingaead.rs) could potentially benefit from: https://github.com/RustCrypto/traits/pull/436 In particular I think it'd be nice if...
Use tink_core::subtle::random::rng() to return an instance of the tink_core::subtle::random::Generator trait, which is just a combination of rand::RngCore and rand::CryptoRng. Use this rng() instance throughout the code. Drop a couple of...
Fixes #7
First, need a version of prost that includes https://github.com/danburkert/prost/commit/fdf9fdf730e2554a6c2bce693f7600e350358c7d. Then the obvious changes needed to make Tink `no_std` compatible would include the following (but there are bound to be others):...
The Rust port currently uses the [RustCrypto crates](https://github.com/RustCrypto) for underlying crypto functionality. It may be useful to support alternative underlying crypto libraries, such as: - [*ring*](https://github.com/briansmith/ring) - [mundane](https://github.com/google/mundane) - [sodiumoxide](https://github.com/sodiumoxide/sodiumoxide)...
Investigate whether there's a safe way in Rust to have a global registry of `KeyManager` instances that are typed to a particular primitive (rather than the catchall `enum Primitive`). See...
Upstream Go code additionally supports NIST P384 and P521.