volaris_tools/lib.rs
1//! ## What is it?
2//!
3//! volaris-tools is a library used for managing the corecrypto logic behind volaris, and any applications that require easy integration with the volaris format.
4//!
5//! ## Security
6//!
7//! volaris-tools is built on top of volaris-crypto - which uses modern, secure and audited<sup>1</sup> AEADs for encryption and decryption.
8//!
9//! You may find the audits for both AES-256-GCM and XChaCha20-Poly1305 on [the NCC Group's website](https://research.nccgroup.com/2020/02/26/public-report-rustcrypto-aes-gcm-and-chacha20poly1305-implementation-review/).
10//!
11//! <sup>1</sup> Deoxys-II-256 does not have an official audit, so use it at your own risk
12//!
13//! ## Who uses Volaris-Tools?
14//!
15//! This library is implemented by [volaris](https://github.com/volar-is/volaris), a secure command-line file
16//! encryption utility.
17//!
18//! This crate was made to separate the logic away from the end-user application.
19//!
20//! It also allows for more things to be built on top of the corecrypto functionality, such as a GUI application.
21//!
22//!
23//! You can read more about volaris, volaris-crypto, volaris-tools and the technical details [in the project's main documentation](https://github.com/volar-is/volaris/)!
24//!
25
26// lints
27#![forbid(unsafe_code)]
28#![warn(
29 rust_2018_idioms,
30 non_ascii_idents,
31 unstable_features,
32 unused_imports,
33 unused_qualifications,
34 clippy::pedantic,
35 clippy::all
36)]
37#![allow(
38 clippy::module_name_repetitions,
39 clippy::similar_names,
40 clippy::needless_pass_by_value,
41 clippy::missing_panics_doc,
42 clippy::missing_errors_doc
43)]
44
45pub mod decrypt;
46pub mod encrypt;
47pub mod erase;
48pub mod erase_dir;
49pub mod hash;
50pub mod hasher;
51pub mod header;
52pub mod key;
53pub mod overwrite;
54pub mod pack;
55pub mod storage;
56pub mod unpack;
57
58pub mod utils;