2022-12-12 13:12:44 +01:00
# Split Secret
2022-12-08 14:08:07 +01:00
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.
2022-12-11 13:55:55 +01:00
## requirements
### system
2022-12-11 16:47:07 +01:00
This software is developed for and on an [Arch Linux ](https://archlinux.org/ ) system.
2022-12-11 13:55:55 +01:00
### setup
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
```
## commands
## cleanup data
2022-12-15 09:33:30 +01:00
### cleanup for user
To delete all data which isn't necessary for the user:
```bash
python scripts/main.py --mode cleanup --user "< < user > >"
```
2022-12-11 13:55:55 +01:00
### delete all data
To delete all data execute:
```bash
python scripts/main.py --mode cleanup
```
### delete decrypted data
2022-12-14 00:31:46 +01:00
To delete all decrypted data execute:
2022-12-11 13:55:55 +01:00
```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
```
2022-12-13 15:55:01 +01:00
## decrypt
2022-12-11 13:55:55 +01:00
2022-12-11 14:55:17 +01:00
### decrypt automatic
2022-12-11 18:46:32 +01:00
To decrypt the data execute:
2022-12-11 13:55:55 +01:00
2022-12-09 20:54:33 +01:00
```bash
2022-12-13 15:55:01 +01:00
python scripts/main.py --mode decrypt-data
2022-12-09 20:54:33 +01:00
```
2022-12-08 14:08:07 +01:00
2022-12-13 16:23:24 +01:00
### decrypt accumulated file
2022-12-13 15:55:01 +01:00
To decrypt the accumulated datafile execute:
```bash
2022-12-13 16:23:24 +01:00
python scripts/main.py --mode decrypt --meta
2022-12-13 15:55:01 +01:00
```
2022-12-11 13:55:55 +01:00
### decrypt defined user
2022-12-11 18:46:32 +01:00
To decrypt the data for a defined user execute:
2022-12-08 14:08:07 +01:00
2022-12-09 11:19:21 +01:00
```bash
2022-12-11 13:55:55 +01:00
python scripts/main.py --mode decrypt --user "< < user_id > >"
2022-12-09 11:19:21 +01:00
```
2022-12-08 21:25:03 +01:00
2022-12-13 15:55:01 +01:00
### addtional instructions
2022-12-14 00:31:46 +01:00
In the [INSTRUCTIONS.md ](./INSTRUCTIONS.md ) file the master encrypter can leave additional instructions.
2022-12-13 15:55:01 +01:00
2022-12-11 13:55:55 +01:00
## encrypt
2022-12-11 18:46:32 +01:00
### encrypt main data
2022-12-11 13:55:55 +01:00
```bash
2022-12-11 18:46:32 +01:00
python scripts/main.py --secret-holders-amount "< < amount > >" --quota "< < quota > >" --mode encrypt --master-password "< < master_password > >" --input-directory "< < input_directory > >"
2022-12-11 13:55:55 +01:00
```
2022-12-14 00:31:46 +01:00
### generate encryption data
2022-12-11 18:46:32 +01:00
To encrypt the master-password file and to create the neccessary encrypted meta data execute:
```bash
2022-12-13 16:23:24 +01:00
python scripts/main.py --secret-holders-amount "< < amount > >" --quota "< < quota > >" --mode encrypt --add-user-information --master-password "< < master_password > >" --meta
2022-12-12 13:12:44 +01:00
```
2022-12-14 00:31:46 +01:00
### generate encryption data with user info
To encrypt the master-password file and to create the neccessary encrypted meta data with additional user infos data execute:
```bash
python scripts/main.py --secret-holders-amount "3" --quota "50" --mode encrypt --add-user-information --master-password "< < master_password > >" --meta --add-user-information < < EOL
Nutzer 1
+123456-1
test@test1.de
Addresse Nutzer 1
Zusätzliche Notizen Nutzer 1
Nutzer 2
+123456-2
test@test2.de
Addresse Nutzer 2
Zusätzliche Notizen Nutzer 2
Nutzer 3
+123456-3
test@test3.de
Addresse Nutzer 3
Zusätzliche Notizen Nutzer 3
EOL
```