Expand description

What is it?

Dexios-Domain is a library used for managing the core logic behind Dexios, and any applications that require easy integration with the Dexios format.

Security

Dexios-Domain is built on top of Dexios-Core - which uses modern, secure and audited1 AEADs for encryption and decryption.

You may find the audits for both AES-256-GCM and XChaCha20-Poly1305 on the NCC Group’s website.

1 Deoxys-II-256 does not have an official audit, so use it at your own risk

Who uses Dexios-Domain?

This library is implemented by Dexios, a secure command-line file encryption utility.

This crate was made to separate the logic away from the end-user application.

It also allows for more things to be built on top of the core functionality, such as a GUI application.

Donating

If you like my work, and want to help support Dexios, Dexios-Core or Dexios-Domain, feel free to donate! This is not necessary by any means, so please don’t feel obliged to do so.

XMR: 84zSGS18aHtT3CZjZUnnWpCsz1wmA5f65G6BXisbrvAiH7PxZpP8GorbdjAQYRtfeiANZywwUPjZcHu8eXJeWdafJQFK46G
BTC: bc1q8x0r7khrfj40qd0zr5xv3t9nl92rz2387pu48u
ETH: 0x9630f95F11dFa8703b71DbF746E5c83A31A3F2DD

You can read more about Dexios, Dexios-Core, Dexios-Domain and the technical details in the project’s main documentation!

Modules

This provides functionality for decryption that adheres to the Dexios format.

This provides functionality for encryption that adheres to the Dexios format.

This provides functionality for “shredding” a file.

This provides functionality for “shredding” a directory. It first traverses the directory, and then calls shred on all files.

This provides functionality for hashing a file with BLAKE3, using a stream reader to keep memory usage low.

This module contains all Dexios header-related functions, such as dumping the header, restoring a dumped header, or stripping it entirely.

This contains the actual logic for “shredding” a file.

This contains the logic for traversing a given directory, placing all of the files within a zip file, and encrypting the zip file. The temporary zip file is then erased with one pass.

This contains the logic for decrypting a zip file, and extracting each file to the target directory. The temporary zip file is then erased with one pass.