horcrux/README.md
2020-12-14 12:45:32 +01:00

1.3 KiB

The Horcrux project

This tool allows you to securely store your data by encrypting the content and splitting it into several files.

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. :(

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.