chop -> encrypt -> (?) -> decrypt -> merge
Choppy partitions files and encrypts using symmetric authenticated cryptography. After decryption, embedded metadata provides for the original input file to be recreated and verified.
- selectable number of partitions and randomized file size
- secure cryptographic key/password input or via file
- sequential numeric or randomized file names
- encrypted file chunks can have name and extension altered with no detriment to recreating input file
- chunks from multiple files can be located within the same directory and the merge command will locate and reassemble original input files
All cryptographic operations are handled by the pyca-cryptography library. My knowledge of cryptography is limited but I know enough to not write my own crypto functions.
Using pip:
pip install choppy
Without pip - clone repository:
python setup.py install
See Usage for advanced use and expanded options.
generate cryptographic key file (key.txt)
choppy gen -k
create 10 partitions of infile.txt, randomize partition size by 50% and encrypt with key file
choppy chop infile.txt -n 10 -w 50 --use-key -i key.txt
decrypt partitions and merge to reassemble original file
choppy merge *.chp.* --use-key -i key.txt
- Python 3.6 or greater
- cryptography 2.1.3
choppy is released under the BSD 2-clause license. See LICENSE for details.