Adiatron is a command-line tool for encrypting and decrypting files of any size. It uses public-key cryptography for secure key exchange and authenticated streaming encryption to process large files with constant memory usage.
- Keys selection(TUI)
- Select usb drive for keys
- Progress bar
- Keys passphrase support
- --version flag
- A random symmetric stream key is generated
- The stream key is encrypted using the recipient's public key
- File data is encrypted in chunks using authenticated streaming encryption
- Each chunk is verified during decryption to prevent tampering
Here is an encrypted file structure:
[ box_nonce ][ boxed_stream_key ][ secretstream_header ][ encrypted chunks... ]- libsodium
- cmake
- tar(optional)
./build.shTo encrypt files:
./adiatron encrypt file.mp4To decrypt files:
./adiatron decrypt file.mp4.encType ./adiatron to display all examples and options.
Note
See Tips and Issues section for more information.
- Sender (Alice) generates a key pair and sends her public key to the receiver.
- Receiver (Bob) generates a key pair and sends his public key to the sender.
- Now:
- Alice encrypts messages using Bob's public key + her secret key.
- Bob decrypts messages using Alice's public key + his secret key.
Tip
Keys are automatically generated during file encryption or decryption.
However, you can generate keys in advance by using the command:
./adiatron keygen
Tip
You can create a short alias by adding this line to your shell configuration file(e.g., ~/.bashrc or ~/.zshrc):
alias adiatron=/path/to/adiatronThis project is licensed under MIT