# 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 ``` - `-n `: number of files the encrypted data will be split into. - ``: file to encrypt. - ``: folder where to save the encrypted files. To decrypt a file use the following syntax: ```horcrux load -k ``` - `-k `: provide the encryption key, base64 encoded. - ``: horcrux chunks to be reassembled. Order matters :) - ``: 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.