diff --git a/.gitignore b/.gitignore index ed8ebf5..7dfe6d7 100644 --- a/.gitignore +++ b/.gitignore @@ -1 +1,2 @@ -__pycache__ \ No newline at end of file +__pycache__ +testcases.txt \ No newline at end of file diff --git a/Readme.md b/Readme.md index 39b2988..3330307 100644 --- a/Readme.md +++ b/Readme.md @@ -1,66 +1,72 @@ # Splitted Secret The purpose of this software is to splitt a secret over multiple people. Just if a defined amount of this people meet together they can encrypt the secret and have access to it. -# testing -```bash -python scripts/main.py --mode cleanup && -echo "werewrw" > data/decrypted/main_data/test123.txt -echo "werewrw" > data/decrypted/main_data/test124.txt -mkdir data/decrypted/main_data/folder -echo "werewrw" > data/decrypted/main_data/folder/test124.txt +## requirements -python scripts/main.py --amount 3 --quota 50 --mode encrypt --add-user-information --master-password "ewrwerwerew" << END_OF_INPUTS -alpha bravo -123123812908 -asfdasd@asdskjd.de -street in straat -charlie delta -1888888 -sadasfdasd@asdskjd.de -street in strutt -echo2 foxtrott -99999999 -asfdasd@sdskjd.de -street in strasdlasöd -END_OF_INPUTS -python scripts/main.py --mode decrypt --master-password "ewrwerwerew" +### system +This software is developed for and on a [Arch Linux](https://archlinux.org/) system. +### setup -python scripts/main.py --mode cleanup --file-types decrypted && -python scripts/main.py --mode decrypt --user "1" --user-password "Y4GYTEW80SCQQDTIKOJ6YNCIP6MBBEM68SCKBAA1VWAQFRSPNGHEBKHSFZQENDRB" << END_OF_INPUTS -2 -VGCQPW2LIKJ7SDFFLUZXBXGFPZ6L8RGPTS7TLCNN9GLR82RPHRSN34YZUXF0L27V -END_OF_INPUTS +Before executing the script it may be necessary to install the following software packages: + +```bash +pacman -S gpg tar python pip python-pip +pip install numpy ``` -# Requirements to know -- Amount of People -- How much people need to reunite for decrypting +## commands -# Requirements to implement -- Plattform independend -- easy to use +## cleanup data + +### delete all data + +To delete all data execute: -# required software ```bash - pip install numpy - gpg - ecryptfs-utils - ecryptfs-simple - python - pip +python scripts/main.py --mode cleanup ``` +### delete decrypted data +To delete all encrypted data execute: + +```bash +python scripts/main.py --mode cleanup --file-types decrypted +``` + +### delete all encrypted data +To delete all encrypted data execute: + +```bash +python scripts/main.py --mode cleanup --file-types encrypted +``` + +## decrypt + +### decrypt automatic (todo) +To decrypt the data for a defined user type in: + +```bash +python scripts/main.py --mode decrypt +``` + +### decrypt defined user +To decrypt the data for a defined user type in: + +```bash +python scripts/main.py --mode decrypt --user "<>" +``` + +## encrypt + +### encrypt all data + +```bash +python scripts/main.py --amount 3 --quota 50 --mode encrypt --add-user-information --master-password "{{master_password}}" +``` + +### encrypt master-password fuile + ## todo -- implement tails setup script - add data-input attribut - add data-output attribut -- write scenario test - -## Further Information -- https://www.tutorialspoint.com/python/python_command_line_arguments.htm -- https://docs.python.org/3/library/argparse.html#module-argparse -- https://wiki.ubuntuusers.de/GoCryptFS/ -- https://pynative.com/python-generate-random-string/ -- https://www.studimup.de/abitur/stochastik/anzahl-der-m%C3%B6glichketen-berechnen-kombinatorik/ -- https://numpy.org/doc/stable/reference/generated/numpy.base_repr.html?highlight=base_repr#numpy.base_repr -- https://linuxconfig.org/how-to-create-compressed-encrypted-archives-with-tar-and-gpg \ No newline at end of file +- write scenario test \ No newline at end of file