1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50
//! # Tindercrypt //! //! Tindercrypt is a library that supports data encryption with symmetric //! cryptographic keys or passwords/passphrases. It supports [AES256-GCM] and //! [ChaCha20-Poly1305] for encryption/decryption, and [PBKDF2] for key //! derivation. These cryptographic primitives are provided by the [Ring] //! crypto library. //! //! Tindercrypt's main goal is to provide a safe and easy API for data //! encryption. The user of this library simply chooses an encryption algorithm //! and provides a key/passphrase to encrypt their data. To decrypt their data, //! they provide the same key/passphrase. Behind the scenes, Tindercrypt //! generates the necessary encryption metadata (salts, nonces, etc.) and //! bundles them with the encrypted data, so that it can retrieve them when //! decrypting the data later on. //! //! You can learn how Tindercrypt handles encryption metadata in the //! [`metadata`] module. //! //! [AES256-GCM]: https://en.wikipedia.org/wiki/Galois/Counter_Mode //! [ChaCha20-Poly1305]: https://tools.ietf.org/html/rfc7539 //! [PBKDF2]: https://en.wikipedia.org/wiki/PBKDF2 //! [Ring]: https://github.com/briansmith/ring //! [`metadata`]: metadata/index.html #![deny( warnings, missing_copy_implementations, missing_debug_implementations, missing_docs, trivial_casts, trivial_numeric_casts, unsafe_code, unstable_features, unused_import_braces, unused_qualifications, unused_extern_crates, unused_must_use, unused_results, variant_size_differences )] pub mod aead; pub mod cryptors; pub mod errors; pub mod metadata; pub mod pbkdf2; #[path = "../proto/mod.rs"] pub mod proto; pub mod rand;