horcrux/README.md

51 lines
1.3 KiB
Markdown
Raw Normal View History

2020-12-12 22:29:54 +00:00
# The Horcrux project
This tool allows you to securely store your data by encrypting the content and splitting it into several files.
2020-12-14 11:44:48 +00:00
#### Please note
I'm aware this implementation is not memory efficient with large files.
I'm working on the optimization, but I'm not going to make it in time. :(
2020-12-12 22:29:54 +00:00
## Usage
To encrypt a file use the following syntax:
```horcrux create -n <horcrux count> <input path> <output path>```
- `-n <horcrux count>`: number of files the encrypted data will be split into.
- `<input path>`: file to encrypt.
- `<output path>`: folder where to save the encrypted files.
To decrypt a file use the following syntax:
```horcrux load -k <decryption key> <input files> <output file>```
- `-k <decryption key>`: provide the encryption key, base64 encoded.
- `<input files>`: horcrux chunks to be reassembled. Order matters :)
- `<output file>`: decrypted data.
## Compile
This tool is compiled using Cmake and it has been tested with gcc-10 on linux.
Use the following commands to compile the tool:
```
mkdir build && cd build
cmake ..
make
```
### Dependencies
`horcrux` needs OpenSSL-1.1 or a newer version.
## Test
GTest unit tests are available.
You can run `make test` from the build directory, or use `test/horcrux_test` for a more verbose output.
## Install
`make install` will install `horcrux` to `/usr/local/bin` by default.